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-028 Verification
- Status: verified (배치 범위)
- Batch: BAT-028
Acceptance Mapping
REQ-060 (max_active_slots config)
| AC | 상태 | Evidence |
|---|---|---|
| TOML 로드 + admission M 사용 | ✅ | config from_toml + test_asset_centric_admission(M 캡) |
| 미설정 → legacy pool | ✅ | test_legacy_pool_mode_unaffected |
| >0 검증 | ✅ | from_toml raise (단위) |
REQ-058 (universe reconcile)
| AC | 상태 | Evidence |
|---|---|---|
| 신규 자산 생성(멱등) | ✅ | test_universe_reconcile(in-mem) + test_universe_reconcile_pg(ON CONFLICT) |
| 비활성 soft-retire(행 보존, 재등장 재활성) | ✅ | test_soft_retire_* + PG |
| 보유/pending tombstone(은퇴 보류) | ✅ | test_tombstone_holding_* |
| degrade/대량소멸 보류 | ✅ | snapshot_scheduler _reconcile_slots(빈 universe skip, ≥50%↓ allow_retire=False) + test_allow_retire_false |
REQ-059 (자산 중심 admission)
| AC | 상태 | Evidence |
|---|---|---|
| 자산 슬롯 활성화(inactive→pending_buy) | ✅ | test_activates_asset_slot |
| capacity_full at M(무치환) | ✅ | test_capacity_full_at_M_no_eviction |
| already_active | ✅ | test_already_active_is_rejected |
| over-cap(신규만 차단·기존 유지) | ✅ | test_over_cap_blocks_new_keeps_existing |
| unknown_portfolio(자산 슬롯 부재) | ✅ | test_unknown_portfolio_when_no_asset_slot |
Evidence
- 단위 전체:
387 passed / 35 skipped / 1 deselected(신규 12 포함). ruff clean. - PG-gated(실 trex_core_test): persistence
17 passed— reconcile(ON CONFLICT 부분 unique)·find_slot_by_portfolio·count_active·soft-retire + 마이그레이션 009 드리프트.
Carried-Over
- 라이브 데몬 default 는 legacy pool(max_active_slots 미설정) — 자산 중심 default 전환·컬럼 drop·literal inactive 전면화는 BAT-δ(cutover).
- intent 자산 키 통일(sell-by-portfolio_id)·수량/불일치·운영자 뷰 → BAT-γ.
- M 캡 strict 동시성은 단일 intent 스레드 + 인스턴스 advisory lock 전제(production). 실 데몬 자산 중심 e2e 는 BAT-γ/δ run-the-app 에서.
- 따라서 REQ-058/059/060 은 본 배치에서 Approved 유지(자산 중심 경로 동작 검증; 전체 dcy-020 완성·default 전환은 후속).
Result
- Ready for Release: true (BAT-030(δ) 완성·검증(2026-06-10)으로 'dcy-020 전체 delivery 미완' 보류 해소 — confirm-batch-verification 승격)
- Blocking Issues: 없음(단위 387 + PG 17 green, legacy 무파손).