최종 태스크 소유권 — Nougat DevPay 공개 베타
오케스트레이터: 메인 에이전트. HEAD cb15b7ac.
파일 소유권 (동시 수정 금지)
| 에이전트 | 소유 | 수정 금지 |
|---|---|---|
| A 아키텍처 | 읽기 전용 감사 | 모든 비즈니스 코드 |
| B Auth | be-cloudflare/src/auth_impl.rs, be/src/auth.rs, auth 테스트 | lib.rs 라우팅은 D에 요청 |
| C DB/Migration/Seed | */migrations/, be/src/db.rs seed/migration 코드, be-cloudflare/seeds/, scripts/{seed-data,bootstrap-admin}.ps1 | handler SQL은 소유자에 요청 |
| D Seller/RBAC | be-cloudflare/src/lib.rs 라우팅 + 신규 seller/policy 모듈 | auth_impl, checkout_impl |
| E Payments | checkout/refund/purchase/events_impl.rs | outbox/audit 공통 로직은 F와 협의 |
| F Finance | settle_impl.rs + 신규 ledger/audit/outbox_impl.rs | checkout_impl (E와 협의) |
| G FE | fe/pages|layouts|stores|plugins|lib/api|middleware | BE |
| H DevOps | wrangler.toml, scripts/deploy-*.ps1, scripts/verify-*.ps1, scripts/rollback-*.ps1, scripts/check-environment.ps1, .github/workflows/devpay.yml | seed/bootstrap 스크립트 |
| I Security/QA | 읽기 전용 + 테스트 | 초기엔 다른 코드 수정 금지 |
공유 파일 주의
be-cloudflare/src/lib.rs, auth_impl.rs, checkout_impl.rs, */migrations/, fe/lib/api/client.ts, fe/stores/db.ts
Wave 계획
- W1 (감사, 병렬): A+B+C+E+F+I 읽기 전용 분석
- W2 (파운데이션, 병렬): B auth, C DB/seed, E payment, F finance, H devops
- W3 (연동): D router/RBAC, G FE, A 재검증, I 테스트 작성
- W4 (검증): I 보안+E2E, A 드리프트, H 스테이징, 메인 리뷰
- W5 (릴리스): 메인 판정
알려진 결함 (spec)
- B: PBKDF2 구분자 누락, JWT 비표준, token-after-deactivate, 클레임 과신뢰, abuse 방어 부족, hash 실패 처리, logout/session 부재
- C: 001 중복, 008 demo 혼재, Axum migration 008 중단, local seed→remote 접근, demo 고정 비밀번호, BOOTSTRAP-PENDING, fresh D1 재현성
- D: 온보딩에 Seller 본체 INSERT 누락, seller_nougat fallback 잔존
- E: prod mock 결제 위험, 승인 없는 라이선스, 가격 검증 부족, refund 소유권 미검증, 구독 상태 권한, order_no COUNT+1, license key 짧음, 중복 지급 경쟁
- F: 정산 paid 처리 오류, 승인 없는 정산, 판매자 수수료 미사용, 동시 정산 중복, 환불 후 verify 오탐, audit 동시 쓰기, 실제 전달 없는 consumed, 금액 정밀도, D1 batch 한도
- G: apiMode mock 잔재, pullAll 미구현, 로그인 전 접근, 사용자 전환 상태 보존, SANDBOX 혼재, 미지원 UI
- H: CORS/preflight/rate-limit/abuse, build 재사용, 배포 순서, rollback, CI