feat: REQ-002/REQ-010 implementation — assets.tag_ids column + GET /v1/assets admin catalog (BAT-012)
- REQ-002 scope redefinition: portfolios.tag_ids → assets.tag_ids UUID[] column with GIN index
- REQ-010 augmentation: GET /v1/assets redesigned as admin catalog endpoint (admin-only, no token_type branching)
- Asset tagging infrastructure: tag_ids column, archived flag synthesis for inactive tags, list_assets N+1 optimization
- DB migration 20260521_0023: assets.tag_ids UUID[] NOT NULL DEFAULT '{}', idx_assets_tag_ids_gin
- Test suite: 17 new test cases for assets.tag_ids + GET /v1/assets AC-9~12 (362 tests total)
- Documentation: runtime flows, release baseline, batch verification all updated
- BAT-012 added to REL-001 Included Batch and marked release-candidate
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -34,15 +34,54 @@
|
||||
- `app/repositories/postgres.py` — asset CRUD Postgres 구현 추가
|
||||
- Tests:
|
||||
- `tests/test_asset_catalog.py` (신규) — schema 존재 확인, UNIQUE constraint, GIN 인덱스, MarketCode Enum 검증
|
||||
- Cross-reference:
|
||||
- REQ-002 — assets.tag_ids UUID[] 컬럼은 본 REQ의 후속 augmentation으로 별도 마이그레이션에서 추가된다 (dcy-002 FR-2 영역).
|
||||
|
||||
## Notes
|
||||
- REQ-010(admin CRUD), REQ-011(portfolios 재설계), REQ-013(GET /v1/assets), REQ-014(migration) 모두 이 REQ 선행 구현을 필요로 한다.
|
||||
- NFR-2(성능): `assets JOIN portfolios` 쿼리 성능은 이 REQ의 GIN 인덱스와 REQ-011의 FK 인덱스로 커버한다. 구체적인 응답 시간 목표는 batch design 단계에서 정의한다.
|
||||
- `assets` 테이블은 Alembic으로만 관리한다(ensure_schema() 대상 아님). runtime-flows.md Alembic/ensure_schema 경계 규칙 준수.
|
||||
- assets 카탈로그에 대한 태깅(`assets.tag_ids UUID[]`)은 본 REQ의 직접 범위가 아니며 REQ-002가 별도로 다룬다.
|
||||
- Source: dcy-001 FR-1
|
||||
|
||||
## Change Log
|
||||
|
||||
### CHG-20260521-02
|
||||
- Date: 2026-05-21
|
||||
- Author: Justin Ko
|
||||
|
||||
#### Change Summary
|
||||
- Impacted Area cross-reference 추가: REQ-002(assets.tag_ids UUID[] 컬럼) 후속 augmentation 명시
|
||||
- Notes 보강: 카탈로그 태깅은 본 REQ 범위 밖이며 REQ-002 영역임을 명시
|
||||
|
||||
#### Intent
|
||||
- REQ-002 본문 재정의(portfolios.tag_ids → assets.tag_ids) 후속으로, 본 REQ(assets 스키마 도입)와 REQ-002(assets.tag_ids 추가) 사이 trace를 명시한다.
|
||||
- 향후 dcy-002 FR-2 구현 시 본 REQ 산출물(assets 테이블)이 선행 의존임을 문서 트레이스로 남긴다.
|
||||
|
||||
#### Acceptance Criteria Delta
|
||||
- No change
|
||||
|
||||
#### Impacted Area Delta
|
||||
- Added:
|
||||
- Cross-reference: REQ-002 (assets.tag_ids UUID[] 컬럼 후속 augmentation)
|
||||
- Notes:
|
||||
- 카탈로그 태깅(assets.tag_ids)이 본 REQ 직접 범위가 아님을 명시
|
||||
|
||||
#### Delivery Trace Delta
|
||||
- Batches:
|
||||
- No change (BAT-001 verification 영향 없음)
|
||||
- Releases:
|
||||
- No change (REL-001 trace 영향 없음)
|
||||
|
||||
#### Revalidation Impact
|
||||
- Reverification Needed: no
|
||||
- Existing Implementation Invalidated: no — 본 REQ의 컬럼·인덱스·도메인 모델 정의는 그대로 유효
|
||||
- Status Recommendation: keep-current (Implemented)
|
||||
- Follow-up Action: REQ-002 후속 batch 편입 시 본 REQ를 선행 dependency로 표기
|
||||
|
||||
#### Validation Plan
|
||||
- 문서 cross-reference 변경이므로 추가 코드/DB 검증 불요
|
||||
|
||||
### CHG-20260521-01
|
||||
- Date: 2026-05-21
|
||||
- Author: Justin Ko
|
||||
|
||||
Reference in New Issue
Block a user