fix: runtime staged exit semantics in trading_cycle and run_daily_session (#304) #312
Reference in New Issue
Block a user
Delete Branch "feature/issue-304-runtime-staged-exit-semantics"
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?
Linked Issue
Scope
REQ-V2-001,REQ-V2-002,REQ-V2-003,REQ-V2-004TASK-V2-002,TASK-V2-003,TASK-V2-004,TASK-V2-005,TASK-V2-006TEST-ACC-000,TEST-ACC-001,TEST-ACC-010,TEST-ACC-011Ticket Stage
ObservedMain -> Verifier Directive Contract
src/main.pyHOLD 경로(trading_cycle,run_daily_session)에서 staged exit 적용 여부pytest -q tests/test_main.py -k "hold_overridden_to_sell_when_stop_loss_triggered or hold_overridden_to_sell_when_take_profit_triggered or hold_not_overridden_when_between_stop_loss_and_take_profit or hold_overridden_to_sell_on_be_lock_threat_after_state_arms or runtime_exit_cache_cleared_when_position_closed or run_daily_session_applies_staged_exit_override_on_hold"src/main.pystaged helper + runtime cache cleartrading_cycle/run_daily_session둘 다_apply_staged_exit_override_for_hold호출Coverage MatrixVerifier Coverage Matrix (Required)
trading_cyclerun_daily_sessiontest_hold_overridden_to_sell_on_be_lock_threat_after_state_armstest_runtime_exit_cache_cleared_when_position_closedNOT_OBSERVED가 1개라도 있으면 승인/머지 금지.Gitea Preflight
docs/commands.md와docs/workflow.md트러블슈팅 선확인tea사용 (gh미사용)Session Handover Gate
python3 scripts/session_handover_check.py --strict통과workflow/session-handover.md최신 엔트리가 현재 브랜치/당일(UTC) 기준으로 갱신됨### 2026-02-27 | session=codex-handover-start-2Runtime Evidence
Approval Gate
Validation
[Reviewer Agent]
Finding:
Requested change:
trading_cycleandrun_daily_sessionHOLD paths.[Developer Agent]
Response to reviewer:
_clear_runtime_exit_cache_for_symbol()and applied it before HOLD staged-exit override in both paths whenget_open_position(...)returnsNone.test_runtime_exit_cache_cleared_when_position_closed.[Static Verifier Agent] APPROVED
Coverage Matrix:
_apply_staged_exit_override_for_holdcall intrading_cycle_apply_staged_exit_override_for_holdcall inrun_daily_sessiontest_hold_overridden_to_sell_on_be_lock_threat_after_state_armstest_runtime_exit_cache_cleared_when_position_closedtest_run_daily_session_applies_staged_exit_override_on_holdpython3 scripts/session_handover_check.py --strictpytest -q tests/test_main.py -k "hold_overridden_to_sell_when_stop_loss_triggered or hold_overridden_to_sell_when_take_profit_triggered or hold_not_overridden_when_between_stop_loss_and_take_profit or hold_overridden_to_sell_on_be_lock_threat_after_state_arms or runtime_exit_cache_cleared_when_position_closed or run_daily_session_applies_staged_exit_override_on_hold"[Runtime Verifier Agent] APPROVED
trading_cycle,run_daily_session).