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 ↗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
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs · case 01
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs.
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs · case 02
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs.
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs · case 03
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs.
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs · case 04
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs.
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs · case 05
A segment playlist resolves byte-range tags into per-segment Range values: comment and tag lines are never treated as segment URIs.
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive · case 01
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive.
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive · case 02
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive.
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive · case 03
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive.
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive · case 04
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive.
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive · case 05
An object store maps upload part numbers and byte ranges onto stored parts: part numbers are one-based and positive.
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes · case 01
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes.
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes · case 02
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes.
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes · case 03
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes.
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes · case 04
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes.
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes · case 05
An object store maps upload part numbers and byte ranges onto stored parts: a part begins at the sum of all earlier part sizes.
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range · case 01
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range.
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range · case 02
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range.
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range · case 03
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range.
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range · case 04
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range.
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range · case 05
An object store maps upload part numbers and byte ranges onto stored parts: an empty stored part has no satisfiable byte range.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start · case 01
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start · case 02
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start · case 03
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start · case 04
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start · case 05
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection begins at the later of range start and part start.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte · case 01
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte · case 02
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte · case 03
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte · case 04
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte.
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte · case 05
An object store maps upload part numbers and byte ranges onto stored parts: a part intersection ends at the earlier of range end and part last byte.
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part · case 01
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part.
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part · case 02
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part.
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part · case 03
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part.
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part · case 04
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part.
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part · case 05
An object store maps upload part numbers and byte ranges onto stored parts: intersection offsets are relative to the containing part.
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not · case 01
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not.
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not · case 02
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not.
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not · case 03
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not.
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not · case 04
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not.
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not · case 05
An object store maps upload part numbers and byte ranges onto stored parts: one-byte part intersections are retained while empty ones are not.
Select an unambiguous Location field without losing raw syntax: case insensitive name · case 01
Differently cased Location names are lost.
Select an unambiguous Location field without losing raw syntax: case insensitive name · case 02
Differently cased Location names are lost.
Select an unambiguous Location field without losing raw syntax: case insensitive name · case 03
Differently cased Location names are lost.
Select an unambiguous Location field without losing raw syntax: case insensitive name · case 04
Differently cased Location names are lost.
Select an unambiguous Location field without losing raw syntax: case insensitive name · case 05
Differently cased Location names are lost.
Select an unambiguous Location field without losing raw syntax: duplicate field rejection · case 01
Other headers are confused with duplicate redirect targets.
Select an unambiguous Location field without losing raw syntax: duplicate field rejection · case 02
Other headers are confused with duplicate redirect targets.
Select an unambiguous Location field without losing raw syntax: duplicate field rejection · case 03
Other headers are confused with duplicate redirect targets.
Select an unambiguous Location field without losing raw syntax: duplicate field rejection · case 04
Other headers are confused with duplicate redirect targets.
Select an unambiguous Location field without losing raw syntax: duplicate field rejection · case 05
Other headers are confused with duplicate redirect targets.
Select an unambiguous Location field without losing raw syntax: outer ows · case 01
Whitespace trimming corrupts internal target characters.
Select an unambiguous Location field without losing raw syntax: outer ows · case 02
Whitespace trimming corrupts internal target characters.
Select an unambiguous Location field without losing raw syntax: outer ows · case 03
Whitespace trimming corrupts internal target characters.
Select an unambiguous Location field without losing raw syntax: outer ows · case 04
Whitespace trimming corrupts internal target characters.
Select an unambiguous Location field without losing raw syntax: outer ows · case 05
Whitespace trimming corrupts internal target characters.
Select an unambiguous Location field without losing raw syntax: comma is target data · case 01
A URI comma is treated as a header list separator.
Select an unambiguous Location field without losing raw syntax: comma is target data · case 02
A URI comma is treated as a header list separator.
Select an unambiguous Location field without losing raw syntax: comma is target data · case 03
A URI comma is treated as a header list separator.
Select an unambiguous Location field without losing raw syntax: comma is target data · case 04
A URI comma is treated as a header list separator.
Select an unambiguous Location field without losing raw syntax: comma is target data · case 05
A URI comma is treated as a header list separator.
Select an unambiguous Location field without losing raw syntax: missing vs empty · case 01
An empty field is confused with an absent field.
Select an unambiguous Location field without losing raw syntax: missing vs empty · case 02
An empty field is confused with an absent field.
Select an unambiguous Location field without losing raw syntax: missing vs empty · case 03
An empty field is confused with an absent field.
Select an unambiguous Location field without losing raw syntax: missing vs empty · case 04
An empty field is confused with an absent field.
Select an unambiguous Location field without losing raw syntax: missing vs empty · case 05
An empty field is confused with an absent field.
Admit only actionable redirect responses: supported status set · case 01
A non-followable status is followed or See Other is omitted.
Admit only actionable redirect responses: supported status set · case 02
A non-followable status is followed or See Other is omitted.
Admit only actionable redirect responses: supported status set · case 03
A non-followable status is followed or See Other is omitted.
Admit only actionable redirect responses: supported status set · case 04
A non-followable status is followed or See Other is omitted.
Admit only actionable redirect responses: supported status set · case 05
A non-followable status is followed or See Other is omitted.
Admit only actionable redirect responses: interim response suppression · case 01
An interim response is allowed to control the final redirect decision.
Admit only actionable redirect responses: interim response suppression · case 02
An interim response is allowed to control the final redirect decision.
Admit only actionable redirect responses: interim response suppression · case 03
An interim response is allowed to control the final redirect decision.
Admit only actionable redirect responses: interim response suppression · case 04
An interim response is allowed to control the final redirect decision.
Admit only actionable redirect responses: interim response suppression · case 05
An interim response is allowed to control the final redirect decision.
Admit only actionable redirect responses: tunnel ownership · case 01
A tunneled stream is mistakenly interpreted by the outer redirect controller.
Admit only actionable redirect responses: tunnel ownership · case 02
A tunneled stream is mistakenly interpreted by the outer redirect controller.
Admit only actionable redirect responses: tunnel ownership · case 03
A tunneled stream is mistakenly interpreted by the outer redirect controller.
Admit only actionable redirect responses: tunnel ownership · case 04
A tunneled stream is mistakenly interpreted by the outer redirect controller.
Admit only actionable redirect responses: tunnel ownership · case 05
A tunneled stream is mistakenly interpreted by the outer redirect controller.
Admit only actionable redirect responses: manual return · case 01
Manual inspection is conflated with redirect-error policy.
Admit only actionable redirect responses: manual return · case 02
Manual inspection is conflated with redirect-error policy.
Admit only actionable redirect responses: manual return · case 03
Manual inspection is conflated with redirect-error policy.
Admit only actionable redirect responses: manual return · case 04
Manual inspection is conflated with redirect-error policy.
Admit only actionable redirect responses: manual return · case 05
Manual inspection is conflated with redirect-error policy.
Admit only actionable redirect responses: empty target error · case 01
An absent target and an explicitly empty target receive the same diagnostic.
Admit only actionable redirect responses: empty target error · case 02
An absent target and an explicitly empty target receive the same diagnostic.
Admit only actionable redirect responses: empty target error · case 03
An absent target and an explicitly empty target receive the same diagnostic.
Admit only actionable redirect responses: empty target error · case 04
An absent target and an explicitly empty target receive the same diagnostic.
Admit only actionable redirect responses: empty target error · case 05
An absent target and an explicitly empty target receive the same diagnostic.
Validate raw target text before any URL normalization: crlf injection · case 01
A lone carriage return bypasses raw-field rejection.
Validate raw target text before any URL normalization: crlf injection · case 02
A lone carriage return bypasses raw-field rejection.
Validate raw target text before any URL normalization: crlf injection · case 03
A lone carriage return bypasses raw-field rejection.
Validate raw target text before any URL normalization: crlf injection · case 04
A lone carriage return bypasses raw-field rejection.
Validate raw target text before any URL normalization: crlf injection · case 05
A lone carriage return bypasses raw-field rejection.
Validate raw target text before any URL normalization: embedded tab · case 01
Only outer optional whitespace may be stripped.
Validate raw target text before any URL normalization: embedded tab · case 02
Only outer optional whitespace may be stripped.
Validate raw target text before any URL normalization: embedded tab · case 03
Only outer optional whitespace may be stripped.
Validate raw target text before any URL normalization: embedded tab · case 04
Only outer optional whitespace may be stripped.
Validate raw target text before any URL normalization: embedded tab · case 05
Only outer optional whitespace may be stripped.
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 ↗