FAILURE MAP
← Case archive

FA-9496 / Dependency resolution / Open access

Package source selection: A mirror outranks an available primary · case 01

A mirror outranks an available primary.

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

ROOT CAUSE

The implementation substitutes choices = eligible for choices = primary or eligible, so a mirror outranks an available primary.

VERIFIED REPAIR

Use mirrors only when no primary can serve the package.

Unsuccessful approach: The attempted repair substitutes choices = primary. Fixture 3 still yields None instead of 'mirror'.

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 name in s['packages']]
    primary = [s for s in eligible if not s['mirror']]
    choices = 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 2mirrorfirstFailed
fixture 3mirrormirrorPassed
fixture 4NoneNonePassed
fixture 5firstfirstPassed
fixture 6NoneNonePassed
fixture 7NoneNonePassed
fixture 8NoneNonePassed
fixture 9NoneNonePassed

SHA-256 / d01867b9d90e637fd34477208062b315c5e6ba51a20f3babd834b008bac8bb11

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 in s['packages']]
    primary = [s for s in eligible if not s['mirror']]
    choices = primary
    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 3NonemirrorFailed
fixture 4NoneNonePassed
fixture 5firstfirstPassed
fixture 6NoneNonePassed
fixture 7NoneNonePassed
fixture 8NoneNonePassed
fixture 9NoneNonePassed

SHA-256 / 0fc29b4b082cf0baea0b3266a14dba7f41d384d2f99646fa2dee7ced18f7373c

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.410193+00:00.

Case digest / 8b21cb00706b5b30fbb4a812a90a2cdef5085763adad520464b85589dc6b2e29