• 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
    yibo authored
     
    Browse File »