BAT-032 (dcy-022): timeout_sec/slippage_pct 실행 정책, 미체결 자동 취소, 보호 지정가, `trex-core cancel` 백스톱. 마이그레이션 012. BAT-033: `trex-core enter --qty` 필수 검증 — 미지정 시 RPC 전 즉시 오류. BAT-034 (dcy-023): allocated_capital 죽은 필드 전 경로 제거 (domain·intent· persistence·snapshot·CLI). 마이그레이션 013(비가역 DROP). 외부 발신자 unknown key 무시 수신 의미론 적용. REL-006 confirmed: BAT-026~034 통합 릴리즈, pre-release smoke 증거 포함. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
BAT-034 Planning
- Status: done
- Batch: BAT-034
Milestones
| ID | 목표 | 연결 REQ |
|---|---|---|
| M1 | 도메인·intent 계약 제거 — Slot 모델/EXPECTED_SLOT_FIELDS/SlotService + BuyIntent/admission/payload 파싱 | REQ-002 (CHG-02), REQ-007 (CHG-02) |
| M2 | 영속 제거 — 마이그레이션 013(DROP COLUMN IF EXISTS) + postgresql.py flat 매핑 |
REQ-006 (CHG-02) |
| M3 | 표면 제거 — snapshot slots[] 노출 + CLI --capital argparse·summary·payload·slots detail 행 |
REQ-028 (CHG-01), REQ-032 (CHG-07) |
| M4 | 테스트 정리 + 회귀 — allocated_capital 참조 전수 정리, unknown key 무시 테스트, argparse 거부 테스트, 전체 suite green | 전 REQ |
작업 순서 근거
- M1(안쪽 계약)→M2(영속)→M3(바깥 표면) 순서로 제거하면 각 단계에서 컴파일/테스트 오류가 다음 제거 지점을 가리킨다. M4 는 전 단계 누락 검출.
- 모든 변경이 "제거"라 단계 간 의존이 단방향(도메인 필드가 사라지면 매핑·노출이 따라 사라져야 함).
Design Gate
- design 필요: yes — 5개 REQ·7개 모듈에 걸친 데이터 계약 변경 + 비가역 마이그레이션. 제거 지점 전수 목록과 마이그레이션/롤백 절차를 design.md 에 고정한다.
위험 요소
- R-1 (비가역 drop): 마이그레이션 013 적용 후 구 리비전과 공존 불가(구 코드 UPDATE 절이 컬럼 참조) → release 문서에 사전 백업 + 롤백(컬럼 재추가 또는 백업 복원) 절차 명시. 검증은 테스트 DSN 에서만.
- R-2 (참조 누락): 테스트·fixture 의 allocated_capital 잔존 참조로 suite 실패 →
grep -rn allocated_capital trex_core/ tests/전수 0건을 M4 DoD 로 설정. - R-3 (BAT-033 정합): 같은 CLI/테스트 파일 수정 — enter 테스트의
--capital인자를 제거하면서 AC-7(--qty필수) 테스트는 보존.
검증 계획 (요약)
- 단위: argparse 거부, payload allocated_capital 부재, unknown key 무시(admit 정상 + 미반영), 필드셋 계약, slots[] 스키마
- 통합(테스트 DSN): 마이그레이션 013 멱등 적용 + information_schema 대조 + round-trip
- 회귀: 전체 suite green +
grep전수 0건