5.4 KiB
GitHub issue #60 comment evidence
- Source: https://github.com/fourblocks2020/trex-core/issues/60#issuecomment-5336722059
- Author:
genichin - Created At:
2026-08-19T02:20:28Z - Evidence Role: repository-local snapshot of a non-canonical implementation comment
- Canonical Authority: GitHub source comment; this snapshot does not create ProofLine lifecycle status
구현 진행 상황
- 대상: [Discovery] broker 실행 실패의 기록·상태 수렴 경계
- 브랜치:
main - 기준:
main(be98965f2c5d1bad933802282bd7284642203cb8) - 상태: 로컬 main 구현·검증·커밋 및 독립 QC PASS — 미푸시, 미배포
- 최종 업데이트: 2026-08-19 12:57:49 KST
구현 계획 및 작업 목록
- 명시적으로 주문이 거부되고 미체결임이 확인된 매도 주문을 새 주문 없이 보유 상태로 복구한다.
- 주문 배정 정보를 정리하고 기존 보유수량을 유지하는 집중 검증을 통과했다.
- 주문 결과가 불명확한 경우 중복 주문을 만들지 않고 조회·대조 절차를 우선한다.
- 기존 결과불명 sentinel·조회 경로와 재시작 중복 제출 방지 회귀를 확인했다.
- 전략 서비스에 KIS 실패·재시도 판단 정보를 전달하지 않고, core가 자동 주문 재시도를 추가하지 않았음을 검증한다.
- sell 응답의
retryable필드를 제거하고 strategy RPC 응답에 retryability가 없음을 검증했다.
- sell 응답의
- venue 누락 시 SOR 기본값, 명시 venue 보존, AUTO 제거·기존 데이터 전환 계약과의 교차 회귀를 검증한다.
- 원주문
order_venue와 실제execution_venue를 분리하고, KIS allowlist 파싱·outbox 이중 보존·실제 PostgreSQL migration 검증을 완료했다.
- 원주문
- 관련 집중 테스트와 전체 회귀 테스트를 실행하고 결과를 기록한다.
- 변경사항을 검토하고 로컬 main에 커밋한다.
- commits:
15aeae6930f8c3e6ef9cf659f41278b099a78459, blocker fixes7366cadf03fc6002bfd01ecf0cba7c24486bb618,359ea098ff717e7f04cf4206dcbc64ad17b47755; push·PR·배포·릴리스·실주문은 수행하지 않았다.
- commits:
진행 기록
-
2026-08-19 11:29:51 KST — 승인된 이슈 본문과
main기준 SHA를 확인하고 별도 worktree·기능 브랜치 없이 구현을 시작했다. -
2026-08-19 11:29:51 KST — sell 명시적 거부 후
pending_sell → holding, dispatch 정리, 후속 자동 재주문 부재를 검증했다. -
2026-08-19 11:29:51 KST — 결과불명 주문은 durable sentinel과 broker lookup/reconciliation 경로를 유지하며 재제출하지 않는 회귀를 확인했다.
-
2026-08-19 11:29:51 KST — venue 누락→SOR, explicit KRX/NXT/SOR 보존, AUTO admission 거부, wall-clock routing 제거, persisted AUTO→SOR migration을 구현했다.
-
2026-08-19 11:29:51 KST — 집중 테스트
127 passed; 전체 회귀1062 passed, 51 skipped; ruffAll checks passed!. -
2026-08-19 11:29:51 KST — disposable PostgreSQL 16 실제 엔진 검증
23 passed; 검증 컨테이너를 제거했다. -
2026-08-19 11:29:51 KST — 로컬 main commit
15aeae6930f8c3e6ef9cf659f41278b099a78459생성 후 집중 테스트127 passed, ruff 통과, 작업트리 clean을 재확인했다. -
2026-08-19 11:59:05 KST — 독립 QC 결과 FAIL. KIS adapter가 SOR 요청값을 ack/slot/ledger에 그대로 보존하고 일별 체결조회 row의 실제 KRX/NXT venue를 파싱하지 않아 AC 6을 충족하지 못한다. 수정·독립 재검증 전에는 delivery 검증 완료로 판정하지 않는다.
-
2026-08-19 12:47:57 KST — 승인된 해결책을 적용했다. Slot/취소에는 원주문 KRX/NXT/SOR를 유지하고, KIS fill의
ORD_EXG_GB및 명시 exchange-id allowlist에서 실제 KRX/NXT를FillStatus.execution_venue로 전달한다. outbox는order_venue와 실제venue를 분리 저장하며 SOR 단독·미지원 코드는 실제 거래소로 추론하지 않는다. -
2026-08-19 12:47:57 KST — 전체 회귀
1074 passed, 51 skipped, disposable PostgreSQL 16 검증23 passed, ruff 통과, migration 024 및 outbox round-trip을 확인했다. -
2026-08-19 12:48:36 KST — blocker 수정 commit
7366cadf03fc6002bfd01ecf0cba7c24486bb618을 로컬 main에 생성하고 worktree clean을 확인했다. 독립 재QC를 시작했다. -
2026-08-19 12:54:15 KST — 독립 재QC에서 migration 024의 historical SOR actual 값과 replay-safe backfill 결함을 blocker로 확인했다.
order_venue IS NULLone-time backfill, historical SOR actual→NULL, actual venue KRX/NXT/NULL DB constraint를 적용했다. 신규 actual NXT + order KRX 행이 replay 후 보존됨을 검증했다. -
2026-08-19 12:54:15 KST — 수정 commit
359ea098ff717e7f04cf4206dcbc64ad17b47755; 전체1074 passed, 52 skipped, PostgreSQL 1624 passed, ruff 통과, worktree clean. 독립 재QC를 다시 요청한다. -
2026-08-19 12:57:49 KST — 독립 재QC PASS. blocker/critical/major/minor finding 없음. 독립 PG16에서 historical SOR→order SOR+actual NULL, 정상 NXT/KRX replay 보존, actual SOR·AUTO·NULL order 거부를 확인했다. HEAD
359ea098ff717e7f04cf4206dcbc64ad17b47755, worktree clean.
각 작업이 실제로 완료되고 검증될 때마다 이 댓글의 체크박스와 진행 기록을 갱신한다. 체크 표시는 구현 완료 또는 해당 검증의 실제 통과를 의미하며, 배포·릴리스 완료를 의미하지 않는다.