FAILURE MAP
← Case archive

FA-9491 / Dependency resolution / Open access

Package source selection: An index missing the package is selected · case 01

An index missing the package is selected.

Verified by executionVariant 1 · 9 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The implementation substitutes True for name in s['packages'], so an index missing the package is selected.

VERIFIED REPAIR

Select only sources that contain the package.

Unsuccessful approach: The attempted repair substitutes name not in s['packages']. Fixture 2 still yields None instead of 'first'.

Case contract

Return first declared trusted nonmirror source containing the package, otherwise first trusted mirror containing it. Disabled and untrusted sources never participate.

Why this case matters

An offline model of package source selection, suitable for testing build and release tooling without external services.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(name, sources):
    eligible = [s for s in sources if s['enabled']]
    eligible = [s for s in eligible if s['trusted']]
    eligible = [s for s in eligible if True]
    primary = [s for s in eligible if not s['mirror']]
    choices = primary or eligible
    return choices[0]['name'] if choices else None
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve('a', []), None)
check('fixture 2', solve('a', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), 'first')
check('fixture 3', solve('a', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), 'mirror')
check('fixture 4', solve('b', []), None)
check('fixture 5', solve('b', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), 'first')
check('fixture 6', solve('b', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), None)
check('fixture 7', solve('missing', []), None)
check('fixture 8', solve('missing', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), None)
check('fixture 9', solve('missing', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), None)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fixture 1NoneNonePassed
fixture 2firstfirstPassed
fixture 3mirrormirrorPassed
fixture 4NoneNonePassed
fixture 5firstfirstPassed
fixture 6mirrorNoneFailed
fixture 7NoneNonePassed
fixture 8firstNoneFailed
fixture 9mirrorNoneFailed

SHA-256 / 78319212fa265959a407f28e408c6b0b6ec6817f5e9d4006ae6b76ece9d0c28e

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(name, sources):
    eligible = [s for s in sources if s['enabled']]
    eligible = [s for s in eligible if s['trusted']]
    eligible = [s for s in eligible if name not in s['packages']]
    primary = [s for s in eligible if not s['mirror']]
    choices = primary or eligible
    return choices[0]['name'] if choices else None
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve('a', []), None)
check('fixture 2', solve('a', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), 'first')
check('fixture 3', solve('a', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), 'mirror')
check('fixture 4', solve('b', []), None)
check('fixture 5', solve('b', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), 'first')
check('fixture 6', solve('b', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), None)
check('fixture 7', solve('missing', []), None)
check('fixture 8', solve('missing', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), None)
check('fixture 9', solve('missing', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), None)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fixture 1NoneNonePassed
fixture 2NonefirstFailed
fixture 3NonemirrorFailed
fixture 4NoneNonePassed
fixture 5lastfirstFailed
fixture 6mirrorNoneFailed
fixture 7NoneNonePassed
fixture 8firstNoneFailed
fixture 9mirrorNoneFailed

SHA-256 / bda939620382d24e01191dbaac137123104b0831981f4150bb6e3afdf23b6517

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(name, sources):
    eligible = [s for s in sources if s['enabled']]
    eligible = [s for s in eligible if s['trusted']]
    eligible = [s for s in eligible if name in s['packages']]
    primary = [s for s in eligible if not s['mirror']]
    choices = primary or eligible
    return choices[0]['name'] if choices else None
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve('a', []), None)
check('fixture 2', solve('a', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), 'first')
check('fixture 3', solve('a', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), 'mirror')
check('fixture 4', solve('b', []), None)
check('fixture 5', solve('b', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), 'first')
check('fixture 6', solve('b', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), None)
check('fixture 7', solve('missing', []), None)
check('fixture 8', solve('missing', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}, {'name': 'bad', 'enabled': False, 'trusted': True, 'packages': ['a'], 'mirror': False}, {'name': 'untrusted', 'enabled': True, 'trusted': False, 'packages': ['a'], 'mirror': False}, {'name': 'first', 'enabled': True, 'trusted': True, 'packages': ['a', 'b'], 'mirror': False}, {'name': 'last', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': False}]), None)
check('fixture 9', solve('missing', [{'name': 'mirror', 'enabled': True, 'trusted': True, 'packages': ['a'], 'mirror': True}]), None)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
fixture 1NoneNonePassed
fixture 2firstfirstPassed
fixture 3mirrormirrorPassed
fixture 4NoneNonePassed
fixture 5firstfirstPassed
fixture 6NoneNonePassed
fixture 7NoneNonePassed
fixture 8NoneNonePassed
fixture 9NoneNonePassed

SHA-256 / 3171b1b972fd8aef9871431f781cb62fc4e432f44930f71f1656c1c03d52263f

Verification & scope

This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.

Observations recorded using Python 3.12.14 at 2026-09-29T14:38:30.411798+00:00.

Case digest / f9cbf44d3aba0f12d232bed71ed1aced4fe6482884eeee1c4505605d066df88a