batch drift 정합 — REL-001(BAT-001~016)·REL-002(BAT-017) released에 맞춰 batches/index 및 개별 index 상태를 release-candidate→released 동기화(17건). README: bootstrap 문구 제거, dcy-007 엔드포인트(GET /trades·/pnl/realized) 추가, planned-next 현행화. 코드 무변경. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VHtM5Ws1HKCKQ4JGi6GRb5
2.4 KiB
2.4 KiB
BAT-010: v1 portfolio sub-resources (tags/comments + baseline docs)
- Status: released
- Profile: standard
- Source Discovery: dcy-003
- Included REQ: REQ-030, REQ-031, REQ-032
- Excluded REQ: REQ-029(ledger path migration — trex-basic 동시 배포 제약으로 별도 batch)
Summary
- v1 portfolio 서브 리소스 라우트를 완성한다:
/v1/portfolios/{id}/tags(GET 신설 + disabled 보호, REQ-030),/v1/portfolios/{id}/comments(CRUD 4종 신설, REQ-031). - REQ-025~031 완료 후 baseline 문서(
interface-contract.md,runtime-flows.md,data-model.md,project-structure.md) 정합성을 일괄 회복한다(REQ-032).
Scope
- In Scope:
app/api/v1_portfolios.py—GET /v1/portfolios/{id}/tags신설, existing POST/DELETE tag routes disabled 보호 보강, comment CRUD 4종 서브라우트 신설app/schemas/v1.py—PortfolioTagListResponse,PortfolioCommentRequest,PortfolioCommentUpdateRequest,PortfolioCommentItem,PortfolioCommentListResponse신규 (또는 기존 schema 재사용 확정)docs/interface-contract.md,docs/runtime-flows.md,docs/data-model.md,docs/project-structure.md— v1 portfolio surface + soft delete 정책 baseline 반영tests/test_v1_portfolios_tags_comments.py(신규) — REQ-030/031 AC 검증
- Out of Scope:
POST /v1/portfolios/{id}/ledger/tradespath 이전 (→ REQ-029, 별도 batch)- interface-contract.md 구 path
/v1/assets/{id}/ledger/trades제거 명세 (→ REQ-029 범위, 본 batch에서는 pending 마킹만)
Documents
- Planning: planning.md
- Design: design.md
- Implementation: implementation.md
- Verification: verification.md
Notes
- R-1 (Low): REQ-030의 POST/DELETE
/v1/portfolios/{id}/tags라우트는 BAT-004(REQ-005) 구현 시app/api/v1_portfolios.py에 이미 존재. disabled portfolio 보호(AC-8) 누락 여부를 design 단계에서 감사 후 보강. - R-2 (Low): REQ-031 comment 작성자 ownership 정책 — dcy-003 본문은 portfolio ownership을 기준으로 명시. comment 작성자 ownership(본인 comment만 수정/삭제 가능) 적용 여부는 design 단계에서 확정.
- R-3 (Low): REQ-032 interface-contract.md의 ledger path 관련 갱신은 REQ-029 미완료로 해당 섹션을 "pending REQ-029" 마킹 후 defer.
- 선행 완료: BAT-009(REQ-025~028 Implemented) — v1 portfolio CRUD 기반 인가/ownership 패턴 확립.