From ce82f93a527afe9cc71597dbd5814902952ed6a3 Mon Sep 17 00:00:00 2001 From: jordan Date: Wed, 29 Jul 2026 21:50:13 +0900 Subject: [PATCH] docs: confirm BAT-063 virtual certification --- .../index.md | 2 +- .../verification.md | 26 +++++++++++++----- docs/batches/index.md | 2 +- ...q-118_kis-broker-venue-parameterization.md | 27 ++++++++++++++++++- docs/srs/index.md | 17 ++++-------- 5 files changed, 53 insertions(+), 21 deletions(-) diff --git a/docs/batches/bat-063_20260729_kis-daily-fill-all/index.md b/docs/batches/bat-063_20260729_kis-daily-fill-all/index.md index b639325..867661e 100644 --- a/docs/batches/bat-063_20260729_kis-daily-fill-all/index.md +++ b/docs/batches/bat-063_20260729_kis-daily-fill-all/index.md @@ -1,6 +1,6 @@ # BAT-063: KIS 전체 거래소 일별 체결조회 -- Status: in-progress +- Status: release-candidate - Profile: standard - Source Discovery: REQ-118 CHG-20260729-01 - Source REQ: REQ-118 diff --git a/docs/batches/bat-063_20260729_kis-daily-fill-all/verification.md b/docs/batches/bat-063_20260729_kis-daily-fill-all/verification.md index 5656925..800588b 100644 --- a/docs/batches/bat-063_20260729_kis-daily-fill-all/verification.md +++ b/docs/batches/bat-063_20260729_kis-daily-fill-all/verification.md @@ -1,6 +1,6 @@ # BAT-063 Verification -- Status: pending +- Status: confirmed - Batch: BAT-063 - Verified By: delivery-runner @@ -8,11 +8,13 @@ | AC | 결과 | 근거 | | --- | --- | --- | +| REQ-118 AC-1~3 | PASS | 선행 BAT-056 증거 + 이번 KIS broker 전체 회귀 | | REQ-118 AC-4 일반 조회 | PASS | `test_poll_fill_uses_current_daily_fill_contract_for_all_venues` | | REQ-118 AC-4 결과불명 조회 | PASS | `test_unknown_submission_resolves_from_recent_daily_orders` | +| REQ-118 AC-5~6 | PASS | 기존 현재가 시장구분 테스트 + Core 전체 회귀 | +| REQ-118 AC-7~8 | PASS | 주문·취소 집중검사와 Core 전체 회귀 | | 실전·모의 거래 ID | PASS | `test_daily_fill_request_uses_current_live_and_mock_contract` | -| 기존 주문·취소·상태 해석 | PASS | KIS broker 집중검사와 Core 전체 회귀 | -| 가상 주문 수명주기 | PENDING | 공용 인증 1~7단계 실행 전 | +| 가상 주문 수명주기 | PASS | 공용 인증 1~7단계 | ## Evidence @@ -21,13 +23,25 @@ - Core 전체: 922 passed, 51 skipped. - 변경 파일 Ruff: PASS. - Certification: - - 공용 인증 산출물 경로는 실행 후 기록한다. + - 공용 가상 인증: logic → regression → virtual contract → virtual end-to-end + → fault injection → restart recovery → ledger reconcile 전 단계 PASS. + - 최종 상태: 미체결 0, 포지션 0, 중복 주문 0, 원장 일치. + - 산출물: + `/Volumes/J_HDD/virtual_exchange/artifacts/validation/trex-core-execution/core-daily-fill-all-20260729-2146-kst/run.json` + +## Architecture Verification + +- 공개 broker 포트, 상태 해석, 폴링 간격, 전략·가격·수량 정책은 변경하지 않았다. +- 수익률 BT 영향은 없다. 주문 수명주기 변화 가능성은 공용 가상 인증 1~7단계로 + 검증했다. +- 저장소에 FROZEN 규칙 파일이 없고 변경 범위에 `TODO`, `FIXME`, `HACK`, + `Quick Fix` 잔여가 없다. ## Result -- Ready for Release: false +- Ready for Release: true - Blocking Issues: - - 깨끗한 커밋 기준 공용 가상 인증 1~7단계가 아직 실행 전이다. + - 없음. ## Safety Classification diff --git a/docs/batches/index.md b/docs/batches/index.md index 0c69696..b0508aa 100644 --- a/docs/batches/index.md +++ b/docs/batches/index.md @@ -66,4 +66,4 @@ | BAT-058 | standard | release-candidate | REQ-123 | dcy-038 | [bat-058](./bat-058_20260716_cost-basis-safe-sync-seed/) | | BAT-059 | standard | release-candidate | REQ-124 | dcy-039 | [bat-059](./bat-059_20260727_intent-venue-fanin/) | | BAT-062 | standard | release-candidate | REQ-127 | dcy-042 | [bat-062](./bat-062_20260729_shared-account-capital-allocation/) | -| BAT-063 | standard | in-progress | REQ-118 (CHG-20260729-01) | REQ-118 change-req | [bat-063](./bat-063_20260729_kis-daily-fill-all/) | +| BAT-063 | standard | release-candidate | REQ-118 (CHG-20260729-01) | REQ-118 change-req | [bat-063](./bat-063_20260729_kis-daily-fill-all/) | diff --git a/docs/srs/Integration/req-118_kis-broker-venue-parameterization.md b/docs/srs/Integration/req-118_kis-broker-venue-parameterization.md index 07d4cbf..89c9bcb 100644 --- a/docs/srs/Integration/req-118_kis-broker-venue-parameterization.md +++ b/docs/srs/Integration/req-118_kis-broker-venue-parameterization.md @@ -1,6 +1,6 @@ # req-118: KIS 브로커 어댑터 venue 파라미터화 (EXCG_ID_DVSN_CD) -- Status: Approved +- Status: Implemented - Type: Integration - Priority: High - Owner: trex-core-dev @@ -69,6 +69,31 @@ ## Change Log +### CHG-20260729-02 +- Date: 2026-07-29 +- Author: Codex — confirm-req-implemented + +#### Change Summary +- Approved → Implemented: BAT-063이 release-candidate가 되었고 변경으로 무효화된 + AC-4를 포함해 REQ-118 전체 수용 기준이 다시 검증됐다. + +#### Delivery Trace Delta +- Batches: BAT-063 release-candidate +- Verification: + `docs/batches/bat-063_20260729_kis-daily-fill-all/verification.md` + +#### Revalidation Impact +- Reverification Needed: no +- Existing Implementation Invalidated: no +- Status Recommendation: Implemented + +#### Validation Plan +- KIS broker 집중검사 59 passed/1 skipped, Core 전체 922 passed/51 skipped, + Ruff PASS. +- 공용 가상 주문 인증 1~7단계 PASS, 미체결·포지션·중복 주문 0, 원장 일치. +- 전략 신호·가격·수량 정책 변경이 없어 수익률 BT는 비대상이다. +- 저장소 FROZEN 규칙 파일과 변경 범위의 Quick Fix/TODO/FIXME/HACK 잔여 없음. + ### CHG-20260729-01 - Date: 2026-07-29 - Author: Codex — 형님 승인 `남은 작업 진행하자` diff --git a/docs/srs/index.md b/docs/srs/index.md index 1abc7bd..f32df66 100644 --- a/docs/srs/index.md +++ b/docs/srs/index.md @@ -198,7 +198,7 @@ | REQ-115 | 그날-시작 장중 무중단 보장 — 그날 고정 인증정보 캐시 + portfolio-hub 장애 비중단 | Non-Functional | Approved | High | trex-core-dev | [req-115](./Non-Functional/req-115_daystart-intraday-resilience-credential-cache.md) | | REQ-116 | `trex.slots.req` 전략 필드 노출 + `strategy` 요청 필터 (additive) | Interface | Implemented | High | trex-core-dev | [req-116](./Interface/req-116_slots-req-strategy-field-and-filter.md) | | REQ-117 | OrderRequest venue additive 필드 (KRX/NXT 거래소구분 포트 DTO) | Integration | Implemented | High | trex-core-dev | [req-117](./Integration/req-117_order-request-venue-field.md) | -| REQ-118 | KIS 브로커 어댑터 venue 파라미터화 — EXCG_ID_DVSN_CD 전송 + NXT 지원 | Integration | Approved | High | trex-core-dev | [req-118](./Integration/req-118_kis-broker-venue-parameterization.md) | +| REQ-118 | KIS 브로커 어댑터 venue 파라미터화 — EXCG_ID_DVSN_CD 전송 + NXT 지원 | Integration | Implemented | High | trex-core-dev | [req-118](./Integration/req-118_kis-broker-venue-parameterization.md) | | REQ-119 | fetched credential 공통 broker provider와 operator CLI truth 정합 | Integration | Implemented | High | trex-core-dev | [req-119](./Integration/req-119_fetched-credential-broker-provider-cli-parity.md) | | REQ-120 | KIS balance 인증 실패 fail-loud 및 broker/token lifecycle 정책 | Exception | Implemented | High | trex-core-dev | [req-120](./Exception/req-120_kis-balance-auth-failure-fail-loud-lifecycle-policy.md) | | REQ-121 | managed non-holding divergence 분류와 slot 존재 조회 계약 | Data | Implemented | High | trex-core-dev | [req-121](./Data/req-121_managed-non-holding-divergence-classification-query.md) | @@ -209,18 +209,11 @@ ## Recent Change Log Summary +- 2026-07-29 :: REQ-118 CHG-20260729-02 **Approved → Implemented**: + BAT-063 release-candidate, KIS broker 59 passed/1 skipped, Core 전체 + 922 passed/51 skipped, 공용 가상 주문 인증 1~7단계 PASS. 미체결·포지션· + 중복 주문 0, 원장 일치. - 2026-07-29 :: REQ-127 **승인(Approved, confirm-req)**: 사용자 승인 범위, 순수 Core 정책·어댑터 입출력·기존 주문/원장 불변 경계, 10개 측정 가능한 수락 기준과 비운영 조건을 확인해 단일 배치 인계를 승인. - 2026-07-29 :: REQ-127 **신규 생성(Proposed, draft-req, dcy-042)**: 메가·탑50 공통 계좌 자본배분 순수 정책, 고가 후보 유동 제외, 최악 활성 슬롯 현금 불변식, Core·어댑터 책임 경계와 완전 일치·가상 원장 검증을 요구사항으로 고정. 실전 배포·주문 게이트·원장 변경 제외. - 2026-07-27 :: REQ-124 Implemented: strategy intent venue를 pending slot과 broker submit/cancel까지 additive 전달. 전체 회귀 837 passed, 47 skipped. 배포·실주문 제외. - 2026-07-16 :: REQ-123 **confirm-req 승인(Approved, lead confirm)**: dcy-038 OQ-1~3 완료 기준으로 제약(scope 제외 항목: API/schema 변경/credential/config 변경/live sync/배포), OQ-2/OQ-3 결정 반영, fail-closed WAC unavail no-write 정책, canonical parsing 우선순위/legacy fallback 규칙 및 dry-run diagnostics가 일치함을 확인해 `REQ-123`을 Approved 전환. -- 2026-07-16 :: REQ-123 **신규 생성(Proposed, draft-req, dcy-038)**: portfolio-hub canonical `cost_basis_per_unit` consumer parse, legacy alias precedence, WAC unavailable fail-closed sync/no-write, dry-run diagnostics, response-contract/regression tests, observability 및 rollback/release gate. portfolio-hub API/schema/auth·token/config·DB migration/direct edit·live sync·배포 제외. -- 2026-07-15 :: REQ-119~122 **`Approved` → `Implemented`** (`confirm-req-implemented`, dcy-037/BAT-057): PR #42 merged to `main` (94e1489). Independent QC PASS-WITH-NOTES (acceptance blocker 0); 806 passed/47 skipped/1 deselected. `sync --live`, deployment, and production remediation remain separate release-approval work. -- 2026-07-14 :: REQ-119~122 **승인(Approved, confirm-req, dcy-037)**: lead 검토로 각 REQ의 owner·priority·scope·검증 가능 AC와 Notes의 non-blocking 설계 제약을 확인했다. #39/#40/#41은 다음 `suggest-batch-reqs`에서 단일 emergency batch 후보이며, `sync --live`는 여전히 별도 release approval gate다. -- 2026-07-29 :: REQ-118 CHG-20260729-01 **Implemented → Approved**: - KIS 공식 신형 일별주문체결조회(`TTTC0081R`/`VTTC0081R`, - `EXCG_ID_DVSN_CD=ALL`)를 일반·결과불명 `poll_fill`에 적용하고 BAT-063 - 검증 후 Implemented로 복귀한다. -- 2026-07-06 :: REQ-117/118 **신규 생성(Implemented, draft-req, trex-tvr-v1 dcy-002 FR-6)**: KIS 브로커 venue 파라미터화 — REQ-117 OrderRequest.venue additive 필드(기본 KRX, 포트 DTO 계층), REQ-118 KIS 어댑터 EXCG_ID_DVSN_CD 전송 + cancel venue 의미론 + poll_fill NXT 체결 보장 + get_current_price market 파라미터화. 실측 근거: 2026-07-06 실전 NXT 주문/취소 rt_cd=0. 고위험(라이브 주문 경로) — worktree+PR+QC(opus) 필수. confirm-req 대기. -- 2026-06-28 :: REQ-112/114 **`Approved` → `Implemented`**, REQ-113/115 **`Approved` 유지(confirm-req-implemented, dcy-036/BAT-053)**: BAT-053 PR #34 머지(01655ab). QC PASS-WITH-NOTES(opus, blocker 0). 745 passed/0 회귀. REQ-112(fetch 포트+어댑터+stub AC-1~8 완료), REQ-114(fail-closed 게이트 AC-1~9, BuyIntent 차단/SellIntent 통과 비대칭·CRITICAL 알람·opt-in off 비활성 완료). REQ-113/115 스캐폴드 완료 — KISBroker 런타임 재조립(REQ-113 AC-2, REQ-115 AC-1) M3 후속 batch 연기. -- 2026-06-28 :: REQ-112~115 **`Proposed` → `Approved`(confirm-req 팀장 승인)**: dcy-036 FR/NFR 추적·AC testable·blocker 0. 진입 fail-closed/청산·DISPATCHED 통과 비대칭(REQ-114 AC-4/5), 그날 고정 캐시·ledger 무손실(REQ-115), TradingContext 원자 read(REQ-112), opt-in 회귀차단(REQ-113 AC-1). OQ-4(trex-notifier) Deferred. 선행 의존 portfolio-hub dcy-010(머지완료). 다음=suggest-batch-reqs. -- 2026-06-26 :: REQ-109~111 **Approved → Implemented** (confirm-req-implemented, dcy-035): BAT-052 머지(PR #33, 81d06d9) 완료. QC PASS. 717 passed/47 skipped/0 fail. REQ-109(portfolio-hub /pnl/realized 포트+어댑터+stub AC-1~6), REQ-110(WAC 운영리포트 통합 AC-1~7, CHG-20260626-02 buy_fee편입 반영), REQ-111(degrade AC-1~5) 전 AC 검증 완료. M3 배포 대기.