# GitHub issue #60 comment evidence - Source: https://github.com/fourblocks2020/trex-core/issues/60#issuecomment-5337338182 - Author: `genichin` - Created At: `2026-08-19T03:57:52Z` - Evidence Role: repository-local snapshot of a non-canonical implementation comment - Canonical Authority: GitHub source comment; this snapshot does not create ProofLine lifecycle status --- ## 구현 완료 ### 구현 내용 - 명시적 주문 미수락·미체결 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, 실주문은 수행하지 않았으며 완료를 의미하지 않는다.