SLICE-8: Shopify dialect — detect/map Shopify export at the codec boundary + DOC-2/3 (SD-0002 §7.2) #32

Merged
ben.stull merged 11 commits from slice-8-shopify-dialect into main 2026-06-12 09:37:38 +00:00

11 Commits

Author SHA1 Message Date
ben.stull a851d3587c fix(products): conservative dialect detection — canonical-distinctive columns veto Shopify (SLICE-8 review)
ci / check (push) Has been cancelled
ci / check (pull_request) Has been cancelled
Addresses adversarial-review findings: a canonical file carrying a stray
Shopify-signature name (e.g. SEO Title) no longer misdetects as Shopify and
silently drops canonical Type / corrupts the weight unit (kg->g). A
canonical-distinctive column (Description/Variant Cost/Variant Weight/Google
Product Category/Variant Volume/Tax ID/Position) now vetoes detection, so
detection leans conservative (under-detection warns; over-detection corrupts).
Also closes the dual-named-column shadow (Body (HTML)+Description) and the
stale-weight-unit-on-clear case. Tests cover all three.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:36:09 -07:00
ben.stull cb6b5996f3 chore(products): SLICE-8 complete — bump v0.8.0; §12 traceability audited (SD-0002)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:28:18 -07:00
ben.stull 17f3b600fd test(e2e): e2e_import_shopify_dialect — Shopify export imports directly (PUC-6, SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:26:44 -07:00
ben.stull 6459e34480 docs(products): DOC-4 dialect-adapter notes (SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:24:44 -07:00
ben.stull 60a06de302 docs(products): DOC-2 column reference served at /api/products/columns.md (SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:24:05 -07:00
ben.stull 0aeccf7d2c feat(products-ui): Shopify 'mapped' label + format help links to column reference (PUC-6/PUC-11, SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:22:32 -07:00
ben.stull a00f5baaec test(products): INV-10 holds over a partial Shopify import (SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:21:34 -07:00
ben.stull f170950aec test(products): exhaustive Shopify->canonical mapping fixture (SD-0002 §6.5.1, SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:21:05 -07:00
ben.stull 0c7a76a305 feat(products): codec detects + maps Shopify dialect at the boundary (INV-17, SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:20:21 -07:00
ben.stull daa237dd59 feat(products): Shopify dialect adapter — header detection + canonical mapping (SD-0002 §6.5.1, SLICE-8)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:19:15 -07:00
ben.stull e16ec7cf94 docs(plan): SLICE-8 Shopify dialect implementation plan (SD-0002 §7.2)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-12 02:17:30 -07:00