A stored variant position is a CatalogVariant attribute, not a fields{} entry,
so the serializer emitted an empty Variant Position cell — which re-imports as
'reset to file order'. A non-sequential stored position (a merchant can import
explicit positions) then round-tripped to a spurious update, violating INV-12.
Emit str(variant.position) explicitly (like _write_image). The property-test
generator now assigns non-sequential positions to lock the regression, plus a
targeted test. Also wires isExportEnabled into ProductsPage (was dead code).
Both caught by the final code review.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
wiggleverse-ecomm
The clean implementation of Wiggleverse ecomm — a multi-tenant, OHM-grounded Shopify alternative.
This repo is greenfield. It was stood up fresh on 2026-06-10, superseding the
first-pass reference prototype at
wiggleverse-ecomm-prototype
(R01–R07, kept read-only as a reference for the rebuild).
Composition
This app (One Name ecomm, see app.json) is composed of:
| Repo | Role |
|---|---|
wiggleverse-ecomm |
code, in-repo specs/docs (this repo) |
wiggleverse-ecomm-content |
reviewed specs, archived plans, roadmap, version pin |
wiggleverse/session-history (ecomm/ subdir) |
session transcripts |
Status
SLICE-3 (storefront) of SD-0001 is in place on top of SLICE-1/2: the storefronts
domain (create + owner membership, INV-4's one-storefront guard with concurrent-create
refusal), POST /api/storefronts, the Create-storefront and Admin-shell screens, the
complete entry-routing rule (landing / create-storefront / admin), and the INV-1
whole-flow bootstrap test — all skinned to the Claude Design export
(wiggleverse-ecomm-content/ui/designs/ecomm-login-and-create-storefront-designs/),
which also re-skinned the SLICE-2 Landing + Sign-in screens. See
docs/BOOTSTRAP.md to run it locally. SLICE-4's deploy
contract is in place (versioned /healthz, backend-served SPA, SmtpMailer with
honest 502 on delivery failure); PPE provisioning + the bootstrap rehearsal are the
remaining SLICE-4 steps (BOOTSTRAP.md's PPE section is the runbook).