Products: bulk CSV import/export — the only data mechanism in the MVP #13
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Bulk CSV import/export: a merchant can add and update their storefront's
product data in bulk by importing a CSV file, and get the full catalog back
out as a CSV export — the only data mechanism in the Products MVP.
Problem / pain
There is no way to get product data into a storefront at all: the Products MVP
deliberately ships no in-app editing UI, so without bulk ingestion the catalog
epic (#12) cannot deliver any value. The pain is sharpest for merchants
arriving from another platform — their catalogs already live in spreadsheet
exports of hundreds of products, and re-keying them is a non-starter. It also
recurs after launch: price and description changes happen across the catalog
at once (a season, a supplier change), and one-at-a-time maintenance does not
match how merchants actually work their data.
Who feels it
Desired outcome / value
Product data flows into and out of a storefront in bulk: a merchant can
populate an empty catalog from a file, refresh it with a corrected file, and
extract the whole catalog at any time — so the catalog is never trapped in the
platform and never has to be hand-entered.
Acceptance — "done right"
duplicating them — the round-trip is lossless and idempotent.
merchant can act on.
Scope / non-goals
In: CSV import (add + update); CSV export.
Out: any other data mechanism (in-app forms, external integrations, bulk
APIs); scheduled or automated synchronization; product deletion semantics
beyond what the design decides the CSV carries.
Assumptions · constraints · dependencies
imports) and the kits Feature (kit data should ride the same mechanism).
type/feature, requires a Solution Design before an implementationplan (handbook §4.3 gate).
Source / signal
Operator ask, capture session
ecomm-0026(2026-06-10) — decomposition ofEpic #12 (originally captured in session
ecomm-0025).Priority (WSJF)
Value 8 · Time-criticality 5 · Opportunity-enablement 7 ÷ Size 4 ≈ 5.0 —
the sole ingestion path; nothing in the epic works without it →
priority/P1.Decomposition
Deferred — slicing belongs to the Feature's Solution Design (handbook §4.3).
Solution Design approved + graduated (brainstorming session ecomm-0030): SD-0002-products-bulk-csv-import-export — delivery plan SLICE-5…8 (§7.2); Claude Design hi-fi bundle at ui/designs/SD-0002-…. Ready for a /wgl-planning-and-executing session on SLICE-5.
Closing — the bulk CSV import/export mechanism is complete and PPE-green.
SLICE-8 (Shopify dialect) shipped via PR #32 (merge
e2d8b5c), the last of the slice set:PPE-green: v0.8.0 deployed to https://ecomm-ppe.wiggleverse.org (
/healthz→0.8.0); DOC-2 live at/api/products/columns.md. Release tagrelease/2026-06-12T02-41.Done at merge + PPE-green (handbook §9.1); shipped when v0.8.0 is promoted to prod (operator's gate). The SLICE-4 prod stand-up under
market.wiggleverse.orgremains the cursor's next infra stop.