MVP: sign up and create a single storefront #1
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
A person can sign up for ecomm (or log in), create their one storefront, and
land on its admin page — the first end-to-end vertical slice of the platform.
Problem / pain
ecomm is a clean greenfield rebuild with no app code yet. There is no way for
anyone to have an identity on the platform, let alone a storefront. Until a
merchant can sign up and own a storefront, every other capability of the
platform (catalog, orders, checkout, policies) has nowhere to attach — the
account → storefront spine is the substrate everything else needs.
Who feels it
exist on the platform at all.
account that owns a storefront; this Feature unblocks the whole line.
Desired outcome / value
A working first increment: a visitor becomes an authenticated merchant with
exactly one storefront and a stable admin surface to grow into — so that
subsequent releases can attach real features (catalog, orders, …) to a real
account + storefront spine instead of mocks.
Acceptance — "done right"
storefront.
log-in.
page (intentionally empty for this release — a shell with the storefront's
identity, nothing more).
affordance); the door stays open for many-per-account later.
no in-memory-only storefronts.
each with a defined bootstrap story: a fresh environment (empty
persistence) reaches "first merchant signs up and creates the first
storefront" through the product flows alone, with no hand-seeded data.
(deps, empty local store, migrations/schema) and completes sign-up →
storefront → admin locally.
serves as the rehearsal for Prod.
Scope / non-goals
In scope: sign-up, log-in, the create-storefront flow (both entry points),
the empty admin landing page, and the environment story — the MVP runs in
localhost/dev, PPE, and Prod, each bootstrappable from empty (no environment is
"later").
Non-goals (this release):
data model is 1-1 is a spec decision, lean toward keeping it open).
the spec decides the minimum honest bar for the MVP.
Assumptions · constraints · dependencies
wiggleverse-ecomm; this Feature's brainstorming/spec session is where itgets decided (multi-tenant, OHM-grounded — per the repo charter).
constraint — the spec resolves how the model stays open to many-per-account.
wiggleverse-ecomm-prototype, R01–R07) is read-onlyprior art — consult it, don't depend on it.
through flotilla (handbook §8), with the PPE → Prod pipeline as the promotion
path. The spec decides what "bootstrap" concretely is per environment
(migrations, first-run state, any operator gesture) — but it must be a
repeatable, documented gesture, not folklore.
Blocks: effectively all subsequent ecomm Features.
Source / signal
Self-originated — capture session ecomm-0019 (2026-06-10): the operator's
opening prompt describing the very first MVP of ecomm.
Priority (WSJF)
Value 8 · Time-criticality 8 · Opportunity-enablement 9 ÷ Size 5 = 5.0 —
priority/P1. It is the keystone first increment: high enablement (everythingqueues behind it), no external deadline.
Decomposition
Provisional slice checklist (JIT — firmed up at spec/plan time, one level only):
prompt)
bring-up to first sign-up, repeatable and documented
Solution notes (optional — NOT a design)
brainstorming session, not here.
platform/storage) is available as reference material.
Prod at db-f1-micro while the customer count is ~2. Knowingly accepted:
shared-core tiers carry no Cloud SQL SLA (consistent with the pre-v1
availability bar in SD-0001 §6.6) and cap connections (~25 — fine for one
app process with a small pool). Resizing later is a config edit + a
minutes-long restart, so undersizing is cheap to undo. PPE's instance can
be stopped when idle (storage-only cost). Per SD-0001 v0.3.0 (D-7,
INV-8) the tier is deployment config, set at SLICE-4 provisioning — not
spec or framework content.
Closing as part of the pivot from a generic multi-tenant Shopify-alternative storefront to the commitment-commerce + cross-maker verified referral network direction (see
ecomm-content/rfcs/network_strategy.md; session 0036).Single-storefront sign-up/onboarding is old-direction: the storefront becomes a separate headless Medusa engine, and sign-up/identity move to the platform-wide
wgl-identityservice. Superseded.Nothing is lost — code stays in git history and the issue can be reopened if it resurfaces under the network architecture.