Files
trex-core/.proofline/lines/line-0005/evidence/implementation-completion.md
T

2.6 KiB

GitHub issue #60 comment evidence


구현 완료

구현 내용

  • 명시적 주문 미수락·미체결 sell 실패를 자동 재주문 없이 pending_sell → holding으로 수렴시켰다.
  • submission outcome unknown은 durable sentinel과 broker lookup/reconciliation을 우선하고 중복 제출하지 않는다.
  • strategy RPC에서 KIS failure·broker attempt·retryability 전달을 제거했다.
  • venue 누락은 SOR, 명시 KRX/NXT/SOR는 보존하고 AUTO 및 wall-clock routing을 제거했다.
  • 기존 persisted AUTO를 SOR로 전환하는 migration을 추가했다.
  • SOR 원주문 venue와 실제 체결 venue를 분리했다.
    • slot·재시작·취소: order_venue KRX/NXT/SOR
    • fill·ledger/outbox actual venue: KRX/NXT, 복원 불가능한 historical SOR는 NULL
  • KIS ORD_EXG_GB 및 명시 exchange-id allowlist로 실제 KRX/NXT를 파싱하며 SOR/unknown은 추론하지 않는다.
  • migration replay가 정상 (actual=NXT, order=KRX) 행을 오염시키지 않도록 NULL-only backfill과 DB constraint를 적용했다.

실제 검증 결과

  • 구현자 전체 회귀: 1074 passed, 52 skipped
  • 구현자 focused unit: 77 passed
  • 구현자 disposable PostgreSQL 16: 24 passed
  • Ruff: All checks passed!
  • 독립 QC 전체 pytest + PostgreSQL 16 검증: PASS
  • 독립 QC finding: blocker/critical/major/minor 모두 없음
  • 독립 QC worktree: clean

로컬 커밋

  • 15aeae6930f8c3e6ef9cf659f41278b099a78459 — broker 실패 수렴·AUTO 제거
  • 7366cadf03fc6002bfd01ecf0cba7c24486bb618 — SOR 원주문/실제 체결 venue 분리
  • 359ea098ff717e7f04cf4206dcbc64ad17b47755 — actual venue DB constraint 및 replay-safe migration 보강

비차단 후속 권고

  • migration runner는 history table 없이 SQL 전체를 재실행하므로 현재 migration의 replay-safe 불변식을 계속 유지한다.
  • 실제 운영 KIS 응답·RabbitMQ·자격증명 게이트 검증은 별도 승인된 환경에서 수행한다.

범위 경계

현재 완료된 것은 로컬 main의 구현·테스트·PostgreSQL 검증·커밋과 독립 QC PASS다. push, PR, 원격 main 반영, 이미지 게시, 운영 배포, migration 운영 실행, GitHub Release, 실주문은 수행하지 않았으며 완료를 의미하지 않는다.