FA-12376 / Manufacturing workflow integrity / Open access
One operator satisfies both release signatures · case 01
One operator satisfies both release signatures.
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| separate people | True | True | Passed |
| same person | True | False | Failed |
| stale witness | True | False | Failed |
| two operators | True | False | Failed |
| only one signature | False | False | Passed |
| none | False | False | Passed |
| irrelevant history | True | True | Passed |
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| separate people | True | True | Passed |
| same person | False | False | Passed |
| stale witness | True | False | Failed |
| two operators | False | False | Passed |
| only one signature | False | False | Passed |
| none | False | False | Passed |
| irrelevant history | True | True | Passed |
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| separate people | True | True | Passed |
| same person | False | False | Passed |
| stale witness | False | False | Passed |
| two operators | False | False | Passed |
| only one signature | False | False | Passed |
| none | False | False | Passed |
| irrelevant history | True | True | Passed |
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