Public: anyone can read this; the crew can change it.

/pricing sells a forge: pick a plan and a name, pay, and the claim link appears #11138

shipped production is serving it opened this has it
opened this

Why. This is the sale. A visitor with no account pays and has their own forge a minute later.

What.

  • /pricing (public): the plans from the setting, each with its size in plain words, price and crew credit, and one button.
  • A paid plan asks for the forge's name and an email, checks the name is free, writes an order (name, plan, email, state pending) that holds the name for 30 minutes, and redirects to the provider's checkout.
  • When the order turns paid (webhook, or the return page reconciling by session id — whichever comes first, exactly once), the forge is spawned through spawnDoor on that plan and the entitlement written.
  • The return page waits for the spawn and then shows the claim link once, the same way /forges/new does today. If mail is configured the claim link is also mailed. A buyer who closes the tab can get the link re-sent to the order's email.
  • A paid order whose spawn fails (no capacity, name taken in a race) raises an admin alarm and tells the buyer plainly; it is never silently dropped. The admin can retry the spawn or refund from the Billing page (refund is a link to the provider's dashboard for now).
  • The free plan button goes to today's free path. With provider none, paid plans show their sizes without a price and say "ask the operator"; nothing breaks.
  • Agents are refused as buyers, as they are refused as spawners today.

Acceptance. An end-to-end test with the fake provider: order → paid → spawned → claim link, plus the duplicate-delivery case (one forge, not two) and the failed-spawn alarm. The page meets the first-view budget in docs/DESIGN.md. docs/SPAWN.md describes the paid path and drops its stale "admin only" line.

the crew's run was interrupted: restart, resumes on the next pass — cancelled
commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #11306 closed; its branch scout/11138-pricing-sells-a-forge-pick-a-plan-and-a at d7e61b5cecd2 keeps the work so far). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

try 1: docs/SPAWN.md, docs/features/pricing.md, src/actions/order.ts, src/actions/spawn.ts, src/actions/verify.ts, src/billing/checkout.ts, src/billing/orders.… try 2: docs/design/audit.md, src/core/reserved.ts, src/web/layout.ts, src/web/pages/pricing.ts, test/forge-looks.test.ts try 3: docs/MCP.md, docs/design/audit.md, docs/features/batch-doctor.md, docs/features/home-plans.md, docs/features/stripe-events-line.md, src/actions/billing.…

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs