FA-67010 / Railway interlocking logic / Member archive
Level crossing warning timeline: obstacle confirmation · case 05
The protecting signal clears although the obstacle detector never confirmed the crossing empty.
Case contract
Strike-in at t0 starts amber; red follows 3 s later; entrance barriers are down 4 s after red plus lower_s; exit barriers 4 s after that. Half-barrier crossings are proven at entrance-down, four-quadrant crossings at exit-down. Train arrival is t0 + floor(distance*3.6/speed). The protecting signal clears at max(proven, obstacle clear) and never without an obstacle confirmation (None). warning_ok needs arrival-red >= min_warning_s and a clear time no later than arrival - sighting_s.
Why this case matters
Interlocking logic decides whether trains may be given authority; a wrong decision at this point either grants unsafe movements or strands traffic.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: obstacle detector silent | {"arrive": 80, "proved": 15, "signal_clear": 15, "warning_ok": true} | {"arrive": 80, "proved": 15, "signal_clear": null, "warning_ok": false} | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗