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
Swipe-to-dismiss notification feedback: above-threshold-release from dragging · case 01
The above-threshold-release event leaves a notification in dismissed instead of committing.
Swipe-to-dismiss notification feedback: above-threshold-release from dragging · case 02
The above-threshold-release event leaves a notification in dismissed instead of committing.
Swipe-to-dismiss notification feedback: above-threshold-release from dragging · case 03
The above-threshold-release event leaves a notification in dismissed instead of committing.
Swipe-to-dismiss notification feedback: above-threshold-release from dragging · case 04
The above-threshold-release event leaves a notification in dismissed instead of committing.
Swipe-to-dismiss notification feedback: above-threshold-release from dragging · case 05
The above-threshold-release event leaves a notification in dismissed instead of committing.
Swipe-to-dismiss notification feedback: snapback-finished from returning · case 01
The snapback-finished event leaves a notification in dismissed instead of resting.
Swipe-to-dismiss notification feedback: snapback-finished from returning · case 02
The snapback-finished event leaves a notification in dismissed instead of resting.
Swipe-to-dismiss notification feedback: snapback-finished from returning · case 03
The snapback-finished event leaves a notification in dismissed instead of resting.
Swipe-to-dismiss notification feedback: snapback-finished from returning · case 04
The snapback-finished event leaves a notification in dismissed instead of resting.
Swipe-to-dismiss notification feedback: snapback-finished from returning · case 05
The snapback-finished event leaves a notification in dismissed instead of resting.
Swipe-to-dismiss notification feedback: dismiss-accepted from committing · case 01
The dismiss-accepted event leaves a notification in resting instead of exit-animating.
Swipe-to-dismiss notification feedback: dismiss-accepted from committing · case 02
The dismiss-accepted event leaves a notification in resting instead of exit-animating.
Swipe-to-dismiss notification feedback: dismiss-accepted from committing · case 03
The dismiss-accepted event leaves a notification in resting instead of exit-animating.
Swipe-to-dismiss notification feedback: dismiss-accepted from committing · case 04
The dismiss-accepted event leaves a notification in resting instead of exit-animating.
Swipe-to-dismiss notification feedback: dismiss-accepted from committing · case 05
The dismiss-accepted event leaves a notification in resting instead of exit-animating.
Swipe-to-dismiss notification feedback: dismiss-rejected from committing · case 01
The dismiss-rejected event leaves a notification in dismissed instead of returning.
Swipe-to-dismiss notification feedback: dismiss-rejected from committing · case 02
The dismiss-rejected event leaves a notification in dismissed instead of returning.
Swipe-to-dismiss notification feedback: dismiss-rejected from committing · case 03
The dismiss-rejected event leaves a notification in dismissed instead of returning.
Swipe-to-dismiss notification feedback: dismiss-rejected from committing · case 04
The dismiss-rejected event leaves a notification in dismissed instead of returning.
Swipe-to-dismiss notification feedback: dismiss-rejected from committing · case 05
The dismiss-rejected event leaves a notification in dismissed instead of returning.
Swipe-to-dismiss notification feedback: animation-finished from exit-animating · case 01
The animation-finished event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: animation-finished from exit-animating · case 02
The animation-finished event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: animation-finished from exit-animating · case 03
The animation-finished event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: animation-finished from exit-animating · case 04
The animation-finished event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: animation-finished from exit-animating · case 05
The animation-finished event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: pointer-cancel from dragging · case 01
The pointer-cancel event leaves a notification in committing instead of returning.
Swipe-to-dismiss notification feedback: pointer-cancel from dragging · case 02
The pointer-cancel event leaves a notification in committing instead of returning.
Swipe-to-dismiss notification feedback: pointer-cancel from dragging · case 03
The pointer-cancel event leaves a notification in committing instead of returning.
Swipe-to-dismiss notification feedback: pointer-cancel from dragging · case 04
The pointer-cancel event leaves a notification in committing instead of returning.
Swipe-to-dismiss notification feedback: pointer-cancel from dragging · case 05
The pointer-cancel event leaves a notification in committing instead of returning.
Swipe-to-dismiss notification feedback: reduced-motion-enabled from exit-animating · case 01
The reduced-motion-enabled event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: reduced-motion-enabled from exit-animating · case 02
The reduced-motion-enabled event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: reduced-motion-enabled from exit-animating · case 03
The reduced-motion-enabled event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: reduced-motion-enabled from exit-animating · case 04
The reduced-motion-enabled event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: reduced-motion-enabled from exit-animating · case 05
The reduced-motion-enabled event leaves a notification in resting instead of dismissed.
Swipe-to-dismiss notification feedback: second-pointer-down from committing · case 01
The second-pointer-down event leaves a notification in dragging instead of committing.
Swipe-to-dismiss notification feedback: second-pointer-down from committing · case 02
The second-pointer-down event leaves a notification in dragging instead of committing.
Swipe-to-dismiss notification feedback: second-pointer-down from committing · case 03
The second-pointer-down event leaves a notification in dragging instead of committing.
Swipe-to-dismiss notification feedback: second-pointer-down from committing · case 04
The second-pointer-down event leaves a notification in dragging instead of committing.
Swipe-to-dismiss notification feedback: second-pointer-down from committing · case 05
The second-pointer-down event leaves a notification in dragging instead of committing.
Notification inbox initial restoration: cache-found from placeholder · case 01
The cache-found event leaves a notification in ready instead of cached-unverified.
Notification inbox initial restoration: cache-found from placeholder · case 02
The cache-found event leaves a notification in ready instead of cached-unverified.
Notification inbox initial restoration: cache-found from placeholder · case 03
The cache-found event leaves a notification in ready instead of cached-unverified.
Notification inbox initial restoration: cache-found from placeholder · case 04
The cache-found event leaves a notification in ready instead of cached-unverified.
Notification inbox initial restoration: cache-found from placeholder · case 05
The cache-found event leaves a notification in ready instead of cached-unverified.
Notification inbox initial restoration: cache-missing from placeholder · case 01
The cache-missing event leaves a notification in empty instead of fetching.
Notification inbox initial restoration: cache-missing from placeholder · case 02
The cache-missing event leaves a notification in empty instead of fetching.
Notification inbox initial restoration: cache-missing from placeholder · case 03
The cache-missing event leaves a notification in empty instead of fetching.
Notification inbox initial restoration: cache-missing from placeholder · case 04
The cache-missing event leaves a notification in empty instead of fetching.
Notification inbox initial restoration: cache-missing from placeholder · case 05
The cache-missing event leaves a notification in empty instead of fetching.
Notification inbox initial restoration: refresh-start from cached-unverified · case 01
The refresh-start event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: refresh-start from cached-unverified · case 02
The refresh-start event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: refresh-start from cached-unverified · case 03
The refresh-start event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: refresh-start from cached-unverified · case 04
The refresh-start event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: refresh-start from cached-unverified · case 05
The refresh-start event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: fresh-nonempty from refreshing-cache · case 01
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from refreshing-cache · case 02
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from refreshing-cache · case 03
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from refreshing-cache · case 04
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from refreshing-cache · case 05
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-empty from refreshing-cache · case 01
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from refreshing-cache · case 02
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from refreshing-cache · case 03
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from refreshing-cache · case 04
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from refreshing-cache · case 05
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: refresh-error from refreshing-cache · case 01
The refresh-error event leaves a notification in empty instead of stale-warning.
Notification inbox initial restoration: refresh-error from refreshing-cache · case 02
The refresh-error event leaves a notification in empty instead of stale-warning.
Notification inbox initial restoration: refresh-error from refreshing-cache · case 03
The refresh-error event leaves a notification in empty instead of stale-warning.
Notification inbox initial restoration: refresh-error from refreshing-cache · case 04
The refresh-error event leaves a notification in empty instead of stale-warning.
Notification inbox initial restoration: refresh-error from refreshing-cache · case 05
The refresh-error event leaves a notification in empty instead of stale-warning.
Notification inbox initial restoration: fresh-nonempty from fetching · case 01
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from fetching · case 02
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from fetching · case 03
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from fetching · case 04
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-nonempty from fetching · case 05
The fresh-nonempty event leaves a notification in empty instead of ready.
Notification inbox initial restoration: fresh-empty from fetching · case 01
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from fetching · case 02
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from fetching · case 03
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from fetching · case 04
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: fresh-empty from fetching · case 05
The fresh-empty event leaves a notification in ready instead of empty.
Notification inbox initial restoration: refresh-error from fetching · case 01
The refresh-error event leaves a notification in empty instead of load-error.
Notification inbox initial restoration: refresh-error from fetching · case 02
The refresh-error event leaves a notification in empty instead of load-error.
Notification inbox initial restoration: refresh-error from fetching · case 03
The refresh-error event leaves a notification in empty instead of load-error.
Notification inbox initial restoration: refresh-error from fetching · case 04
The refresh-error event leaves a notification in empty instead of load-error.
Notification inbox initial restoration: refresh-error from fetching · case 05
The refresh-error event leaves a notification in empty instead of load-error.
Notification inbox initial restoration: retry-refresh from stale-warning · case 01
The retry-refresh event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: retry-refresh from stale-warning · case 02
The retry-refresh event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: retry-refresh from stale-warning · case 03
The retry-refresh event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: retry-refresh from stale-warning · case 04
The retry-refresh event leaves a notification in placeholder instead of refreshing-cache.
Notification inbox initial restoration: retry-refresh from stale-warning · case 05
The retry-refresh event leaves a notification in placeholder instead of refreshing-cache.
Inbox optimistic archive rollback: archive-click from row-visible · case 01
The archive-click event leaves a notification in archived instead of optimistically-hidden.
Inbox optimistic archive rollback: archive-click from row-visible · case 02
The archive-click event leaves a notification in archived instead of optimistically-hidden.
Inbox optimistic archive rollback: archive-click from row-visible · case 03
The archive-click event leaves a notification in archived instead of optimistically-hidden.
Inbox optimistic archive rollback: archive-click from row-visible · case 04
The archive-click event leaves a notification in archived instead of optimistically-hidden.
Inbox optimistic archive rollback: archive-click from row-visible · case 05
The archive-click event leaves a notification in archived instead of optimistically-hidden.
Inbox optimistic archive rollback: archive-success from optimistically-hidden · case 01
The archive-success event leaves a notification in row-visible instead of archived.
Inbox optimistic archive rollback: archive-success from optimistically-hidden · case 02
The archive-success event leaves a notification in row-visible instead of archived.
Inbox optimistic archive rollback: archive-success from optimistically-hidden · case 03
The archive-success event leaves a notification in row-visible instead of archived.
Inbox optimistic archive rollback: archive-success from optimistically-hidden · case 04
The archive-success event leaves a notification in row-visible instead of archived.
Inbox optimistic archive rollback: archive-success from optimistically-hidden · case 05
The archive-success event leaves a notification in row-visible instead of archived.
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 ↗