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

Active cue lookup with prefix maximum ends: backward walk pruning · case 01

A long cue that started earlier is missed when a short cue ends between it and the query.

Subtitle cue timing● Open access↗
FA-78302

Active cue lookup with prefix maximum ends: backward walk pruning · case 02

A long cue that started earlier is missed when a short cue ends between it and the query.

Subtitle cue timing◈ Members↗
FA-78303

Active cue lookup with prefix maximum ends: backward walk pruning · case 03

A long cue that started earlier is missed when a short cue ends between it and the query.

Subtitle cue timing◈ Members↗
FA-78304

Active cue lookup with prefix maximum ends: backward walk pruning · case 04

A long cue that started earlier is missed when a short cue ends between it and the query.

Subtitle cue timing◈ Members↗
FA-78305

Active cue lookup with prefix maximum ends: backward walk pruning · case 05

A long cue that started earlier is missed when a short cue ends between it and the query.

Subtitle cue timing◈ Members↗
FA-78306

Active cue lookup with prefix maximum ends: prefix maximum · case 01

Earlier long cues are skipped once a short cue follows them.

Subtitle cue timing● Open access↗
FA-78307

Active cue lookup with prefix maximum ends: prefix maximum · case 02

Earlier long cues are skipped once a short cue follows them.

Subtitle cue timing◈ Members↗
FA-78308

Active cue lookup with prefix maximum ends: prefix maximum · case 03

Earlier long cues are skipped once a short cue follows them.

Subtitle cue timing◈ Members↗
FA-78309

Active cue lookup with prefix maximum ends: prefix maximum · case 04

Earlier long cues are skipped once a short cue follows them.

Subtitle cue timing◈ Members↗
FA-78310

Active cue lookup with prefix maximum ends: prefix maximum · case 05

Earlier long cues are skipped once a short cue follows them.

Subtitle cue timing◈ Members↗
FA-78311

Active cue lookup with prefix maximum ends: result order · case 01

Active cues are returned from last to first.

Subtitle cue timing● Open access↗
FA-78312

Active cue lookup with prefix maximum ends: result order · case 02

Active cues are returned from last to first.

Subtitle cue timing◈ Members↗
FA-78313

Active cue lookup with prefix maximum ends: result order · case 03

Active cues are returned from last to first.

Subtitle cue timing◈ Members↗
FA-78314

Active cue lookup with prefix maximum ends: result order · case 04

Active cues are returned from last to first.

Subtitle cue timing◈ Members↗
FA-78315

Active cue lookup with prefix maximum ends: result order · case 05

Active cues are returned from last to first.

Subtitle cue timing◈ Members↗
FA-78316

Subtitle conform to an edit cut list: inside-cut mapping · case 01

Cues that start inside a removed section keep a start inside material that no longer exists.

Subtitle cue timing● Open access↗
FA-78317

Subtitle conform to an edit cut list: inside-cut mapping · case 02

Cues that start inside a removed section keep a start inside material that no longer exists.

Subtitle cue timing◈ Members↗
FA-78318

Subtitle conform to an edit cut list: inside-cut mapping · case 03

Cues that start inside a removed section keep a start inside material that no longer exists.

Subtitle cue timing◈ Members↗
FA-78319

Subtitle conform to an edit cut list: inside-cut mapping · case 04

Cues that start inside a removed section keep a start inside material that no longer exists.

Subtitle cue timing◈ Members↗
FA-78320

Subtitle conform to an edit cut list: inside-cut mapping · case 05

Cues that start inside a removed section keep a start inside material that no longer exists.

Subtitle cue timing◈ Members↗
FA-78321

Subtitle conform to an edit cut list: shift accumulation · case 01

Cues after two or more cuts are shifted by only the most recent cut.

Subtitle cue timing● Open access↗
FA-78322

Subtitle conform to an edit cut list: shift accumulation · case 02

Cues after two or more cuts are shifted by only the most recent cut.

Subtitle cue timing◈ Members↗
FA-78323

Subtitle conform to an edit cut list: shift accumulation · case 03

Cues after two or more cuts are shifted by only the most recent cut.

Subtitle cue timing◈ Members↗
FA-78324

Subtitle conform to an edit cut list: shift accumulation · case 04

Cues after two or more cuts are shifted by only the most recent cut.

Subtitle cue timing◈ Members↗
FA-78325

Subtitle conform to an edit cut list: shift accumulation · case 05

Cues after two or more cuts are shifted by only the most recent cut.

Subtitle cue timing◈ Members↗
FA-78326

Subtitle conform to an edit cut list: cut ordering · case 01

Unordered cut lists produce wrong shifts after the first cut.

Subtitle cue timing● Open access↗
FA-78327

Subtitle conform to an edit cut list: cut ordering · case 02

Unordered cut lists produce wrong shifts after the first cut.

Subtitle cue timing◈ Members↗
FA-78328

Subtitle conform to an edit cut list: cut ordering · case 03

Unordered cut lists produce wrong shifts after the first cut.

Subtitle cue timing◈ Members↗
FA-78329

Subtitle conform to an edit cut list: cut ordering · case 04

Unordered cut lists produce wrong shifts after the first cut.

Subtitle cue timing◈ Members↗
FA-78330

Subtitle conform to an edit cut list: cut ordering · case 05

Unordered cut lists produce wrong shifts after the first cut.

Subtitle cue timing◈ Members↗
FA-78331

Subtitle conform to an edit cut list: merged cut extent · case 01

A cut nested inside a larger cut shortens the removed range.

Subtitle cue timing● Open access↗
FA-78332

Subtitle conform to an edit cut list: merged cut extent · case 02

A cut nested inside a larger cut shortens the removed range.

Subtitle cue timing◈ Members↗
FA-78333

Subtitle conform to an edit cut list: merged cut extent · case 03

A cut nested inside a larger cut shortens the removed range.

Subtitle cue timing◈ Members↗
FA-78334

Subtitle conform to an edit cut list: merged cut extent · case 04

A cut nested inside a larger cut shortens the removed range.

Subtitle cue timing◈ Members↗
FA-78335

Subtitle conform to an edit cut list: merged cut extent · case 05

A cut nested inside a larger cut shortens the removed range.

Subtitle cue timing◈ Members↗
FA-78336

Subtitle conform to an edit cut list: collapsed cue drop · case 01

Cues wholly inside a removed section survive as zero-length cues.

Subtitle cue timing● Open access↗
FA-78337

Subtitle conform to an edit cut list: collapsed cue drop · case 02

Cues wholly inside a removed section survive as zero-length cues.

Subtitle cue timing◈ Members↗
FA-78338

Subtitle conform to an edit cut list: collapsed cue drop · case 03

Cues wholly inside a removed section survive as zero-length cues.

Subtitle cue timing◈ Members↗
FA-78339

Subtitle conform to an edit cut list: collapsed cue drop · case 04

Cues wholly inside a removed section survive as zero-length cues.

Subtitle cue timing◈ Members↗
FA-78340

Subtitle conform to an edit cut list: collapsed cue drop · case 05

Cues wholly inside a removed section survive as zero-length cues.

Subtitle cue timing◈ Members↗
FA-78341

Non-drop timecode label parsing: frame field bound · case 01

A PAL label ending in :25 is accepted and lands on the first frame of the next second.

Broadcast timecode arithmetic● Open access↗
FA-78342

Non-drop timecode label parsing: frame field bound · case 02

A PAL label ending in :25 is accepted and lands on the first frame of the next second.

Broadcast timecode arithmetic◈ Members↗
FA-78343

Non-drop timecode label parsing: frame field bound · case 03

A PAL label ending in :25 is accepted and lands on the first frame of the next second.

Broadcast timecode arithmetic◈ Members↗
FA-78344

Non-drop timecode label parsing: frame field bound · case 04

A PAL label ending in :25 is accepted and lands on the first frame of the next second.

Broadcast timecode arithmetic◈ Members↗
FA-78345

Non-drop timecode label parsing: frame field bound · case 05

A PAL label ending in :25 is accepted and lands on the first frame of the next second.

Broadcast timecode arithmetic◈ Members↗
FA-78346

Non-drop timecode label parsing: hour field bound · case 01

Labels at hour 24 are accepted and alias the following day.

Broadcast timecode arithmetic● Open access↗
FA-78347

Non-drop timecode label parsing: hour field bound · case 02

Labels at hour 24 are accepted and alias the following day.

Broadcast timecode arithmetic◈ Members↗
FA-78348

Non-drop timecode label parsing: hour field bound · case 03

Labels at hour 24 are accepted and alias the following day.

Broadcast timecode arithmetic◈ Members↗
FA-78349

Non-drop timecode label parsing: hour field bound · case 04

Labels at hour 24 are accepted and alias the following day.

Broadcast timecode arithmetic◈ Members↗
FA-78350

Non-drop timecode label parsing: hour field bound · case 05

Labels at hour 24 are accepted and alias the following day.

Broadcast timecode arithmetic◈ Members↗
FA-78351

Non-drop timecode label parsing: sexagesimal bounds · case 01

Labels with a seconds field of 60 are accepted and roll into the next minute.

Broadcast timecode arithmetic● Open access↗
FA-78352

Non-drop timecode label parsing: sexagesimal bounds · case 02

Labels with a seconds field of 60 are accepted and roll into the next minute.

Broadcast timecode arithmetic◈ Members↗
FA-78353

Non-drop timecode label parsing: sexagesimal bounds · case 03

Labels with a seconds field of 60 are accepted and roll into the next minute.

Broadcast timecode arithmetic◈ Members↗
FA-78354

Non-drop timecode label parsing: sexagesimal bounds · case 04

Labels with a seconds field of 60 are accepted and roll into the next minute.

Broadcast timecode arithmetic◈ Members↗
FA-78355

Non-drop timecode label parsing: sexagesimal bounds · case 05

Labels with a seconds field of 60 are accepted and roll into the next minute.

Broadcast timecode arithmetic◈ Members↗
FA-78356

Non-drop timecode label parsing: field width · case 01

Loosely typed labels such as 1:00:00:00 are accepted into the edit list.

Broadcast timecode arithmetic● Open access↗
FA-78357

Non-drop timecode label parsing: field width · case 02

Loosely typed labels such as 1:00:00:00 are accepted into the edit list.

Broadcast timecode arithmetic◈ Members↗
FA-78358

Non-drop timecode label parsing: field width · case 03

Loosely typed labels such as 1:00:00:00 are accepted into the edit list.

Broadcast timecode arithmetic◈ Members↗
FA-78359

Non-drop timecode label parsing: field width · case 04

Loosely typed labels such as 1:00:00:00 are accepted into the edit list.

Broadcast timecode arithmetic◈ Members↗
FA-78360

Non-drop timecode label parsing: field width · case 05

Loosely typed labels such as 1:00:00:00 are accepted into the edit list.

Broadcast timecode arithmetic◈ Members↗
FA-78361

Non-drop timecode label parsing: separator policy · case 01

Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.

Broadcast timecode arithmetic● Open access↗
FA-78362

Non-drop timecode label parsing: separator policy · case 02

Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.

Broadcast timecode arithmetic◈ Members↗
FA-78363

Non-drop timecode label parsing: separator policy · case 03

Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.

Broadcast timecode arithmetic◈ Members↗
FA-78364

Non-drop timecode label parsing: separator policy · case 04

Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.

Broadcast timecode arithmetic◈ Members↗
FA-78365

Non-drop timecode label parsing: separator policy · case 05

Drop-frame labels are silently parsed as non-drop counts, shifting events by up to 108 frames per hour.

Broadcast timecode arithmetic◈ Members↗
FA-78366

Frame count to timecode label with frame pairs: day wrap · case 01

Pre-roll frames before midnight are labelled as if they were after midnight.

Broadcast timecode arithmetic● Open access↗
FA-78367

Frame count to timecode label with frame pairs: day wrap · case 02

Pre-roll frames before midnight are labelled as if they were after midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78368

Frame count to timecode label with frame pairs: day wrap · case 03

Pre-roll frames before midnight are labelled as if they were after midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78369

Frame count to timecode label with frame pairs: day wrap · case 04

Pre-roll frames before midnight are labelled as if they were after midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78370

Frame count to timecode label with frame pairs: day wrap · case 05

Pre-roll frames before midnight are labelled as if they were after midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78371

Frame count to timecode label with frame pairs: day length · case 01

High frame rate counts wrap at noon instead of midnight.

Broadcast timecode arithmetic● Open access↗
FA-78372

Frame count to timecode label with frame pairs: day length · case 02

High frame rate counts wrap at noon instead of midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78373

Frame count to timecode label with frame pairs: day length · case 03

High frame rate counts wrap at noon instead of midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78374

Frame count to timecode label with frame pairs: day length · case 04

High frame rate counts wrap at noon instead of midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78375

Frame count to timecode label with frame pairs: day length · case 05

High frame rate counts wrap at noon instead of midnight.

Broadcast timecode arithmetic◈ Members↗
FA-78376

Frame count to timecode label with frame pairs: pair notation threshold · case 01

Plain 30 fps labels are printed in frame-pair notation.

Broadcast timecode arithmetic● Open access↗
FA-78377

Frame count to timecode label with frame pairs: pair notation threshold · case 02

Plain 30 fps labels are printed in frame-pair notation.

Broadcast timecode arithmetic◈ Members↗
FA-78378

Frame count to timecode label with frame pairs: pair notation threshold · case 03

Plain 30 fps labels are printed in frame-pair notation.

Broadcast timecode arithmetic◈ Members↗
FA-78379

Frame count to timecode label with frame pairs: pair notation threshold · case 04

Plain 30 fps labels are printed in frame-pair notation.

Broadcast timecode arithmetic◈ Members↗
FA-78380

Frame count to timecode label with frame pairs: pair notation threshold · case 05

Plain 30 fps labels are printed in frame-pair notation.

Broadcast timecode arithmetic◈ Members↗
FA-78381

Frame count to timecode label with frame pairs: pair flag · case 01

The first and second frames of each pair are labelled the wrong way round.

Broadcast timecode arithmetic● Open access↗
FA-78382

Frame count to timecode label with frame pairs: pair flag · case 02

The first and second frames of each pair are labelled the wrong way round.

Broadcast timecode arithmetic◈ Members↗
FA-78383

Frame count to timecode label with frame pairs: pair flag · case 03

The first and second frames of each pair are labelled the wrong way round.

Broadcast timecode arithmetic◈ Members↗
FA-78384

Frame count to timecode label with frame pairs: pair flag · case 04

The first and second frames of each pair are labelled the wrong way round.

Broadcast timecode arithmetic◈ Members↗
FA-78385

Frame count to timecode label with frame pairs: pair flag · case 05

The first and second frames of each pair are labelled the wrong way round.

Broadcast timecode arithmetic◈ Members↗
FA-78386

Frame count to timecode label with frame pairs: pair index · case 01

Frame-pair fields restart halfway through each second.

Broadcast timecode arithmetic● Open access↗
FA-78387

Frame count to timecode label with frame pairs: pair index · case 02

Frame-pair fields restart halfway through each second.

Broadcast timecode arithmetic◈ Members↗
FA-78388

Frame count to timecode label with frame pairs: pair index · case 03

Frame-pair fields restart halfway through each second.

Broadcast timecode arithmetic◈ Members↗
FA-78389

Frame count to timecode label with frame pairs: pair index · case 04

Frame-pair fields restart halfway through each second.

Broadcast timecode arithmetic◈ Members↗
FA-78390

Frame count to timecode label with frame pairs: pair index · case 05

Frame-pair fields restart halfway through each second.

Broadcast timecode arithmetic◈ Members↗
FA-78391

Drop-frame 29.97 label to frame count: drop separator set · case 01

Labels using the period or comma drop-frame spelling are rejected.

Broadcast timecode arithmetic● Open access↗
FA-78392

Drop-frame 29.97 label to frame count: drop separator set · case 02

Labels using the period or comma drop-frame spelling are rejected.

Broadcast timecode arithmetic◈ Members↗
FA-78393

Drop-frame 29.97 label to frame count: drop separator set · case 03

Labels using the period or comma drop-frame spelling are rejected.

Broadcast timecode arithmetic◈ Members↗
FA-78394

Drop-frame 29.97 label to frame count: drop separator set · case 04

Labels using the period or comma drop-frame spelling are rejected.

Broadcast timecode arithmetic◈ Members↗
FA-78395

Drop-frame 29.97 label to frame count: drop separator set · case 05

Labels using the period or comma drop-frame spelling are rejected.

Broadcast timecode arithmetic◈ Members↗
FA-78396

Drop-frame 29.97 label to frame count: frame field range · case 01

A label with frame 30 is accepted and aliases the next second.

Broadcast timecode arithmetic● Open access↗
FA-78397

Drop-frame 29.97 label to frame count: frame field range · case 02

A label with frame 30 is accepted and aliases the next second.

Broadcast timecode arithmetic◈ Members↗
FA-78398

Drop-frame 29.97 label to frame count: frame field range · case 03

A label with frame 30 is accepted and aliases the next second.

Broadcast timecode arithmetic◈ Members↗
FA-78399

Drop-frame 29.97 label to frame count: frame field range · case 04

A label with frame 30 is accepted and aliases the next second.

Broadcast timecode arithmetic◈ Members↗
FA-78400

Drop-frame 29.97 label to frame count: frame field range · case 05

A label with frame 30 is accepted and aliases the next second.

Broadcast timecode arithmetic◈ 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 ↗