From 0c00f851e7e7e0a6ed55c3b88020c8a1bfbd1ff6 Mon Sep 17 00:00:00 2001 From: Justin Ko Date: Tue, 14 Jul 2026 18:51:30 +0900 Subject: [PATCH] docs(req): approve manual ledger API requirement --- ...req-056_v1-portfolios-manual-ledger-api.md | 34 ++++++++++++++++++- docs/srs/index.md | 6 ++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/docs/srs/Interface/req-056_v1-portfolios-manual-ledger-api.md b/docs/srs/Interface/req-056_v1-portfolios-manual-ledger-api.md index a3431be..be8d680 100644 --- a/docs/srs/Interface/req-056_v1-portfolios-manual-ledger-api.md +++ b/docs/srs/Interface/req-056_v1-portfolios-manual-ledger-api.md @@ -1,6 +1,6 @@ # REQ-056: owner-scoped 수동 장부 입력 HTTP API -- Status: Proposed +- Status: Approved - Type: Interface - Priority: High - Owner: Justin Ko @@ -149,3 +149,35 @@ #### Validation Plan - pytest TestClient/API tests로 AC-1~17 검증. repository/integration 또는 concurrency harness로 AC-18 검증. 기존 `/ledger/trades`, `GET /v1/portfolios`, CLI/domain 흐름 regression으로 AC-19 검증. + + +### CHG-20260714-02 +- Date: 2026-07-14 +- Author: TREX lead (Hermes) + +#### Change Summary +- Status: Proposed → Approved (confirm-req). dcy-012 confirmed Discovery와 AC-1~19가 test 가능한 구현 기준으로 충분하다고 판정한다. + +#### Intent +- owner-scoped manual ledger API를 batch delivery 기준으로 확정한다. + +#### Acceptance Criteria Delta +- Added: 없음 +- Updated: 없음 +- Removed: 없음 + +#### Impacted Area Delta +- 변경 없음. 구현 단계에서 docs/interface-contract.md, docs/runtime-flows.md, docs/data-model.md, API/schema/domain/repository/auth/tests를 갱신한다. + +#### Delivery Trace Delta +- Batches: BAT-024 후보로 제안 +- Releases: 미정 + +#### Revalidation Impact +- Reverification Needed: no +- Existing Implementation Invalidated: no +- Status Recommendation: proceed-to-batch +- Follow-up Action: suggest-batch-reqs → draft-batch/planning/design/implementation/verification. + +#### Validation Plan +- AC-1~19를 batch verification에서 API/repository/concurrency/regression evidence로 검증한다. diff --git a/docs/srs/index.md b/docs/srs/index.md index fbdf6be..c5b27ec 100644 --- a/docs/srs/index.md +++ b/docs/srs/index.md @@ -136,12 +136,12 @@ | REQ-053 | admin 데몬 CRUD HTTP API | Interface | Implemented | High | Justin Ko | [req-053](./Interface/req-053_admin-daemon-crud-api.md) | | REQ-054 | 인증정보 관리 보안 격리 — write-only·secret 미반환·로그 미노출 | Non-Functional | Implemented | High | Justin Ko | [req-054](./Non-Functional/req-054_credential-management-security-write-only.md) | | REQ-055 | GET /v1/portfolios 응답에 전략·시장 메타데이터 노출 (additive) | Interface | Implemented | High | Justin Ko | [req-055](./Interface/req-055_v1-portfolios-strategy-market-meta-exposure.md) | -| REQ-056 | owner-scoped 수동 장부 입력 HTTP API | Interface | Proposed | High | Justin Ko | [req-056](./Interface/req-056_v1-portfolios-manual-ledger-api.md) | +| REQ-056 | owner-scoped 수동 장부 입력 HTTP API | Interface | Approved | High | Justin Ko | [req-056](./Interface/req-056_v1-portfolios-manual-ledger-api.md) | ## Recent Change Log Summary -- 2026-07-14: REQ-056 신규 생성 `Proposed` (draft-req) — dcy-012 confirmed Discovery 근거. 신규 `POST /v1/portfolios/{portfolio_id}/ledger/manual` + action enum(`INVEST`, `BUFFER_OUT`, `BUFFER_IN`, `BUY`, `SELL`, `WITHDRAW`, `PROFIT`, `REVERSAL`) owner-scoped user/session API 계약. 기존 `/ledger/trades`는 daemon/service-token broker write 전용으로 보존. 부족 cash/quantity/buffer 409, daemon-managed confirmation 409 `MANUAL_WRITE_REQUIRES_CONFIRMATION`, after-snapshot/history fields, `cumulative_profit_withdrawn` 및 `PROFIT` 순입금액 미포함 의미 포함. confirm-req(팀장 승인) 대기. -- 2026-07-04: REQ-055 신규 생성 `Implemented` (draft-req) — trex-tvr-v1 dcy-001 confirmed Discovery 근거. `GET /v1/portfolios` 응답에 `active_strategy_id`·`strategy_name`·`strategy_params`·`markets` additive 노출. DB 마이그레이션 불필요(기존 컬럼·테이블 활용), N+1 금지·파싱 에러 격리(500 금지) 포함. confirm-req(팀장 승인) 대기. +- 2026-07-14: REQ-056 `Proposed` → `Approved` (confirm-req) — dcy-012 confirmed Discovery 근거. 신규 `POST /v1/portfolios/{portfolio_id}/ledger/manual` + action enum(`INVEST`, `BUFFER_OUT`, `BUFFER_IN`, `BUY`, `SELL`, `WITHDRAW`, `PROFIT`, `REVERSAL`) owner-scoped user/session API 계약. 기존 `/ledger/trades`는 daemon/service-token broker write 전용으로 보존. 부족 cash/quantity/buffer 409, daemon-managed confirmation 409 `MANUAL_WRITE_REQUIRES_CONFIRMATION`, after-snapshot/history fields, `cumulative_profit_withdrawn` 및 `PROFIT` 순입금액 미포함 의미 포함. BAT-024 delivery 후보로 진행. +- 2026-07-04: REQ-055 신규 생성 `Implemented` (draft-req) — trex-tvr-v1 dcy-001 confirmed Discovery 근거. `GET /v1/portfolios` 응답에 `active_strategy_id`·`strategy_name`·`strategy_params`·`markets` additive 노출. DB 마이그레이션 불필요(기존 컬럼·테이블 활용), N+1 금지·파싱 에러 격리(500 금지) 포함. BAT-024 delivery 후보로 진행. - 2026-06-28: REQ-052/053/054 `Approved` → `Implemented` (confirm-req-implemented) — BAT-022 PR #19 mergeCommit 1b78c18, QC PASS-WITH-NOTES(opus, blocker 0). 565 passed(+leak 테스트), AC 전건·secret 미반환·소유 스코프·REQ-051 회귀 PASS. Major 보안 #3(owner 재할당 credential leak) 원자화 수정(83e6dde) 반영 — 단일 트랜잭션+선삭제+leak 방지 테스트 3종. REQ-053 owner 재할당 원자화 수정 명시. - 2026-06-28: REQ-052/053/054 `Approved` → `Approved` (confirm-req 팀장 승인) — dcy-011 추적·AC testable·blocker 0. 소유 스코프 음성(REQ-052 AC-6/9/10)·owner 재할당+인증정보 무효화(REQ-053 AC-4/5)·secret 미반환·로그 미노출·REQ-051 회귀(REQ-054) 확인. admin도 인증정보는 소유 스코프 전용(self-service 결정 정합). 엔드포인트 경로(OQ-1/2) design 위임. 다음=suggest-batch-reqs. - 2026-06-28: REQ-047 `Approved` → `Implemented` (confirm-req-implemented) — BAT-021 PR #18 머지(7164f9e), 실 dev PG 통합검증 AC-1~7 PASS(Step1→backfill→Step2→downgrade), QC PASS-WITH-NOTES(blocker 0). **Step2(PK 전환) 실 운영 DB 적용은 별도 release 결재 게이트**(런북 `docs/runbooks/bat-021-req047-step2-migration-runbook.md` 엄수, 배포순서 Step1→backfill→Step2→코드배포, alembic stamp 사전확인). 운영 적용 시 AC-3/4/5 실운영 evidence 재확보.