POC [03/16]: Taxonomy sync, anchor versioning, and species picker — API-7, TAX-1, TAX-2, TAX-3, API-8 #41

Open
opened 2026-09-07 06:19:30 +00:00 by grokbot_ty · 1 comment
Owner

Branch: poc (from gate-b after Gate B accepted)

Sprint: POC · Order 3/16 · Depends on: Gate C acceptance (#33–#38)

Acceptance (IMPL-PLAN): Taxonomy cache read/write + manufactured taxonomy_anchor/taxonomy_last_sync_at. Sync on publish when > 1h; anchor bumps only on real change. Species picker offers only Woo-synced species.

Test-SPEC case IDs: API-7, TAX-1, TAX-2, TAX-3, API-8

Same-PR tests: Tests-with-code — API contract test + integration tests with taxonomy mock. Anchor versioning, species list matches cache, validation module hash.

In scope:

  • POST /api/v1/admin/taxonomy/sync: pulls categories/attributes/tags; rebuilds cache; anchor bumps only on stored-subset hash change; 502 retains previous cache
  • Sync on publish when now - taxonomy_last_sync_at > 1 hour; stale picked id returns 422 with current options
  • Species picker offers only WooCommerce-synced species; no hardcoded fallback; new species selectable only after sync
  • Client reads taxonomy anchor; re-pulls full taxonomy only when anchor advances
  • GET /api/v1/validation/module returns hash and rules; submit mismatch returns 412 with fresh module

Out of scope:

  • Inference, Woo publish, settings UI, capture, backup

Done when / evidence: Integration tests green for API-7, TAX-1, TAX-2, TAX-3, API-8. Evidence path in commit message.

**Branch:** `poc` (from gate-b after Gate B accepted) **Sprint:** POC · Order 3/16 · Depends on: Gate C acceptance (#33–#38) **Acceptance (IMPL-PLAN):** Taxonomy cache read/write + manufactured taxonomy_anchor/taxonomy_last_sync_at. Sync on publish when > 1h; anchor bumps only on real change. Species picker offers only Woo-synced species. **Test-SPEC case IDs:** API-7, TAX-1, TAX-2, TAX-3, API-8 **Same-PR tests:** Tests-with-code — API contract test + integration tests with taxonomy mock. Anchor versioning, species list matches cache, validation module hash. **In scope:** - POST /api/v1/admin/taxonomy/sync: pulls categories/attributes/tags; rebuilds cache; anchor bumps only on stored-subset hash change; 502 retains previous cache - Sync on publish when now - taxonomy_last_sync_at > 1 hour; stale picked id returns 422 with current options - Species picker offers only WooCommerce-synced species; no hardcoded fallback; new species selectable only after sync - Client reads taxonomy anchor; re-pulls full taxonomy only when anchor advances - GET /api/v1/validation/module returns hash and rules; submit mismatch returns 412 with fresh module **Out of scope:** - Inference, Woo publish, settings UI, capture, backup **Done when / evidence:** Integration tests green for API-7, TAX-1, TAX-2, TAX-3, API-8. Evidence path in commit message.
grokbot_ty added this to the POC milestone 2026-09-07 06:19:30 +00:00
grokbot_ty added the pocpoc-seq-03 labels 2026-09-07 06:19:30 +00:00
Author
Owner

Verified in main @ 0c00d25:

✅ Taxonomy sync: 502 retains prior cache, anchor bumps on subset hash change (taxonomy.py:53,105)
✅ Sync on publish >1h stale (publish.py:49-55,170)
✅ Species picker: Woo-synced only, no hardcoded fallback (get_cached reads woo_categories)
✅ Client anchor re-pull (taxonomy.py:119-138)

⚠️ Remaining (tracked in #17, post-launch):

  • GET /validation/module endpoint with version hash
  • 412 response on hash mismatch with fresh module
  • Client-side module caching + re-validation on submit

Moving to post-launch for the validation module gap.

Verified in main @ 0c00d25: ✅ Taxonomy sync: 502 retains prior cache, anchor bumps on subset hash change (taxonomy.py:53,105) ✅ Sync on publish >1h stale (publish.py:49-55,170) ✅ Species picker: Woo-synced only, no hardcoded fallback (get_cached reads woo_categories) ✅ Client anchor re-pull (taxonomy.py:119-138) ⚠️ Remaining (tracked in #17, post-launch): - GET /validation/module endpoint with version hash - 412 response on hash mismatch with fresh module - Client-side module caching + re-validation on submit Moving to post-launch for the validation module gap.
grokbot_ty added post-launch and removed pocpoc-seq-03 labels 2026-09-24 16:32:31 +00:00
Sign in to join this conversation.
No Label post-launch
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Ty_Tech/SlabUploader#41