[RISK-EMERGENCY][SCN-FAIL-003] TKT-P0-002 Kill Switch 순서 강제 검증 자동화 #284

Merged
agentson merged 2 commits from feature/issue-tkt-p0-002-killswitch-ordering into feature/v3-session-policy-stream 2026-02-27 00:42:16 +09:00
Collaborator

목적/범위

  • Circuit breaker 경로에서 Kill Switch가 운영 콜백을 실제 실행하도록 연동
  • 고정 순서(block -> cancel_pending -> refresh_state -> reduce_risk -> snapshot -> notify)를 런타임 경로에서 강제

시나리오/분류

  • [RISK-EMERGENCY][SCN-FAIL-003]

추적 ID 매핑

Type IDs
REQ REQ-V2-008
TASK TASK-V2-013, TASK-V2-014, TASK-V2-015, TASK-CODE-003
TEST TEST-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.py
    • clear() 추가 (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 passed
  • pytest -q -> 910 passed
  • python3 scripts/validate_ouroboros_docs.py -> PASS
  • timeout 30s python3 -m src.main --mode paper
    • 기동/종료 정상 (The Ouroboros is alive / Shutdown signal received / The Ouroboros rests.)
    • 해외 잔고 API는 환경 TR 불일치 경고(실전투자 TR 이 아닙니다.) 지속 관측

Closes #283

## 목적/범위 - Circuit breaker 경로에서 Kill Switch가 운영 콜백을 실제 실행하도록 연동 - 고정 순서(`block -> cancel_pending -> refresh_state -> reduce_risk -> snapshot -> notify`)를 런타임 경로에서 강제 ## 시나리오/분류 - `[RISK-EMERGENCY][SCN-FAIL-003]` ## 추적 ID 매핑 | Type | IDs | | --- | --- | | REQ | `REQ-V2-008` | | TASK | `TASK-V2-013`, `TASK-V2-014`, `TASK-V2-015`, `TASK-CODE-003` | | TEST | `TEST-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.py` - `clear()` 추가 (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 passed` - `pytest -q` -> `910 passed` - `python3 scripts/validate_ouroboros_docs.py` -> PASS - `timeout 30s python3 -m src.main --mode paper` - 기동/종료 정상 (`The Ouroboros is alive` / `Shutdown signal received` / `The Ouroboros rests.`) - 해외 잔고 API는 환경 TR 불일치 경고(`실전투자 TR 이 아닙니다.`) 지속 관측 Closes #283
agentson added 1 commit 2026-02-27 00:38:37 +09:00
agentson added 1 commit 2026-02-27 00:41:15 +09:00
Author
Collaborator

[Reviewer Agent] 초기 지적(취소 API rt_cd 무시, 실패 경로 테스트 공백) 재검토 완료. 최신 커밋에서 모두 해소됨. Ready for verifier: YES.

[Reviewer Agent] 초기 지적(취소 API rt_cd 무시, 실패 경로 테스트 공백) 재검토 완료. 최신 커밋에서 모두 해소됨. Ready for verifier: YES.
Author
Collaborator

[Dev Agent] 리뷰 반영: (1) KillSwitch 취소 단계에서 domestic/overseas cancel rt_cd 검증 추가 (2) 실패 내역을 RuntimeError로 승격해 report.errors에 기록 (3) 실패 경로 테스트 추가. 검증: targeted 5 passed, full 911 passed.

[Dev Agent] 리뷰 반영: (1) KillSwitch 취소 단계에서 domestic/overseas cancel rt_cd 검증 추가 (2) 실패 내역을 RuntimeError로 승격해 report.errors에 기록 (3) 실패 경로 테스트 추가. 검증: targeted 5 passed, full 911 passed.
Author
Collaborator

[Runtime Verifier] 최신 커밋 기준 실행 증적: timeout 20s python3 -m src.main --mode paper. 기동/종료 정상(The Ouroboros is alive -> Shutdown signal received -> The Ouroboros rests). 환경 특이사항: EGW02004(실전투자 TR 불일치)로 해외 잔고 조회 실패 반복 관측.

[Runtime Verifier] 최신 커밋 기준 실행 증적: timeout 20s python3 -m src.main --mode paper. 기동/종료 정상(The Ouroboros is alive -> Shutdown signal received -> The Ouroboros rests). 환경 특이사항: EGW02004(실전투자 TR 불일치)로 해외 잔고 조회 실패 반복 관측.
Author
Collaborator

[Verifier Agent] 티켓 전용 검증 계획 기준 PASS. 문서검증(validate_ouroboros_docs) 통과, 테스트(targeted/full) 통과, 런타임 모니터링 증적 확인. Verification 승인.

[Verifier Agent] 티켓 전용 검증 계획 기준 PASS. 문서검증(validate_ouroboros_docs) 통과, 테스트(targeted/full) 통과, 런타임 모니터링 증적 확인. Verification 승인.
agentson merged commit b0100fde10 into feature/v3-session-policy-stream 2026-02-27 00:42:16 +09:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: jihoson/The-Ouroboros#284