draft/confirm-batch-verification: BAT-030 AC 매핑(REQ-056·057·062·064·065) + evidence(단위 367/PG 29/MQ 21, cutover 리허설 8건, run-the-app e2e) 기록, Ready for Release: true → release-candidate 승격. BAT-027/028/029 의 보류 사유(dcy-020 전체 delivery 미완)가 BAT-030 완성으로 해소되어 함께 release-candidate 승격. confirm-req-implemented: REQ-056~065 전부 Approved → Implemented (각 REQ Change Log CHG-20260610-IMPL + srs index 갱신). 실 운영 cutover(REQ-064)는 REL 단계 운영자 실행으로 위임. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.5 KiB
2.5 KiB
BAT-027 Verification
- Status: verified (배치 범위 — 안 B 토대)
- Batch: BAT-027
Acceptance Mapping
REQ-056 (영구 슬롯 스키마, 안 B 부분)
| AC | 상태 | Evidence |
|---|---|---|
instance_key·retired_at·UNIQUE(instance_key, portfolio_id) 존재 |
✅ | 마이그레이션 009 + test_migration_and_drift(PG) green |
EXPECTED_SLOT_FIELDS ↔ daily_slot 컬럼 일치(+instance_key/retired_at) |
✅ | test_contract + test_migration_and_drift(PG) |
| 중복 (instance_key, portfolio_id) 거부 | ✅ | 부분 UNIQUE 인덱스(WHERE portfolio_id NOT NULL) |
entry_count/슬롯 trading_date 컬럼 부재 |
⏳ 이월(BAT-δ) | 안 B로 유지 — cutover(REQ-064)에서 drop |
REQ-057 (상태머신 재정의 + 인스턴스 lock)
| AC | 상태 | Evidence |
|---|---|---|
| 전이 집합 inactive 기준(closed→idle 제거) | ✅ | test_state(allowed/disallowed/size 12) |
| 종료 시 inactive 복귀(idle/closed 별칭) | ✅(별칭) | test_state·test_service. 엄밀 literal inactive 산출 전면 전환은 BAT-δ |
| 인스턴스별 락 비교차 | ✅ | test_state::test_slot_advisory_lock_id_is_instance_scoped |
| 동일 슬롯 직렬화(단일 writer) | ✅ | test_service Advisory lock 직렬화 |
| holding 로컬 정본 | ✅ | status 로컬(hub 미의존) — 수량 정본 분리는 REQ-062/BAT-γ |
Evidence
- 단위 전체:
375 passed / 35 skipped / 1 deselected(KIS sandbox live-env 1건 deselect). - PG-gated(실 trex_core_test):
8 passed— 마이그레이션 009 적용 + 드리프트 가드(instance_key/retired_at 포함) + lifecycle/closed→idle 거부/closed→pending_buy reallocation. ruff check trex_core testsAll passed.
Carried-Over (REQ 완전 충족은 후속 배치)
- REQ-056
entry_count/trading_date컬럼 drop → BAT-δ(cutover, REQ-064). - REQ-057 literal
inactive전면 산출(별칭 제거) → BAT-δ. - admission/capacity(REQ-059)·reconcile(REQ-058)·intent 자산 키(REQ-061)·수량/불일치(REQ-062)·운영자 뷰(REQ-063) → BAT-β/γ.
- 따라서 REQ-056/057 은 본 배치에서 Implemented 로 확정하지 않고 Approved 유지(토대만 충족; 전체 AC 는 dcy-020 후속 배치 완료 시 confirm-req-implemented).
Result
- Ready for Release: true (BAT-030(δ) 완성·검증(2026-06-10)으로 'dcy-020 전체 delivery 미완' 보류 해소 — confirm-batch-verification 승격)
- Blocking Issues: 없음(배치 범위 단위/PG green). 단, dcy-020 REQ 완전 충족은 BAT-β/γ/δ 필요.