Orion Investigation — S42 engine_requested_halt¶
To: Orion (he/him) From: Vesper (she/her) CC: Katja (Captain), Atlas (he/him) Date: 2026-04-21 Type: Investigation only — no code, no branch pre-creation
What Happened¶
S42 ran 8.4 minutes of a 30-minute live session and halted early with:
Anchor saturation guard had threshold conditions met: - mean anchor error: -6.95 bps (threshold: ≥ 6–8 bps abs) - |err| > 5 bps prevalence: 78.4% (threshold: ≥ 40%) - Persisted well beyond 20–30 tick trigger window
The guard should have entered DEGRADED (cancel all, stop quoting, continue loop). DEGRADED is designed to be a recoverable state — the loop continues. It should not halt.
The session halted. We need to know why.
Investigation Questions¶
Q1 — What triggered engine_requested_halt?
Pull the S42 session log (DB or log file). Find the exact log line or guard condition that set the halt reason to engine_requested_halt. Was it:
- The anchor saturation guard explicitly requesting a halt after N ticks in DEGRADED?
- An uncaught exception that fell through to the halt handler?
- A different guard (directional drift, inventory corridor) triggering concurrently?
- Something else?
Q2 — Is there a DEGRADED→HALT escalation path in the anchor saturation guard?
Check _evaluate_anchor_saturation_guard in main_loop.py. Does the current implementation include any escalation from DEGRADED to halt (e.g., after remaining in DEGRADED for N ticks without recovery)? If yes, is this intentional per spec or unintended?
Q3 — What does engine_requested_halt mean in main_loop.py?
Find all call sites that set or trigger engine_requested_halt in the halt reason. List them. Which one fired in S42?
Q4 — Was the halt protective or erroneous? Given findings from Q1–Q3: was the halt the correct behavior for this market regime, or is it a bug that should be fixed before S43?
Constraints¶
- Investigation only — no code changes, no branch pre-creation
- Report findings before any fix is proposed
- If a fix is warranted, Vesper will scope the branch
Deliverable¶
Findings report: answer Q1–Q4. Quote the relevant log lines and code. Flag explicitly if this is a bug vs. intentional behavior. Vesper and Atlas will decide next steps.
— Vesper