FAILURE MAP

Understand the failure.
Verify the repair.

Small, reproducible software failures. The broken implementation, the fix that didn’t work, and the one that passed—preserved together.

Explore the cases ↓How results are verified ↗
100840Executable case variants
20168Distinct failure mechanisms
302520Executed implementations
20168Open-access cases

WHAT THE ARCHIVE CONTAINS

100840 executable cases. 20168 are open.

Every case records the implementation that fails, the fix that did not work, and the repair that passed its checks—with recorded outputs and source hashes. This release adds 100840 cases across 20168 failure mechanisms and 254 domains.

The open tier gives you the failure and the unsuccessful fix for one case in every mechanism. The remaining 80672 cases, 5 variants per mechanism, are member-only: the verified repair, its recorded checks, and the full fixture suite are held in the member archive. Read the methodology ↗

A RECORD OF WHAT WENT WRONG

Browse the archive / 100840

Python · Standard library
REFERENCEFAILURE MECHANISMDOMAINACCESS
FA-66901

Point machine throw control: missing detection · case 01

A point that never regains detection is reported as moved.

Railway interlocking logic● Open access↗
FA-66902

Point machine throw control: missing detection · case 02

A point that never regains detection is reported as moved.

Railway interlocking logic◈ Members↗
FA-66903

Point machine throw control: missing detection · case 03

A point that never regains detection is reported as moved.

Railway interlocking logic◈ Members↗
FA-66904

Point machine throw control: missing detection · case 04

A point that never regains detection is reported as moved.

Railway interlocking logic◈ Members↗
FA-66905

Point machine throw control: missing detection · case 05

A point that never regains detection is reported as moved.

Railway interlocking logic◈ Members↗
FA-66906

Point machine throw control: in-position under lock · case 01

A command matching the current lie is refused because the point is locked.

Railway interlocking logic● Open access↗
FA-66907

Point machine throw control: in-position under lock · case 02

A command matching the current lie is refused because the point is locked.

Railway interlocking logic◈ Members↗
FA-66908

Point machine throw control: in-position under lock · case 03

A command matching the current lie is refused because the point is locked.

Railway interlocking logic◈ Members↗
FA-66909

Point machine throw control: in-position under lock · case 04

A command matching the current lie is refused because the point is locked.

Railway interlocking logic◈ Members↗
FA-66910

Point machine throw control: in-position under lock · case 05

A command matching the current lie is refused because the point is locked.

Railway interlocking logic◈ Members↗
FA-66911

Point machine throw control: failed throw position · case 01

After a failed throw the point is still reported detected in a lie.

Railway interlocking logic● Open access↗
FA-66912

Point machine throw control: failed throw position · case 02

After a failed throw the point is still reported detected in a lie.

Railway interlocking logic◈ Members↗
FA-66913

Point machine throw control: failed throw position · case 03

After a failed throw the point is still reported detected in a lie.

Railway interlocking logic◈ Members↗
FA-66914

Point machine throw control: failed throw position · case 04

After a failed throw the point is still reported detected in a lie.

Railway interlocking logic◈ Members↗
FA-66915

Point machine throw control: failed throw position · case 05

After a failed throw the point is still reported detected in a lie.

Railway interlocking logic◈ Members↗
FA-66916

Approach locking time release: release deadline evaluation · case 01

An approach-locked route stays locked at the instant its timer expires.

Railway interlocking logic● Open access↗
FA-66917

Approach locking time release: release deadline evaluation · case 02

An approach-locked route stays locked at the instant its timer expires.

Railway interlocking logic◈ Members↗
FA-66918

Approach locking time release: release deadline evaluation · case 03

An approach-locked route stays locked at the instant its timer expires.

Railway interlocking logic◈ Members↗
FA-66919

Approach locking time release: release deadline evaluation · case 04

An approach-locked route stays locked at the instant its timer expires.

Railway interlocking logic◈ Members↗
FA-66920

Approach locking time release: release deadline evaluation · case 05

An approach-locked route stays locked at the instant its timer expires.

Railway interlocking logic◈ Members↗
FA-66921

Approach locking time release: approach clearance reset · case 01

A route is approach-locked although the approaching train has already left.

Railway interlocking logic● Open access↗
FA-66922

Approach locking time release: approach clearance reset · case 02

A route is approach-locked although the approaching train has already left.

Railway interlocking logic◈ Members↗
FA-66923

Approach locking time release: approach clearance reset · case 03

A route is approach-locked although the approaching train has already left.

Railway interlocking logic◈ Members↗
FA-66924

Approach locking time release: approach clearance reset · case 04

A route is approach-locked although the approaching train has already left.

Railway interlocking logic◈ Members↗
FA-66925

Approach locking time release: approach clearance reset · case 05

A route is approach-locked although the approaching train has already left.

Railway interlocking logic◈ Members↗
FA-66926

Approach locking time release: lock deadline recomputation · case 01

A second approach lock reports the deadline of an earlier lock.

Railway interlocking logic● Open access↗
FA-66927

Approach locking time release: lock deadline recomputation · case 02

A second approach lock reports the deadline of an earlier lock.

Railway interlocking logic◈ Members↗
FA-66928

Approach locking time release: lock deadline recomputation · case 03

A second approach lock reports the deadline of an earlier lock.

Railway interlocking logic◈ Members↗
FA-66929

Approach locking time release: lock deadline recomputation · case 04

A second approach lock reports the deadline of an earlier lock.

Railway interlocking logic◈ Members↗
FA-66930

Approach locking time release: lock deadline recomputation · case 05

A second approach lock reports the deadline of an earlier lock.

Railway interlocking logic◈ Members↗
FA-66931

Approach locking time release: cancel while in use · case 01

Cancelling frees a route that a train is still using.

Railway interlocking logic● Open access↗
FA-66932

Approach locking time release: cancel while in use · case 02

Cancelling frees a route that a train is still using.

Railway interlocking logic◈ Members↗
FA-66933

Approach locking time release: cancel while in use · case 03

Cancelling frees a route that a train is still using.

Railway interlocking logic◈ Members↗
FA-66934

Approach locking time release: cancel while in use · case 04

Cancelling frees a route that a train is still using.

Railway interlocking logic◈ Members↗
FA-66935

Approach locking time release: cancel while in use · case 05

Cancelling frees a route that a train is still using.

Railway interlocking logic◈ Members↗
FA-66936

Approach locking time release: set admission · case 01

Setting a route clears an active approach lock early, or a route cannot be set for an approaching train.

Railway interlocking logic● Open access↗
FA-66937

Approach locking time release: set admission · case 02

Setting a route clears an active approach lock early, or a route cannot be set for an approaching train.

Railway interlocking logic◈ Members↗
FA-66938

Approach locking time release: set admission · case 03

Setting a route clears an active approach lock early, or a route cannot be set for an approaching train.

Railway interlocking logic◈ Members↗
FA-66939

Approach locking time release: set admission · case 04

Setting a route clears an active approach lock early, or a route cannot be set for an approaching train.

Railway interlocking logic◈ Members↗
FA-66940

Approach locking time release: set admission · case 05

Setting a route clears an active approach lock early, or a route cannot be set for an approaching train.

Railway interlocking logic◈ Members↗
FA-66941

Sectional route release: successor occupancy proof · case 01

A section is released although the train never moved on into the next section.

Railway interlocking logic● Open access↗
FA-66942

Sectional route release: successor occupancy proof · case 02

A section is released although the train never moved on into the next section.

Railway interlocking logic◈ Members↗
FA-66943

Sectional route release: successor occupancy proof · case 03

A section is released although the train never moved on into the next section.

Railway interlocking logic◈ Members↗
FA-66944

Sectional route release: successor occupancy proof · case 04

A section is released although the train never moved on into the next section.

Railway interlocking logic◈ Members↗
FA-66945

Sectional route release: successor occupancy proof · case 05

A section is released although the train never moved on into the next section.

Railway interlocking logic◈ Members↗
FA-66946

Sectional route release: release ordering · case 01

A middle section is released while the section behind it is still locked.

Railway interlocking logic● Open access↗
FA-66947

Sectional route release: release ordering · case 02

A middle section is released while the section behind it is still locked.

Railway interlocking logic◈ Members↗
FA-66948

Sectional route release: release ordering · case 03

A middle section is released while the section behind it is still locked.

Railway interlocking logic◈ Members↗
FA-66949

Sectional route release: release ordering · case 04

A middle section is released while the section behind it is still locked.

Railway interlocking logic◈ Members↗
FA-66950

Sectional route release: release ordering · case 05

A middle section is released while the section behind it is still locked.

Railway interlocking logic◈ Members↗
FA-66951

Sectional route release: fault latch · case 01

Release resumes after a track circuit clears without having been occupied.

Railway interlocking logic● Open access↗
FA-66952

Sectional route release: fault latch · case 02

Release resumes after a track circuit clears without having been occupied.

Railway interlocking logic◈ Members↗
FA-66953

Sectional route release: fault latch · case 03

Release resumes after a track circuit clears without having been occupied.

Railway interlocking logic◈ Members↗
FA-66954

Sectional route release: fault latch · case 04

Release resumes after a track circuit clears without having been occupied.

Railway interlocking logic◈ Members↗
FA-66955

Sectional route release: fault latch · case 05

Release resumes after a track circuit clears without having been occupied.

Railway interlocking logic◈ Members↗
FA-66956

Sectional route release: duplicate release · case 01

A section appears twice in the release list after being re-occupied.

Railway interlocking logic● Open access↗
FA-66957

Sectional route release: duplicate release · case 02

A section appears twice in the release list after being re-occupied.

Railway interlocking logic◈ Members↗
FA-66958

Sectional route release: duplicate release · case 03

A section appears twice in the release list after being re-occupied.

Railway interlocking logic◈ Members↗
FA-66959

Sectional route release: duplicate release · case 04

A section appears twice in the release list after being re-occupied.

Railway interlocking logic◈ Members↗
FA-66960

Sectional route release: duplicate release · case 05

A section appears twice in the release list after being re-occupied.

Railway interlocking logic◈ Members↗
FA-66961

Axle counter section supervision: under-count handling · case 01

A section that counted out more axles than in is reported clear.

Railway interlocking logic● Open access↗
FA-66962

Axle counter section supervision: under-count handling · case 02

A section that counted out more axles than in is reported clear.

Railway interlocking logic◈ Members↗
FA-66963

Axle counter section supervision: under-count handling · case 03

A section that counted out more axles than in is reported clear.

Railway interlocking logic◈ Members↗
FA-66964

Axle counter section supervision: under-count handling · case 04

A section that counted out more axles than in is reported clear.

Railway interlocking logic◈ Members↗
FA-66965

Axle counter section supervision: under-count handling · case 05

A section that counted out more axles than in is reported clear.

Railway interlocking logic◈ Members↗
FA-66966

Axle counter section supervision: reset acceptance · case 01

An operator reset of a miscounted or a disturbed section is ignored.

Railway interlocking logic● Open access↗
FA-66967

Axle counter section supervision: reset acceptance · case 02

An operator reset of a miscounted or a disturbed section is ignored.

Railway interlocking logic◈ Members↗
FA-66968

Axle counter section supervision: reset acceptance · case 03

An operator reset of a miscounted or a disturbed section is ignored.

Railway interlocking logic◈ Members↗
FA-66969

Axle counter section supervision: reset acceptance · case 04

An operator reset of a miscounted or a disturbed section is ignored.

Railway interlocking logic◈ Members↗
FA-66970

Axle counter section supervision: reset acceptance · case 05

An operator reset of a miscounted or a disturbed section is ignored.

Railway interlocking logic◈ Members↗
FA-66971

Axle counter section supervision: sweep completion · case 01

The preparatory state ends before the sweep train has left the section.

Railway interlocking logic● Open access↗
FA-66972

Axle counter section supervision: sweep completion · case 02

The preparatory state ends before the sweep train has left the section.

Railway interlocking logic◈ Members↗
FA-66973

Axle counter section supervision: sweep completion · case 03

The preparatory state ends before the sweep train has left the section.

Railway interlocking logic◈ Members↗
FA-66974

Axle counter section supervision: sweep completion · case 04

The preparatory state ends before the sweep train has left the section.

Railway interlocking logic◈ Members↗
FA-66975

Axle counter section supervision: sweep completion · case 05

The preparatory state ends before the sweep train has left the section.

Railway interlocking logic◈ Members↗
FA-66976

Axle counter section supervision: state precedence · case 01

A section under preparatory reset is shown as ordinarily occupied while the sweep train passes.

Railway interlocking logic● Open access↗
FA-66977

Axle counter section supervision: state precedence · case 02

A section under preparatory reset is shown as ordinarily occupied while the sweep train passes.

Railway interlocking logic◈ Members↗
FA-66978

Axle counter section supervision: state precedence · case 03

A section under preparatory reset is shown as ordinarily occupied while the sweep train passes.

Railway interlocking logic◈ Members↗
FA-66979

Axle counter section supervision: state precedence · case 04

A section under preparatory reset is shown as ordinarily occupied while the sweep train passes.

Railway interlocking logic◈ Members↗
FA-66980

Axle counter section supervision: state precedence · case 05

A section under preparatory reset is shown as ordinarily occupied while the sweep train passes.

Railway interlocking logic◈ Members↗
FA-66981

Track circuit pick-up delay: pick-up delay boundary · case 01

A section stays occupied one sample longer than its pick-up delay.

Railway interlocking logic● Open access↗
FA-66982

Track circuit pick-up delay: pick-up delay boundary · case 02

A section stays occupied one sample longer than its pick-up delay.

Railway interlocking logic◈ Members↗
FA-66983

Track circuit pick-up delay: pick-up delay boundary · case 03

A section stays occupied one sample longer than its pick-up delay.

Railway interlocking logic◈ Members↗
FA-66984

Track circuit pick-up delay: pick-up delay boundary · case 04

A section stays occupied one sample longer than its pick-up delay.

Railway interlocking logic◈ Members↗
FA-66985

Track circuit pick-up delay: pick-up delay boundary · case 05

A section stays occupied one sample longer than its pick-up delay.

Railway interlocking logic◈ Members↗
FA-66986

Track circuit pick-up delay: shunt restart · case 01

A section clears after a train has bobbed the shunt without enough consecutive clear samples.

Railway interlocking logic● Open access↗
FA-66987

Track circuit pick-up delay: shunt restart · case 02

A section clears after a train has bobbed the shunt without enough consecutive clear samples.

Railway interlocking logic◈ Members↗
FA-66988

Track circuit pick-up delay: shunt restart · case 03

A section clears after a train has bobbed the shunt without enough consecutive clear samples.

Railway interlocking logic◈ Members↗
FA-66989

Track circuit pick-up delay: shunt restart · case 04

A section clears after a train has bobbed the shunt without enough consecutive clear samples.

Railway interlocking logic◈ Members↗
FA-66990

Track circuit pick-up delay: shunt restart · case 05

A section clears after a train has bobbed the shunt without enough consecutive clear samples.

Railway interlocking logic◈ Members↗
FA-66991

Track circuit pick-up delay: failure sample handling · case 01

A receiver failure sample counts towards clearing the section.

Railway interlocking logic● Open access↗
FA-66992

Track circuit pick-up delay: failure sample handling · case 02

A receiver failure sample counts towards clearing the section.

Railway interlocking logic◈ Members↗
FA-66993

Track circuit pick-up delay: failure sample handling · case 03

A receiver failure sample counts towards clearing the section.

Railway interlocking logic◈ Members↗
FA-66994

Track circuit pick-up delay: failure sample handling · case 04

A receiver failure sample counts towards clearing the section.

Railway interlocking logic◈ Members↗
FA-66995

Track circuit pick-up delay: failure sample handling · case 05

A receiver failure sample counts towards clearing the section.

Railway interlocking logic◈ Members↗
FA-66996

Level crossing warning timeline: arrival speed units · case 01

The predicted train arrival is far too early or rounded later than the train can arrive.

Railway interlocking logic● Open access↗
FA-66997

Level crossing warning timeline: arrival speed units · case 02

The predicted train arrival is far too early or rounded later than the train can arrive.

Railway interlocking logic◈ Members↗
FA-66998

Level crossing warning timeline: arrival speed units · case 03

The predicted train arrival is far too early or rounded later than the train can arrive.

Railway interlocking logic◈ Members↗
FA-66999

Level crossing warning timeline: arrival speed units · case 04

The predicted train arrival is far too early or rounded later than the train can arrive.

Railway interlocking logic◈ Members↗
FA-67000

Level crossing warning timeline: arrival speed units · case 05

The predicted train arrival is far too early or rounded later than the train can arrive.

Railway interlocking logic◈ Members↗

INSPECTABLE BY DESIGN

Every result has a runnable source.

Runnable implementations with recorded outputs, source hashes, and explicit contracts. Related variants share a failure mechanism and belong together in evaluation splits.

Read the methodology ↗