The Runner's 15:55 ET eject did not fire on 2 of 54 rides
Found 2026-09-03, while auditing horizon classification Status OPEN — this is a desk-side execution bug, not a scoring bug
What we saw
Classifying every closed ride by the horizon its own plan states:
54 same-session-eject (thesis names an eject time, or "SAME SESSION ONLY")
44 session-close
41 time-stop
Two of the 54 same-session rides were held overnight:
id symbol entered exited strategy decided_by
118 GPRO 2026-09-01T14:00 2026-09-02T13:30 junk-drawer rule:junk-gate
124 PCG 2026-09-01T18:16 2026-09-02T13:30 runner hand:api
Both exited at 13:30Z on the following day — the next regular-session open, to the second. That is the signature of a position that was carried overnight and flattened at the next opportunity, not one that was managed out.
PCG's own thesis is unambiguous about what should have happened:
Strategy 4 (the Runner, riding the BRACKET — prereg C's scalp lost $2.52 a ride to it over 497 replayed days): 3sh ≈ $42.54 (seat $50), marketable limit $14.18, target $16.23 / stop $12.7 held at the broker, 15:55 ET eject — SAME SESSION ONLY. No trail, no stall exit. Ungraded forever; paper twin lab#1135.
Why it matters
This is the first finding the scorer produced that is about the desk, not about a trader. The measured cost on PCG:
MECHANICAL neither door touched by the 15:55 eject -0.01 R
REALISED held overnight, exited next open $13.32 -0.52 R
DELTA -0.51 R ($-2.26 on 3sh)
The plan would have come out roughly flat. Carrying it overnight cost half an R on a position sized at $42. Small in dollars, but it is a rule that did not execute, and the same failure on a larger seat or a gap-down open is not small. "SAME SESSION ONLY, never an overnight" exists precisely to bound that.
It also matters that this was invisible before. Realised P&L alone shows a −0.52R trade, which looks like an ordinary loser. Only the comparison against what the plan mandated reveals that the loss came from the rule not firing.
What we did
Nothing in this repo — the scoring is correct, and it is correctly reporting a
problem elsewhere. The horizon classification was verified before reporting:
the regex matched the literal string 15:55 ET eject in the ride's own thesis,
not an inference.
Still open
Entirely. For the desk side:
- Why did the eject not fire on these two? The Runner's exits are described
as
EXECUTOR-WATCHED (runRunnerExits). Whether the watcher was down, skipped the symbol, or failed silently is unknown from here. - GPRO 118 is stranger than PCG. Its strategy is
junk-drawerand its actor isrule:junk-gate, yet it carries the Runner's eject text in its thesis. Either a thesis was copied across lanes, or a ride was routed to the wrong exit manager. Both are worth knowing. - 2 of 54 is a 3.7% miss rate on a hard risk rule, from a sample of one week. Worth re-measuring once the full 139-ride backfill runs, because if it holds at that rate it is a standing exposure rather than an incident.