From 8f9865bd8a14ae5ceb513c8ec4aec7b131559e31 Mon Sep 17 00:00:00 2001 From: Justin Ko Date: Mon, 22 Jun 2026 14:34:55 +0900 Subject: [PATCH] =?UTF-8?q?docs(rel-002):=20capture=20M1=20release=20feedb?= =?UTF-8?q?ack=20=E2=80=94=20feedback-captured,=20smoke=208/9=20PASS=20(1?= =?UTF-8?q?=20non-blocking)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_01VHtM5Ws1HKCKQ4JGi6GRb5 --- docs/releases/index.md | 2 +- ...-002_20260619_trade-history-and-pnl-api.md | 30 ++++++++++++++----- 2 files changed, 23 insertions(+), 9 deletions(-) diff --git a/docs/releases/index.md b/docs/releases/index.md index af02a13..16fa2ae 100644 --- a/docs/releases/index.md +++ b/docs/releases/index.md @@ -9,4 +9,4 @@ | REL ID | Profile | Status | Included Batch | Date | Doc | | --- | --- | --- | --- | --- | --- | | REL-001 | app-service | released | BAT-001~016 (전체 통합) | 2026-05-21 | [rel-001](./rel-001_20260521_v1-api-full-surface.md) | -| REL-002 | app-service | released | BAT-017 (dcy-007 M1: 거래내역+실현PnL API) | 2026-06-19 | [rel-002](./rel-002_20260619_trade-history-and-pnl-api.md) | +| REL-002 | app-service | feedback-captured | BAT-017 (dcy-007 M1: 거래내역+실현PnL API) | 2026-06-19 | [rel-002](./rel-002_20260619_trade-history-and-pnl-api.md) | diff --git a/docs/releases/rel-002_20260619_trade-history-and-pnl-api.md b/docs/releases/rel-002_20260619_trade-history-and-pnl-api.md index ac93327..e5055ba 100644 --- a/docs/releases/rel-002_20260619_trade-history-and-pnl-api.md +++ b/docs/releases/rel-002_20260619_trade-history-and-pnl-api.md @@ -1,6 +1,6 @@ # REL-002: 일일 거래내역 + 실현 PnL 조회 API (dcy-007 M1) -- Status: released +- Status: feedback-captured - Profile: app-service - Included Batch: BAT-017 @@ -150,13 +150,27 @@ ## Feedback Handoff - Observation Summary: - - (배포 후 운영 관찰 기록) + - 출처: 2026-06-22 운영팀(trex-op) 스모크 레포트 (배포 2026-06-19 17:27 KST, 커밋 `d89f137`, PID 461546, port 8002) + - 스모크 결과: 9개 항목 중 8개 PASS, 1개 비차단 잔여 + - PASS (8/9): + - GET /health → 200, db_enabled=true + - GET /v1/portfolios/{id}/trades?date=2026-06-19 → 200, 체결 2건 + - GET /v1/portfolios/{id}/trades (날짜 누락) → 422 + - GET /v1/portfolios/{id}/pnl/realized?from=..&to=.. → 200, 필드 전체 + - GET /v1/portfolios/{id}/pnl/realized (from/to 누락) → 422 + - 비소유자 토큰 → 403 + - 존재하지 않는 portfolio_id → 404 + - 기존 GET /v1/portfolios 회귀 없음 + - 비차단 잔여 (1/9): OpenAPI /docs 신규 엔드포인트 2개 노출 — 브라우저 수동 확인 미완 (기능 결함 아님) + - 운영 의의: 이 API(GET /v1/portfolios/{id}/trades, GET /v1/portfolios/{id}/pnl/realized)는 M2 첫 거래일 tsl 매도 확인의 데이터 원(source)으로 사용된다. + - Captured At: 2026-06-22 - Discovery Input: - - symbol 필터 edge (다른 symbol 필터 요청 케이스) 자동 테스트 보강 — cleanup batch 후보 - - HTTP_422_UNPROCESSABLE_ENTITY deprecated cleanup — cleanup batch 후보 - - 성능 테스트 (p95 500ms) — TimescaleDB 인덱스 환경 구성 후 별도 검증 Discovery 후보 - - 멀티 symbol portfolio 지원 (symbol 컬럼 portfolio_ledger 추가) — 별도 Discovery 후보 + - symbol 필터 edge (다른 symbol 필터 요청 케이스 `symbol_param != portfolio_symbol`) 자동 테스트 보강 — cleanup batch 후보 + - HTTP_422_UNPROCESSABLE_ENTITY deprecated → HTTP_422_UNPROCESSABLE_CONTENT 정리 — cleanup batch 후보 + - 성능 테스트 (p95 500ms, GET /v1/portfolios/{id}/trades 및 /pnl/realized) — TimescaleDB 인덱스 환경 구성 후 별도 검증 Discovery 후보 + - 멀티 symbol portfolio 지원 (portfolio_ledger에 symbol 컬럼 추가) — 별도 Discovery 후보 + - OpenAPI /docs 신규 엔드포인트 2개 브라우저 수동 노출 확인 — 다음 운영 점검 시 완료 권장 - REQ Input: - - (운영 관찰 후 기록) + - 없음 (기존 REQ 변경 불필요) - Change Request Input: - - (운영 관찰 후 기록) + - 없음 (현 릴리즈 범위 내 변경 요청 없음)