[RISK-EMERGENCY][SCN-FAIL-003] TKT-P0-002 Kill Switch 순서 강제 검증 자동화 #284
Reference in New Issue
Block a user
Delete Branch "feature/issue-tkt-p0-002-killswitch-ordering"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
목적/범위
block -> cancel_pending -> refresh_state -> reduce_risk -> snapshot -> notify)를 런타임 경로에서 강제시나리오/분류
[RISK-EMERGENCY][SCN-FAIL-003]추적 ID 매핑
REQ-V2-008TASK-V2-013,TASK-V2-014,TASK-V2-015,TASK-CODE-003TEST-ACC-002,TEST-ACC-018구현 내용
src/main.py_trigger_emergency_kill_switch추가: Kill Switch 각 단계 콜백 구성cancel_pending_orders: 국내/해외 미체결 조회 후 취소 수행refresh_order_state: 시장별 잔고 재조회 수행reduce_risk: 블랙아웃 큐 비우기(미집행 의도 제거)notify:notify_circuit_breaker를 Kill Switch 단계로 일원화trading_cycle,run_daily_session의 CB 예외 경로를 공통 helper로 치환src/core/blackout_manager.pyclear()추가 (reduce_risk 단계에서 사용)tests/test_main.py_trigger_emergency_kill_switch단계 실행 검증 테스트 추가검증 증적
pytest -q tests/test_kill_switch.py tests/test_main.py -k "kill_switch or trigger_emergency"->4 passedpytest -q->910 passedpython3 scripts/validate_ouroboros_docs.py-> PASStimeout 30s python3 -m src.main --mode paperThe Ouroboros is alive/Shutdown signal received/The Ouroboros rests.)실전투자 TR 이 아닙니다.) 지속 관측Closes #283
[Reviewer Agent] 초기 지적(취소 API rt_cd 무시, 실패 경로 테스트 공백) 재검토 완료. 최신 커밋에서 모두 해소됨. Ready for verifier: YES.
[Dev Agent] 리뷰 반영: (1) KillSwitch 취소 단계에서 domestic/overseas cancel rt_cd 검증 추가 (2) 실패 내역을 RuntimeError로 승격해 report.errors에 기록 (3) 실패 경로 테스트 추가. 검증: targeted 5 passed, full 911 passed.
[Runtime Verifier] 최신 커밋 기준 실행 증적: timeout 20s python3 -m src.main --mode paper. 기동/종료 정상(The Ouroboros is alive -> Shutdown signal received -> The Ouroboros rests). 환경 특이사항: EGW02004(실전투자 TR 불일치)로 해외 잔고 조회 실패 반복 관측.
[Verifier Agent] 티켓 전용 검증 계획 기준 PASS. 문서검증(validate_ouroboros_docs) 통과, 테스트(targeted/full) 통과, 런타임 모니터링 증적 확인. Verification 승인.