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

small: a preview shows a forge in grace, so the forge's own looks picture the Plan line and the /forges row, and docs/features/plan-row.md shows them #11549

shipped production is serving it opened this has it
opened this

Replaces #11528, parked twice: a builder cannot screenshot a forge in grace because a preview has none, and an agent cannot attach pictures by hand. The preview seed already builds a world for the forge's looks (src/spawn/preview-seed.ts, #8812); this puts grace in it.

Done:

  • [x] Only when FORGE_APP_ENV=preview, seedPreview writes a grace notice into the preview's own data through keepNotice (src/billing/notice.ts), so /settings shows the Plan row Payment due — paused on <day> · Pay, and records one client forge in grace so the operator's /forges row shows grace until <YYYY-MM-DD>. Production and tests outside preview seed nothing (the seed's existing refusal covers it).
  • [x] Home and board in that preview still carry no notice: test/grace-calm.test.ts passes unchanged.
  • [x] A test seeds a preview and asserts both lines render, and that a non-preview environment writes no notice.
  • [x] /settings and /forges are among the pages the forge's looks take of a preview (add them where the looks list is kept if they are not), so the pull's looks show both, light and dark.
  • [x] docs/features/plan-row.md gains a line: a preview is seeded in grace, and where its pictures are.
  • [x] bun test passes.

Files: src/spawn/preview-seed.ts, the looks page list, docs/features/plan-row.md, a test. Risks: the seed must stay once-only and preview-only; never write parent.json, only the forge's own plan.json.

commented

Reviewed pull #11551 at its head: ticked Only when FORGE_APP_ENV=preview, seedPreview writes a grace notice into the preview's own data through keepNotice (src/billing/notice.ts), so /settings shows the Plan row Payment due — paused on <day> · Pay, and records one client forge in grace so the operator's /forges row shows grace until <YYYY-MM-DD>. Production and tests outside preview seed nothing (the seed's existing refusal covers it).; Home and board in that preview still carry no notice: test/grace-calm.test.ts passes unchanged.; A test seeds a preview and asserts both lines render, and that a non-preview environment writes no notice.; /settings and /forges are among the pages the forge's looks take of a preview (add them where the looks list is kept if they are not), so the pull's looks show both, light and dark.; docs/features/plan-row.md gains a line: a preview is seeded in grace, and where its pictures are.; bun test passes..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs