Files
trex-core/docs/batches/bat-028_20260610_universe-reconcile-and-active-admission/verification.md
T
genichinandClaude Opus 4.8 5330f32247 docs(batch): BAT-030 verification 승인 + REQ-056~065 Implemented (dcy-020 delivery 완료)
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>
2026-06-10 15:20:52 +09:00

2.5 KiB
Raw Blame History

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 무파손).