-
Breaks down dressup-dance-room.md 9节第4条 (credit ledger, Stripe topup, mode 2 paid garment upload — explicitly not mode 3, which is period 5) into T23-T30 with acceptance criteria, estimates, and a dependency graph, matching dev-plan.md/dev-plan-2.md/dev-plan-3.md's format. Key decisions: - credit_ledger joins users/sessions in the same SQLite db.js (T18) — architecture.md 1.4 flagged this atomicity requirement explicitly, this is the other half of why SQLite got picked in period 3. pricing_config stays a JSON file (store.js) since it's not on that hot atomic path. - Flags a real doc inconsistency: architecture.md's diagram labels fal.ai integration "period 5", but dressup-dance-room.md §8 item 10 and §9 item 4 both say mode 2's fal.ai path belongs in period 4. Resolved in favor of the more specific/recent requirements doc. - Flags an uncovered gap: §5 references an image-moderation vendor "TBD, see §8" but §8 has no matching item for it — added as an open question here (§1.2). - Three genuinely external blockers (image moderation vendor, vision model vendor for auto-tagging, real Stripe API keys) are each designed around with a pluggable interface (same pattern as T20's sendVerificationEmail) so building isn't blocked on vendor picks — except the Stripe key itself, which only the user can supply. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011Deddn3sM3oQnmvqWSMb4y