FAILURE MAP
← Case archive

FA-9406 / Configuration / Open access

Layered dependency override resolution: Global overrides win over package-local overrides · case 01

Global overrides win over package-local overrides.

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

ROOT CAUSE

The implementation substitutes for layer in reversed(layers): for for layer in layers:, so global overrides win over package-local overrides.

VERIFIED REPAIR

Apply layers from low to high precedence.

Unsuccessful approach: The attempted repair substitutes for layer in layers[:1]:. Fixture 2 still yields 'one' instead of 'two'.

Case contract

Apply global then workspace then package overrides. Only exact package keys participate; None deletes an override and empty string is a preserved explicit value. Return base if deleted or absent.

Why this case matters

An offline model of layered dependency override resolution, 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, base, layers):
    result = base
    for layer in reversed(layers):
        if name not in layer: continue
        value = layer[name]
        if value is None: result = base
        else: result = value
    return result
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve('a', 'base', []), 'base')
check('fixture 2', solve('a', 'base', [{'a': 'one'}, {'a': 'two'}]), 'two')
check('fixture 3', solve('a', 'base', [{'a': 'one'}, {'a': None}]), 'base')
check('fixture 4', solve('a', 'base', [{'a': ''}]), '')
check('fixture 5', solve('a', 'base', [{'b': 'other'}]), 'base')
check('fixture 6', solve('a', 'base', [{'a': None}, {'a': 'three'}]), 'three')
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 1basebasePassed
fixture 2onetwoFailed
fixture 3onebaseFailed
fixture 4Passed
fixture 5basebasePassed
fixture 6basethreeFailed

SHA-256 / bd2e7f3d462b5a40273a4b061efbc894d8867a52ba284a5f2373e5a7aff80be2

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(name, base, layers):
    result = base
    for layer in layers[:1]:
        if name not in layer: continue
        value = layer[name]
        if value is None: result = base
        else: result = value
    return result
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve('a', 'base', []), 'base')
check('fixture 2', solve('a', 'base', [{'a': 'one'}, {'a': 'two'}]), 'two')
check('fixture 3', solve('a', 'base', [{'a': 'one'}, {'a': None}]), 'base')
check('fixture 4', solve('a', 'base', [{'a': ''}]), '')
check('fixture 5', solve('a', 'base', [{'b': 'other'}]), 'base')
check('fixture 6', solve('a', 'base', [{'a': None}, {'a': 'three'}]), 'three')
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 1basebasePassed
fixture 2onetwoFailed
fixture 3onebaseFailed
fixture 4Passed
fixture 5basebasePassed
fixture 6basethreeFailed

SHA-256 / 16d1cd16a7100f07d03f847cfc02763d3b81f445ac6189a207d78ef7b9f37e8b

3 / The verified repair

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

N = 1
observations = []
def solve(name, base, layers):
    result = base
    for layer in layers:
        if name not in layer: continue
        value = layer[name]
        if value is None: result = base
        else: result = value
    return result
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve('a', 'base', []), 'base')
check('fixture 2', solve('a', 'base', [{'a': 'one'}, {'a': 'two'}]), 'two')
check('fixture 3', solve('a', 'base', [{'a': 'one'}, {'a': None}]), 'base')
check('fixture 4', solve('a', 'base', [{'a': ''}]), '')
check('fixture 5', solve('a', 'base', [{'b': 'other'}]), 'base')
check('fixture 6', solve('a', 'base', [{'a': None}, {'a': 'three'}]), 'three')
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 1basebasePassed
fixture 2twotwoPassed
fixture 3basebasePassed
fixture 4Passed
fixture 5basebasePassed
fixture 6threethreePassed

SHA-256 / 36ce0fe2809da06d5d3a70aa9a0815abf59954b0bb9d2efafe03fab413103961

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

Case digest / 3207688887b8a828054a54e5b6dd4767120bd6a0770c621c0872790c9027566d