41 lines
1.9 KiB
Markdown
41 lines
1.9 KiB
Markdown
---
|
|
id: "req-0007"
|
|
status: approved
|
|
discovery: "dcy-0007"
|
|
criteria:
|
|
create:
|
|
- "ac-0037"
|
|
update: []
|
|
retire: []
|
|
satisfy:
|
|
- "ac-0032"
|
|
- "ac-0034"
|
|
- "ac-0036"
|
|
---
|
|
|
|
# 기업행동 원장이 포함된 보유 원가·전체 원장 조회 복구 (#19)
|
|
|
|
## Objective
|
|
|
|
기업행동 metadata를 JOIN하는 포트폴리오 read query가 PostgreSQL column ambiguity 없이 기존 보유 원가 replay와 source-neutral 전체 원장 계약을 제공하도록 복구한다.
|
|
|
|
## Scope
|
|
|
|
- 기업행동 원장이 있는 포트폴리오의 holdings cost-basis path가 모든 거래와 기업행동 metadata를 기존 순서·의미로 읽어 원가 replay 결과를 반환한다.
|
|
- `GET /v1/portfolios/{portfolio_id}/ledger`가 기업행동 행과 일반 거래 행을 함께 기존 latest-first·source filter·keyset pagination 계약으로 반환한다.
|
|
- Joined query의 base ledger column reference를 table alias로 한정하고 corporate-action metadata projection은 명시적으로 유지한다.
|
|
- 실제 PostgreSQL repository 회귀와 API 회귀로 holdings cost-basis 및 unified ledger HTTP 200, 혼합 행, metadata mapping과 cursor 경계를 검증한다.
|
|
|
|
## Constraints
|
|
|
|
- SELECT column 순서와 `_row_to_ledger_entry()` positional mapping을 유지한다.
|
|
- API endpoint, response schema, authorization, source/action 의미, ordering 및 cursor 형식을 변경하지 않는다.
|
|
- Holdings cost basis, WAC, PnL 또는 corporate-action replay 회계 규칙을 변경하지 않는다.
|
|
- 기존 active `AC-0032`, `AC-0034`, `AC-0036`의 의미를 변경하지 않고 satisfy binding으로 적용한다.
|
|
|
|
## Non-Goals
|
|
|
|
- 기업행동 또는 일반 ledger row의 생성·수정·삭제·backfill.
|
|
- broker 주문·취소·체결, producer/outbox 또는 reversal/recovery 동작 변경.
|
|
- trex-web UI 구현, 배포, release, production mutation 또는 특정 production portfolio 데이터 보정.
|