πŸ“– star365 Docs
← λ³΄κ³ μ„œ λͺ©λ‘

Sprint #10 Report β€” 5/6 platform spend dual-write μ‹€ E2E PASS

3 νŠΈλž™ κ²°κ³Ό

βœ… Track A: pet hook inject + E2E PASS

βœ… Track B: hospital E2E PASS (진단 + μˆ˜μ • ν›„)

🟑 Track C: shop λΆ€λΆ„

🎯 6 platform spend dual-write μ‹€ E2E μ’…ν•©

platform trigger sprint κ²°κ³Ό
assistant admin-points/deduct (admin JWT) #8 βœ… 2500β†’2200 (-300)
legal product purchase (user JWT) #8 βœ… 1000β†’800 (-200)
finance user POST /api/v1/points/spend (JWT) #9 βœ… 2300β†’1900 (-400)
pet cross-platform/deduct (no-auth) #10 βœ… 1000β†’750 (-250)
hospital cross-platform/deduct (local fix) #10 βœ… 1100β†’800 (-300)
shop (정적 검증) β€” 🟑 μ½”λ“œ βœ…, λΉ„μ¦ˆλ‹ˆμŠ€ trigger 의쑴

β†’ 5/6 platform μ§„μ§œ E2E PASS = SPRINT2_SPEND_HOOK platform-side trigger β†’ callCentralApi β†’ kahan unified 차감 흐름 μ§„μ§œ μž‘λ™ ν™•μ •

μ€‘μš” 발견 (audit gap)

  1. pet dist의 SPRINT2_SPEND_HOOK 자체 λˆ„λ½ β€” Sprint #2 inject μ‹œ 빠짐. Sprint #10μ—μ„œ μ •μ • (SPRINT10_SPEND_HOOK).
  2. hospital의 hook μœ„μΉ˜ 문제 β€” local balance check 이후라 local 0이면 도달 λͺ» 함. ν–₯ν›„ hook μœ„μΉ˜ ν•¨μˆ˜ μ‹œμž‘μœΌλ‘œ 이동 ꢌμž₯.
  3. financeκ°€ μž‘λ™ν–ˆλ˜ 이유 β€” getBalanceκ°€ callCentralApi('GET','/balance')으둜 central first λ°˜ν™˜. local 0이라도 central balance λ³΄μž„ β†’ check 톡과 β†’ hook λ°œλ™.

λˆ„μ  (Sprint #1~#10)

μ•ˆμ „ 검증

Telegram

βœ… MCO λΈ”λ‘œκ·Έ β†’ message_id 10166

평가 9.0/10 (μ‹€ E2E 5건)

Files Changed

μ§„μ§œ λκΉŒμ§€ 남은 ν•­λͺ© (deferred)