SLICE-3: storefront — create + INV-4 guard, Create/Admin screens, full entry routing (SD-0001 §7.2) #9

Merged
ben.stull merged 10 commits from slice-3-storefront into main 2026-06-11 05:47:03 +00:00
Owner

Implements SLICE-3 of SD-0001 v0.3.0 (§7.2):

  • storefronts domaincreate_storefront + owner membership (INV-5), INV-4 one-storefront guard with concurrent-create refusal (per-account pg_advisory_xact_lock; schema stays many-capable, R-5).
  • BFFPOST /api/storefronts (201 / 401 / 409 already_owns_storefront), _storefront_for seam now fed by the domain (verify//me carry the entry-routing answer).
  • Screens — Create-storefront (PUC-4/5/7) + Admin shell (PUC-8/9), and Landing + Sign-in re-skinned, all per the Claude Design export (wiggleverse-ecomm-content/ui/designs/ecomm-login-and-create-storefront-designs/): Wiggleverse tokens/fonts/marks + UI kit, 6-cell OTC input, cooldown countdown, honest state banners.
  • Entry routing complete — landing / create-storefront / admin (§6.5 table), verify response feeds the session directly.
  • Tests — scenario tests 14.01.0013/0015/0016/0025/0026/0027, PUC-5/7/8, INV-4 concurrency + schema-shape, and the INV-1 whole-flow bootstrap test. Gate (scripts/check.sh) green: 62 backend tests + frontend typecheck/build/vitest.
  • PUC-10 walked on localhost end to end (UI driven by browser: sign-up → code from dev log → create → admin → sign-out).

E2E browser tests remain deferred per §6.8 (UI still forms + text). Plan: docs/superpowers/plans/2026-06-10-slice-3-storefront.md (session 0024).

🤖 Generated with Claude Code

Implements SLICE-3 of SD-0001 v0.3.0 (§7.2): - **storefronts domain** — `create_storefront` + owner membership (INV-5), INV-4 one-storefront guard with concurrent-create refusal (per-account `pg_advisory_xact_lock`; schema stays many-capable, R-5). - **BFF** — `POST /api/storefronts` (`201` / `401` / `409 already_owns_storefront`), `_storefront_for` seam now fed by the domain (verify//me carry the entry-routing answer). - **Screens** — Create-storefront (PUC-4/5/7) + Admin shell (PUC-8/9), and Landing + Sign-in re-skinned, all per the Claude Design export (`wiggleverse-ecomm-content/ui/designs/ecomm-login-and-create-storefront-designs/`): Wiggleverse tokens/fonts/marks + UI kit, 6-cell OTC input, cooldown countdown, honest state banners. - **Entry routing complete** — landing / create-storefront / admin (§6.5 table), verify response feeds the session directly. - **Tests** — scenario tests 14.01.0013/0015/0016/0025/0026/0027, PUC-5/7/8, INV-4 concurrency + schema-shape, and the INV-1 whole-flow bootstrap test. Gate (`scripts/check.sh`) green: 62 backend tests + frontend typecheck/build/vitest. - **PUC-10 walked** on localhost end to end (UI driven by browser: sign-up → code from dev log → create → admin → sign-out). E2E browser tests remain deferred per §6.8 (UI still forms + text). Plan: `docs/superpowers/plans/2026-06-10-slice-3-storefront.md` (session 0024). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
ben.stull added 10 commits 2026-06-11 05:46:52 +00:00
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
chore(slice-3): version 0.3, README status, label-input association fix (a11y §6.6)
ci / check (push) Has been cancelled
ci / check (pull_request) Has been cancelled
877be249c7
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
ben.stull merged commit 0747181157 into main 2026-06-11 05:47:03 +00:00
Sign in to join this conversation.