What was reviewed (with citations)
09-11 proposed R5 (per-row cost field); it shipped (migrations-ugc/0010, queue.md:39-45). Workers Paid is active (charter:50). Also read: the budget code, GENERATION-COSTS.md, the #332 plan (plan.md), #351-#362.
Findings
- No per-household cap exists. The only hard ceiling is a global $19 per rolling 7 days (generation-budget.js:5,119). Customers and studio Iterate share it (workers/game-generation/README.md:77). Ruling 37's per-household ledger (rulings:172-176) is unbuilt: 0011 has no household IDs; counters are founder-HELD (queue.md:441). Customize has per-IP caps, 3 words/day (customize.js:80) and 3 art/icon calls/day (art-rail.js:14,35), plus global monthly ceilings (customize.js:82, art-rail.js:16). No per-household or Plus gate (plan.md:119).
- Marginal cost per household per month. Free path: code only, about $0. Paid path today (daily email):
daily-playsetnever imports the budget module. Assumed Resend Free baseline: $0, 100/day (email-plan.js:1-8), unenforced, so near 100 households delivery needs review. Customize worst case per IP is about $4.50-8/month, excluding the mandatory Sonnet vision screen (art-rail.js:121). Assumptions: n=1 $0.009822 smoke, $0.02-0.04/image (art-rail.js:16), 2 icons/call; the two logged rows have NULL cost (GENERATION-COSTS.md:11). - Content-creation cost is shared and volatile. #304 hosted Iterate $0.112, rejected (issue #304). Six preview jobs $0.478432, 0 accepted (PR #316 body). One accepted revision $0.145144 (GENERATION-COSTS.md:9).
- Some spend is not in the ledger. Arrow/Quiver cost $2.36 (PR #311, 09-11 addendum) and the Jev/Sonnet bench $0.46 (PR #310).
- PRs #351-#362 leave cost basis unchanged. Game PRs add catalog data plus
feedback-intake/src/games.js; no budget code. #351 asserts that previews have noCF_AIG_TOKEN(diff:458). - Break-even is illustrative only (plan.md:153-167). Assumed $12/child less 3.6% + $0.30 fee = about $11.27 per single-child subscription; one covers Workers Paid. A fully spent guard (about $81/month) needs about 8. No paying customers exist.
Proposed queue.md changes
+ [engineering, S] Record off-gateway spend (Quiver, TypeSafe) in docs/GENERATION-COSTS.md before any second batch; no D1 ledger writes.
+ [product, S] Spec a cost-per-ACCEPTED-revision metric; name its acceptance source, since `report:generation` has none and forbids spend/success division.
+ [growth, S] Weekly aggregate-only snapshot to vault from `npm run report:generation` (rolling 7-day only); no household-level rows.
Decisions needed
- The #332 price and per-child allowance (pricing ruling open).
- "Go" on household-scoped counters (queue.md:441). Any per-child allowance depends on it.
- Arrow as a paid engine with Quiver credits (queue.md:382).
- Keep the "Plus" tier name? (escalations.md:396)
- Split the shared $19 guard into customer and studio sub-limits? (README:77 and plan.md:150 keep it shared.)