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-67101

Movement authority end computation: margin application · case 01

A length-capped authority is shortened by the safety margin.

Railway interlocking logic● Open access↗
FA-67102

Movement authority end computation: margin application · case 02

A length-capped authority is shortened by the safety margin.

Railway interlocking logic◈ Members↗
FA-67103

Movement authority end computation: margin application · case 03

A length-capped authority is shortened by the safety margin.

Railway interlocking logic◈ Members↗
FA-67104

Movement authority end computation: margin application · case 04

A length-capped authority is shortened by the safety margin.

Railway interlocking logic◈ Members↗
FA-67105

Movement authority end computation: margin application · case 05

A length-capped authority is shortened by the safety margin.

Railway interlocking logic◈ Members↗
FA-67106

Two-out-of-three occupancy voting: tie resolution · case 01

Two healthy channels that disagree produce a clear vote.

Railway interlocking logic● Open access↗
FA-67107

Two-out-of-three occupancy voting: tie resolution · case 02

Two healthy channels that disagree produce a clear vote.

Railway interlocking logic◈ Members↗
FA-67108

Two-out-of-three occupancy voting: tie resolution · case 03

Two healthy channels that disagree produce a clear vote.

Railway interlocking logic◈ Members↗
FA-67109

Two-out-of-three occupancy voting: tie resolution · case 04

Two healthy channels that disagree produce a clear vote.

Railway interlocking logic◈ Members↗
FA-67110

Two-out-of-three occupancy voting: tie resolution · case 05

Two healthy channels that disagree produce a clear vote.

Railway interlocking logic◈ Members↗
FA-67111

Two-out-of-three occupancy voting: minimum healthy channels · case 01

A single surviving channel is trusted to declare the section clear.

Railway interlocking logic● Open access↗
FA-67112

Two-out-of-three occupancy voting: minimum healthy channels · case 02

A single surviving channel is trusted to declare the section clear.

Railway interlocking logic◈ Members↗
FA-67113

Two-out-of-three occupancy voting: minimum healthy channels · case 03

A single surviving channel is trusted to declare the section clear.

Railway interlocking logic◈ Members↗
FA-67114

Two-out-of-three occupancy voting: minimum healthy channels · case 04

A single surviving channel is trusted to declare the section clear.

Railway interlocking logic◈ Members↗
FA-67115

Two-out-of-three occupancy voting: minimum healthy channels · case 05

A single surviving channel is trusted to declare the section clear.

Railway interlocking logic◈ Members↗
FA-67116

Two-out-of-three occupancy voting: discrepancy reset · case 01

A channel is isolated after scattered, non-consecutive discrepancies.

Railway interlocking logic● Open access↗
FA-67117

Two-out-of-three occupancy voting: discrepancy reset · case 02

A channel is isolated after scattered, non-consecutive discrepancies.

Railway interlocking logic◈ Members↗
FA-67118

Two-out-of-three occupancy voting: discrepancy reset · case 03

A channel is isolated after scattered, non-consecutive discrepancies.

Railway interlocking logic◈ Members↗
FA-67119

Two-out-of-three occupancy voting: discrepancy reset · case 04

A channel is isolated after scattered, non-consecutive discrepancies.

Railway interlocking logic◈ Members↗
FA-67120

Two-out-of-three occupancy voting: discrepancy reset · case 05

A channel is isolated after scattered, non-consecutive discrepancies.

Railway interlocking logic◈ Members↗
FA-67121

Two-out-of-three occupancy voting: isolation policy · case 01

A persistently dissenting channel keeps voting one cycle too long or is never isolated.

Railway interlocking logic● Open access↗
FA-67122

Two-out-of-three occupancy voting: isolation policy · case 02

A persistently dissenting channel keeps voting one cycle too long or is never isolated.

Railway interlocking logic◈ Members↗
FA-67123

Two-out-of-three occupancy voting: isolation policy · case 03

A persistently dissenting channel keeps voting one cycle too long or is never isolated.

Railway interlocking logic◈ Members↗
FA-67124

Two-out-of-three occupancy voting: isolation policy · case 04

A persistently dissenting channel keeps voting one cycle too long or is never isolated.

Railway interlocking logic◈ Members↗
FA-67125

Two-out-of-three occupancy voting: isolation policy · case 05

A persistently dissenting channel keeps voting one cycle too long or is never isolated.

Railway interlocking logic◈ Members↗
FA-67126

Two-out-of-three occupancy voting: isolated channel exclusion · case 01

An isolated channel continues to influence the vote.

Railway interlocking logic● Open access↗
FA-67127

Two-out-of-three occupancy voting: isolated channel exclusion · case 02

An isolated channel continues to influence the vote.

Railway interlocking logic◈ Members↗
FA-67128

Two-out-of-three occupancy voting: isolated channel exclusion · case 03

An isolated channel continues to influence the vote.

Railway interlocking logic◈ Members↗
FA-67129

Two-out-of-three occupancy voting: isolated channel exclusion · case 04

An isolated channel continues to influence the vote.

Railway interlocking logic◈ Members↗
FA-67130

Two-out-of-three occupancy voting: isolated channel exclusion · case 05

An isolated channel continues to influence the vote.

Railway interlocking logic◈ Members↗
FA-67131

Train describer berth stepping: empty berth step · case 01

A train stepping from an unlabelled berth loses its description entirely.

Railway interlocking logic● Open access↗
FA-67132

Train describer berth stepping: empty berth step · case 02

A train stepping from an unlabelled berth loses its description entirely.

Railway interlocking logic◈ Members↗
FA-67133

Train describer berth stepping: empty berth step · case 03

A train stepping from an unlabelled berth loses its description entirely.

Railway interlocking logic◈ Members↗
FA-67134

Train describer berth stepping: empty berth step · case 04

A train stepping from an unlabelled berth loses its description entirely.

Railway interlocking logic◈ Members↗
FA-67135

Train describer berth stepping: empty berth step · case 05

A train stepping from an unlabelled berth loses its description entirely.

Railway interlocking logic◈ Members↗
FA-67136

Train describer berth stepping: source berth blanking · case 01

A description stays behind in the berth the train has left.

Railway interlocking logic● Open access↗
FA-67137

Train describer berth stepping: source berth blanking · case 02

A description stays behind in the berth the train has left.

Railway interlocking logic◈ Members↗
FA-67138

Train describer berth stepping: source berth blanking · case 03

A description stays behind in the berth the train has left.

Railway interlocking logic◈ Members↗
FA-67139

Train describer berth stepping: source berth blanking · case 04

A description stays behind in the berth the train has left.

Railway interlocking logic◈ Members↗
FA-67140

Train describer berth stepping: source berth blanking · case 05

A description stays behind in the berth the train has left.

Railway interlocking logic◈ Members↗
FA-67141

Train describer berth stepping: area exit berth · case 01

Trains leave the describer area one berth early, or unknown trains vanish without trace.

Railway interlocking logic● Open access↗
FA-67142

Train describer berth stepping: area exit berth · case 02

Trains leave the describer area one berth early, or unknown trains vanish without trace.

Railway interlocking logic◈ Members↗
FA-67143

Train describer berth stepping: area exit berth · case 03

Trains leave the describer area one berth early, or unknown trains vanish without trace.

Railway interlocking logic◈ Members↗
FA-67144

Train describer berth stepping: area exit berth · case 04

Trains leave the describer area one berth early, or unknown trains vanish without trace.

Railway interlocking logic◈ Members↗
FA-67145

Train describer berth stepping: area exit berth · case 05

Trains leave the describer area one berth early, or unknown trains vanish without trace.

Railway interlocking logic◈ Members↗
FA-67146

Train describer berth stepping: clash detection · case 01

Overwriting a description in an occupied berth goes unreported.

Railway interlocking logic● Open access↗
FA-67147

Train describer berth stepping: clash detection · case 02

Overwriting a description in an occupied berth goes unreported.

Railway interlocking logic◈ Members↗
FA-67148

Train describer berth stepping: clash detection · case 03

Overwriting a description in an occupied berth goes unreported.

Railway interlocking logic◈ Members↗
FA-67149

Train describer berth stepping: clash detection · case 04

Overwriting a description in an occupied berth goes unreported.

Railway interlocking logic◈ Members↗
FA-67150

Train describer berth stepping: clash detection · case 05

Overwriting a description in an occupied berth goes unreported.

Railway interlocking logic◈ Members↗
FA-67151

Signal lamp proving and aspect degradation: auxiliary filament fallback · case 01

A signal degrades although its auxiliary filament is working.

Railway interlocking logic● Open access↗
FA-67152

Signal lamp proving and aspect degradation: auxiliary filament fallback · case 02

A signal degrades although its auxiliary filament is working.

Railway interlocking logic◈ Members↗
FA-67153

Signal lamp proving and aspect degradation: auxiliary filament fallback · case 03

A signal degrades although its auxiliary filament is working.

Railway interlocking logic◈ Members↗
FA-67154

Signal lamp proving and aspect degradation: auxiliary filament fallback · case 04

A signal degrades although its auxiliary filament is working.

Railway interlocking logic◈ Members↗
FA-67155

Signal lamp proving and aspect degradation: auxiliary filament fallback · case 05

A signal degrades although its auxiliary filament is working.

Railway interlocking logic◈ Members↗
FA-67156

Signal lamp proving and aspect degradation: degradation direction · case 01

A signal with a failed lamp shows a less restrictive aspect than requested.

Railway interlocking logic● Open access↗
FA-67157

Signal lamp proving and aspect degradation: degradation direction · case 02

A signal with a failed lamp shows a less restrictive aspect than requested.

Railway interlocking logic◈ Members↗
FA-67158

Signal lamp proving and aspect degradation: degradation direction · case 03

A signal with a failed lamp shows a less restrictive aspect than requested.

Railway interlocking logic◈ Members↗
FA-67159

Signal lamp proving and aspect degradation: degradation direction · case 04

A signal with a failed lamp shows a less restrictive aspect than requested.

Railway interlocking logic◈ Members↗
FA-67160

Signal lamp proving and aspect degradation: degradation direction · case 05

A signal with a failed lamp shows a less restrictive aspect than requested.

Railway interlocking logic◈ Members↗
FA-67161

Signal lamp proving and aspect degradation: double yellow lamp set · case 01

A double yellow is displayed with one of its two lamps dark.

Railway interlocking logic● Open access↗
FA-67162

Signal lamp proving and aspect degradation: double yellow lamp set · case 02

A double yellow is displayed with one of its two lamps dark.

Railway interlocking logic◈ Members↗
FA-67163

Signal lamp proving and aspect degradation: double yellow lamp set · case 03

A double yellow is displayed with one of its two lamps dark.

Railway interlocking logic◈ Members↗
FA-67164

Signal lamp proving and aspect degradation: double yellow lamp set · case 04

A double yellow is displayed with one of its two lamps dark.

Railway interlocking logic◈ Members↗
FA-67165

Signal lamp proving and aspect degradation: double yellow lamp set · case 05

A double yellow is displayed with one of its two lamps dark.

Railway interlocking logic◈ Members↗
FA-67166

Signal lamp proving and aspect degradation: filament alarm scope · case 01

A filament alarm is raised for a lamp that is not in use, or missed for one that is.

Railway interlocking logic● Open access↗
FA-67167

Signal lamp proving and aspect degradation: filament alarm scope · case 02

A filament alarm is raised for a lamp that is not in use, or missed for one that is.

Railway interlocking logic◈ Members↗
FA-67168

Signal lamp proving and aspect degradation: filament alarm scope · case 03

A filament alarm is raised for a lamp that is not in use, or missed for one that is.

Railway interlocking logic◈ Members↗
FA-67169

Signal lamp proving and aspect degradation: filament alarm scope · case 04

A filament alarm is raised for a lamp that is not in use, or missed for one that is.

Railway interlocking logic◈ Members↗
FA-67170

Signal lamp proving and aspect degradation: filament alarm scope · case 05

A filament alarm is raised for a lamp that is not in use, or missed for one that is.

Railway interlocking logic◈ Members↗
FA-67171

Signal lamp proving and aspect degradation: dark signal alarm · case 01

A completely dark signal raises no alarm.

Railway interlocking logic● Open access↗
FA-67172

Signal lamp proving and aspect degradation: dark signal alarm · case 02

A completely dark signal raises no alarm.

Railway interlocking logic◈ Members↗
FA-67173

Signal lamp proving and aspect degradation: dark signal alarm · case 03

A completely dark signal raises no alarm.

Railway interlocking logic◈ Members↗
FA-67174

Signal lamp proving and aspect degradation: dark signal alarm · case 04

A completely dark signal raises no alarm.

Railway interlocking logic◈ Members↗
FA-67175

Signal lamp proving and aspect degradation: dark signal alarm · case 05

A completely dark signal raises no alarm.

Railway interlocking logic◈ Members↗
FA-67176

Signal replacement and stick control: replacement stick latch · case 01

A signal re-clears behind a train for a following train on the same route setting.

Railway interlocking logic● Open access↗
FA-67177

Signal replacement and stick control: replacement stick latch · case 02

A signal re-clears behind a train for a following train on the same route setting.

Railway interlocking logic◈ Members↗
FA-67178

Signal replacement and stick control: replacement stick latch · case 03

A signal re-clears behind a train for a following train on the same route setting.

Railway interlocking logic◈ Members↗
FA-67179

Signal replacement and stick control: replacement stick latch · case 04

A signal re-clears behind a train for a following train on the same route setting.

Railway interlocking logic◈ Members↗
FA-67180

Signal replacement and stick control: replacement stick latch · case 05

A signal re-clears behind a train for a following train on the same route setting.

Railway interlocking logic◈ Members↗
FA-67181

Signal replacement and stick control: stick reset edge · case 01

The stick never holds a signal at danger, or it cannot be reset while a train approaches.

Railway interlocking logic● Open access↗
FA-67182

Signal replacement and stick control: stick reset edge · case 02

The stick never holds a signal at danger, or it cannot be reset while a train approaches.

Railway interlocking logic◈ Members↗
FA-67183

Signal replacement and stick control: stick reset edge · case 03

The stick never holds a signal at danger, or it cannot be reset while a train approaches.

Railway interlocking logic◈ Members↗
FA-67184

Signal replacement and stick control: stick reset edge · case 04

The stick never holds a signal at danger, or it cannot be reset while a train approaches.

Railway interlocking logic◈ Members↗
FA-67185

Signal replacement and stick control: stick reset edge · case 05

The stick never holds a signal at danger, or it cannot be reset while a train approaches.

Railway interlocking logic◈ Members↗
FA-67186

Signal replacement and stick control: approach release condition · case 01

An approach-released signal clears before the train arrives on the approach.

Railway interlocking logic● Open access↗
FA-67187

Signal replacement and stick control: approach release condition · case 02

An approach-released signal clears before the train arrives on the approach.

Railway interlocking logic◈ Members↗
FA-67188

Signal replacement and stick control: approach release condition · case 03

An approach-released signal clears before the train arrives on the approach.

Railway interlocking logic◈ Members↗
FA-67189

Signal replacement and stick control: approach release condition · case 04

An approach-released signal clears before the train arrives on the approach.

Railway interlocking logic◈ Members↗
FA-67190

Signal replacement and stick control: approach release condition · case 05

An approach-released signal clears before the train arrives on the approach.

Railway interlocking logic◈ Members↗
FA-67191

Signal replacement and stick control: automatic stick reset · case 01

An automatic signal stays at danger for good after the first train.

Railway interlocking logic● Open access↗
FA-67192

Signal replacement and stick control: automatic stick reset · case 02

An automatic signal stays at danger for good after the first train.

Railway interlocking logic◈ Members↗
FA-67193

Signal replacement and stick control: automatic stick reset · case 03

An automatic signal stays at danger for good after the first train.

Railway interlocking logic◈ Members↗
FA-67194

Signal replacement and stick control: automatic stick reset · case 04

An automatic signal stays at danger for good after the first train.

Railway interlocking logic◈ Members↗
FA-67195

Signal replacement and stick control: automatic stick reset · case 05

An automatic signal stays at danger for good after the first train.

Railway interlocking logic◈ Members↗
FA-67196

Signal replacement and stick control: danger on occupancy · case 01

A signal clears into a section that is already occupied.

Railway interlocking logic● Open access↗
FA-67197

Signal replacement and stick control: danger on occupancy · case 02

A signal clears into a section that is already occupied.

Railway interlocking logic◈ Members↗
FA-67198

Signal replacement and stick control: danger on occupancy · case 03

A signal clears into a section that is already occupied.

Railway interlocking logic◈ Members↗
FA-67199

Signal replacement and stick control: danger on occupancy · case 04

A signal clears into a section that is already occupied.

Railway interlocking logic◈ Members↗
FA-67200

Signal replacement and stick control: danger on occupancy · case 05

A signal clears into a section that is already occupied.

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 ↗