FAILURE MAP
← Case archive

FA-12376 / Manufacturing workflow integrity / Open access

One operator satisfies both release signatures · case 01

One operator satisfies both release signatures.

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

ROOT CAUSE

Release counts signature events rather than distinct accountable people in different roles.

VERIFIED REPAIR

Require operator and witness signatures from different people for the current lot cycle.

Unsuccessful approach: Distinct people across the whole history can pair a current signature with stale evidence.

Case contract

Signatures are (person, role, cycle). Return true iff current cycle has an operator and a witness who are different people.

Why this case matters

A deterministic manufacturing record model isolates this workflow defect before equipment or enterprise integration.

1 / The failure

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

N = 1
observations = []
def solve(records, cycle):
    return len(records) >= 2
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('separate people', solve([('a', 'operator', N), ('b', 'witness', N)], N), True)
check('same person', solve([('a', 'operator', N), ('a', 'witness', N)], N), False)
check('stale witness', solve([('a', 'operator', N), ('b', 'witness', N-1)], N), False)
check('two operators', solve([('a', 'operator', N), ('b', 'operator', N)], N), False)
check('only one signature', solve([('a', 'operator', N)], N), False)
check('none', solve([], N), False)
check('irrelevant history', solve([('a', 'operator', N), ('b', 'witness', N), ('c', 'witness', N-1)], N), True)
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
separate peopleTrueTruePassed
same personTrueFalseFailed
stale witnessTrueFalseFailed
two operatorsTrueFalseFailed
only one signatureFalseFalsePassed
noneFalseFalsePassed
irrelevant historyTrueTruePassed

SHA-256 / bc1fd8c7db7e5d31bcaefb9daa8f0ad9e684c03a17009e593661d7fabb430ace

2 / The unsuccessful fix

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

N = 1
observations = []
def solve(records, cycle):
    return any(p != q and r == 'operator' and s == 'witness' for p, r, c in records for q, s, d in records)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('separate people', solve([('a', 'operator', N), ('b', 'witness', N)], N), True)
check('same person', solve([('a', 'operator', N), ('a', 'witness', N)], N), False)
check('stale witness', solve([('a', 'operator', N), ('b', 'witness', N-1)], N), False)
check('two operators', solve([('a', 'operator', N), ('b', 'operator', N)], N), False)
check('only one signature', solve([('a', 'operator', N)], N), False)
check('none', solve([], N), False)
check('irrelevant history', solve([('a', 'operator', N), ('b', 'witness', N), ('c', 'witness', N-1)], N), True)
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
separate peopleTrueTruePassed
same personFalseFalsePassed
stale witnessTrueFalseFailed
two operatorsFalseFalsePassed
only one signatureFalseFalsePassed
noneFalseFalsePassed
irrelevant historyTrueTruePassed

SHA-256 / 86caaf748bfaef65dff3acd0f7264fdfcf6fbf09252027b4803424fb8f15dd65

3 / The verified repair

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

N = 1
observations = []
def solve(records, cycle):
    return any(p != q and r == 'operator' and s == 'witness' and c == cycle and d == cycle for p, r, c in records for q, s, d in records)
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('separate people', solve([('a', 'operator', N), ('b', 'witness', N)], N), True)
check('same person', solve([('a', 'operator', N), ('a', 'witness', N)], N), False)
check('stale witness', solve([('a', 'operator', N), ('b', 'witness', N-1)], N), False)
check('two operators', solve([('a', 'operator', N), ('b', 'operator', N)], N), False)
check('only one signature', solve([('a', 'operator', N)], N), False)
check('none', solve([], N), False)
check('irrelevant history', solve([('a', 'operator', N), ('b', 'witness', N), ('c', 'witness', N-1)], N), True)
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
separate peopleTrueTruePassed
same personFalseFalsePassed
stale witnessFalseFalsePassed
two operatorsFalseFalsePassed
only one signatureFalseFalsePassed
noneFalseFalsePassed
irrelevant historyTrueTruePassed

SHA-256 / c4ee575b708bcde57ac76ebcfa2ba178a97a09b86d0ed90404804eda08e76858

Verification & scope

Offline policy model only; no physical equipment, regulatory certification, or concurrent transaction claims. 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:56.219148+00:00.

Case digest / 83aef9b657fffd2cefce681ecaa358ace84bc3c682e46a4502e7a347df27a015