The AFK half of the wayfinder ticket "Seed the dev store from the live
catalogue". Products, metafields and images still come from the CSV export —
the CSV re-hosts images for free — but collection membership cannot: the
Collection column is import-only, takes one collection per product, and this
catalogue runs 1.6 memberships per product across 16 collections.
- scripts/seed-dev-store.mjs (`npm run seed:dev-store`): creates each missing
collection with its members in one call and publishes it. Uses
CollectionCreateInput.sources because collectionAddProducts is deprecated at
2026-10, and publishes because collectionCreate leaves a collection
unpublished — invisible to the Storefront API the dev store exists to serve.
Idempotent, never deletes, reports handles it cannot find (which is how a
partial CSV import shows up), and is a dry run unless given --apply.
- assets/dev-store-seed.json: the baseline the seed is checked against and the
membership map it consumes — 61 products with option values, weights and
product types, 16 collections with 100 memberships, and the 10 metafield
definitions that must exist before the import.
- The ticket now records what the probes settled: the option shape is readable
from the Storefront API (all 61 use Option1 name=Title; 22 are `Default
Title`, 39 carry real values, so the import must not normalise), and the
repo's production credentials are Storefront-scoped only — `products`,
`collections` and `productsCount` are Access denied without read_products —
so the ticket's "Admin API script using the credentials the repo already
mints" was never available. A dev-store custom app is required instead.
The route from "mozimo.in displays Shopify products" to "mozimo.in sells them",
as a plan with a phase spine and gates, plus the open decision tickets that
still shape it and the evidence they rest on.
- .scratch/shopify-headless-commerce/: plan.md (phases and gates), map.md (the
wayfinder map), 10 open decision tickets
- CONTEXT.md: Storefront / Theme store / Cart / Parity vocabulary
- docs/adr/0001-0003: Checkout stays Shopify-hosted, one Variant per product,
the checkout domain stays shop.mozimo.in
- docs/research/ and docs/shopify-catalog-inventory.md: verified store facts,
the Cart API probe, and the catalogue inventory
Raw Shopify doc scrapes under .scratch/shopify-research/ are ignored: they are
working material, not record.