Files
portfolio-hub/docs/batches/bat-010_20260521_v1-portfolios-sub-resources/index.md
T
genichinandClaude Opus 4.8 b1c34068e5 docs: batch 상태 released 동기화(REL-001/002) + README 현행화(거래내역/실현PnL API)
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
2026-06-22 09:51:13 +09:00

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/trades path 이전 (→ REQ-029, 별도 batch)
    • interface-contract.md 구 path /v1/assets/{id}/ledger/trades 제거 명세 (→ REQ-029 범위, 본 batch에서는 pending 마킹만)

Documents

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 패턴 확립.