Files
trex-core/docs/validation/dcy-041-core-adapter-gap-closure-20260729.md
T

2.4 KiB

dcy-041 Core broker gap closure validation

  • 검증 시각: 2026-07-29 17:54 KST
  • 브랜치: codex/core-adapter-gap-closure
  • 검증 HEAD: 611805d
  • 분류: research_only=true, official_comparable=false, real_order_allowed=false, order_adapter=virtual_locked_replay

검증 결과

  1. 정적검사: uv run --extra dev ruff check . PASS.
  2. 로컬 전체 회귀: 903 passed, 50 skipped.
  3. 격리 Docker PostgreSQL/RabbitMQ 전체 통합: 953 passed, 1 skipped.
  4. 공용 매매 인증 7단계:
    • logic
    • regression
    • virtual_contract
    • virtual_e2e
    • fault_injection
    • restart_recovery
    • ledger_reconcile
    • 결과: PASS
  5. 인증 산출물: /Volumes/J_HDD/virtual_exchange/artifacts/validation/trex-core-execution/core-gap-final-20260729-1753-kst/run.json

장애 주입·재시작 판정

  • 결과불명 주문은 동일 broker order 조회로만 수렴하고 중복 주문 0.
  • timeout·운영자 취소는 cancel_state IS NULL 비교·설정에 성공한 한 호출만 전송하며 재시작 후 반복 취소 0.
  • AUTO는 실제 KRX/NXT로 확정되어 주문번호와 함께 저장되고 취소·재시작에 재사용.
  • 체결 후 잔량과 재시작 원장대조는 실시간 잔고만 사용.
  • KIS 조회 전송 오류에만 동일 endpoint·계좌·상품·app identity의 미만료 스냅샷을 사용.
  • 계정 2와 같은 혼합계정은 전략 소유수량만 스냅샷·매도수량에 노출.
  • 신규매수 현금검사와 pending 전이는 동일 instance advisory lock 안에서 원자 처리.

최초 Docker 실패와 해소

  • 최초 실패 단계: PostgreSQL 마이그레이션 재적용.
  • 최초 원인: 017 마이그레이션이 019에서 도입한 기존 AUTO 행을 허용하지 않아 반복 적용 시 check constraint 위반.
  • 마지막 안전 상태: 운영 컨테이너·DB·주문 경로 미접촉, 격리 테스트 DB만 사용.
  • 수정: 017 제약을 AUTO 호환으로 만들고 기존 AUTO 행이 있는 상태의 migration replay 회귀를 추가.
  • 재실행: 새 격리 DB에서 전체 마이그레이션과 953개 통합검사 PASS.

실전 잠금

  • 실전 계정·주문·운영 컨테이너 변경 없음.
  • live_dry_run, live_one_shot, 서버 배포, 로컬 어댑터 제거는 미수행.
  • 실전 반영은 서버 차이 검증 후 대상 계정·전략·이미지 SHA를 명시한 별도 승인 필요.