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: