FA-18491 / Time representation / Open access
Clock quality accepts future synchronization or ages from global origin · case 01
The decoded time state disagrees with the explicit regression oracle for age.
ROOT CAUSE
Clock quality accepts future synchronization or ages from global origin.
VERIFIED REPAIR
Preserve the declared coordinate and state contract at age: age = r['now'] - r['last_sync'].
Unsuccessful approach: The partial correction still substitutes r['now'] at the same fault site.
Case contract
Clock quality state is determined from oscillator validity, acquisition lock count, elapsed time since last sync, max holdover, phase jump and lock threshold. Unknown oscillator is invalid; otherwise large phase jump requires reacquisition, recent sufficient lock is synchronized, old but bounded history is holdover, and missing/expired history is unsynchronized. Return usability and conservative uncertainty growth for holdover only.
Why this case matters
Clock transfer and timestamp consumers require preserved coordinate, phase, validity and elapsed-time semantics.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(r):
age = abs(r['now'] - r['last_sync'])
history = r['has_sync'] and age >= 0
jumped = abs(r['phase_jump']) > r['jump_limit']
locked = r['lock_count'] >= r['required']
recent = history and age <= r['fresh_window']
holdover = history and age <= r['max_holdover']
state = 'invalid' if not r['oscillator'] else ('acquire' if jumped else ('locked' if recent and locked else ('holdover' if holdover else 'unsynced')))
growth = (age * r['drift'] + 999) // 1000 if state == 'holdover' else 0
error = r['base_error'] + growth if state in ('locked','holdover') else None
usable = state in ('locked','holdover') and error <= r['error_limit']
return [state,error,usable]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['locked', 2, True])
check('fixture 2', solve({'now': 105, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 3}), ['locked', 2, True])
check('fixture 3', solve({'now': 106, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['holdover', 3, False])
check('fixture 4', solve({'now': 120, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 4, True])
check('fixture 5', solve({'now': 121, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 6', solve({'now': 99, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 7', solve({'now': 100, 'last_sync': 100, 'has_sync': False, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 8', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': -6, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['acquire', None, False])
check('fixture 9', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 5, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['locked', 2, True])
check('fixture 10', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 1, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 2, True])
check('fixture 11', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': False, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['invalid', None, False])
check('fixture 12', solve({'now': 110, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 3, True])
variant = [({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 3, 'error_limit': 2}, ['locked', 3, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 4, 'error_limit': 2}, ['locked', 4, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 5, 'error_limit': 2}, ['locked', 5, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 6, 'error_limit': 2}, ['locked', 6, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 7, 'error_limit': 2}, ['locked', 7, False])]
check("variant capture", solve(variant[N-1][0]), variant[N-1][1])
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 |
|---|---|---|---|
| fixture 1 | ['locked', 2, True] | ['locked', 2, True] | Passed |
| fixture 2 | ['locked', 2, True] | ['locked', 2, True] | Passed |
| fixture 3 | ['holdover', 3, False] | ['holdover', 3, False] | Passed |
| fixture 4 | ['holdover', 4, True] | ['holdover', 4, True] | Passed |
| fixture 5 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 6 | ['locked', 2, True] | ['unsynced', None, False] | Failed |
| fixture 7 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 8 | ['acquire', None, False] | ['acquire', None, False] | Passed |
| fixture 9 | ['locked', 2, True] | ['locked', 2, True] | Passed |
| fixture 10 | ['holdover', 2, True] | ['holdover', 2, True] | Passed |
| fixture 11 | ['invalid', None, False] | ['invalid', None, False] | Passed |
| fixture 12 | ['holdover', 3, True] | ['holdover', 3, True] | Passed |
| variant capture | ['locked', 3, False] | ['locked', 3, False] | Passed |
SHA-256 / 48340cc74242d69d4583b1aa587501b459acee6681730ec55a41ffc158b53a8d
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(r):
age = r['now']
history = r['has_sync'] and age >= 0
jumped = abs(r['phase_jump']) > r['jump_limit']
locked = r['lock_count'] >= r['required']
recent = history and age <= r['fresh_window']
holdover = history and age <= r['max_holdover']
state = 'invalid' if not r['oscillator'] else ('acquire' if jumped else ('locked' if recent and locked else ('holdover' if holdover else 'unsynced')))
growth = (age * r['drift'] + 999) // 1000 if state == 'holdover' else 0
error = r['base_error'] + growth if state in ('locked','holdover') else None
usable = state in ('locked','holdover') and error <= r['error_limit']
return [state,error,usable]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['locked', 2, True])
check('fixture 2', solve({'now': 105, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 3}), ['locked', 2, True])
check('fixture 3', solve({'now': 106, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['holdover', 3, False])
check('fixture 4', solve({'now': 120, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 4, True])
check('fixture 5', solve({'now': 121, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 6', solve({'now': 99, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 7', solve({'now': 100, 'last_sync': 100, 'has_sync': False, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 8', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': -6, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['acquire', None, False])
check('fixture 9', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 5, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['locked', 2, True])
check('fixture 10', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 1, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 2, True])
check('fixture 11', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': False, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['invalid', None, False])
check('fixture 12', solve({'now': 110, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 3, True])
variant = [({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 3, 'error_limit': 2}, ['locked', 3, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 4, 'error_limit': 2}, ['locked', 4, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 5, 'error_limit': 2}, ['locked', 5, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 6, 'error_limit': 2}, ['locked', 6, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 7, 'error_limit': 2}, ['locked', 7, False])]
check("variant capture", solve(variant[N-1][0]), variant[N-1][1])
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 |
|---|---|---|---|
| fixture 1 | ['unsynced', None, False] | ['locked', 2, True] | Failed |
| fixture 2 | ['unsynced', None, False] | ['locked', 2, True] | Failed |
| fixture 3 | ['unsynced', None, False] | ['holdover', 3, False] | Failed |
| fixture 4 | ['unsynced', None, False] | ['holdover', 4, True] | Failed |
| fixture 5 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 6 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 7 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 8 | ['acquire', None, False] | ['acquire', None, False] | Passed |
| fixture 9 | ['unsynced', None, False] | ['locked', 2, True] | Failed |
| fixture 10 | ['unsynced', None, False] | ['holdover', 2, True] | Failed |
| fixture 11 | ['invalid', None, False] | ['invalid', None, False] | Passed |
| fixture 12 | ['unsynced', None, False] | ['holdover', 3, True] | Failed |
| variant capture | ['unsynced', None, False] | ['locked', 3, False] | Failed |
SHA-256 / 02dbfe1f31e64c012f70433bdbf69b119a40873b9b0403ec64ebe624d508ebf6
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
from fractions import Fraction
N = 1
observations = []
def solve(r):
age = r['now'] - r['last_sync']
history = r['has_sync'] and age >= 0
jumped = abs(r['phase_jump']) > r['jump_limit']
locked = r['lock_count'] >= r['required']
recent = history and age <= r['fresh_window']
holdover = history and age <= r['max_holdover']
state = 'invalid' if not r['oscillator'] else ('acquire' if jumped else ('locked' if recent and locked else ('holdover' if holdover else 'unsynced')))
growth = (age * r['drift'] + 999) // 1000 if state == 'holdover' else 0
error = r['base_error'] + growth if state in ('locked','holdover') else None
usable = state in ('locked','holdover') and error <= r['error_limit']
return [state,error,usable]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['locked', 2, True])
check('fixture 2', solve({'now': 105, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 3}), ['locked', 2, True])
check('fixture 3', solve({'now': 106, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['holdover', 3, False])
check('fixture 4', solve({'now': 120, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 4, True])
check('fixture 5', solve({'now': 121, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 6', solve({'now': 99, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 7', solve({'now': 100, 'last_sync': 100, 'has_sync': False, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])
check('fixture 8', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': -6, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['acquire', None, False])
check('fixture 9', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 5, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['locked', 2, True])
check('fixture 10', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 1, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 2, True])
check('fixture 11', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': False, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['invalid', None, False])
check('fixture 12', solve({'now': 110, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 3, True])
variant = [({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 3, 'error_limit': 2}, ['locked', 3, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 4, 'error_limit': 2}, ['locked', 4, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 5, 'error_limit': 2}, ['locked', 5, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 6, 'error_limit': 2}, ['locked', 6, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 7, 'error_limit': 2}, ['locked', 7, False])]
check("variant capture", solve(variant[N-1][0]), variant[N-1][1])
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 |
|---|---|---|---|
| fixture 1 | ['locked', 2, True] | ['locked', 2, True] | Passed |
| fixture 2 | ['locked', 2, True] | ['locked', 2, True] | Passed |
| fixture 3 | ['holdover', 3, False] | ['holdover', 3, False] | Passed |
| fixture 4 | ['holdover', 4, True] | ['holdover', 4, True] | Passed |
| fixture 5 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 6 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 7 | ['unsynced', None, False] | ['unsynced', None, False] | Passed |
| fixture 8 | ['acquire', None, False] | ['acquire', None, False] | Passed |
| fixture 9 | ['locked', 2, True] | ['locked', 2, True] | Passed |
| fixture 10 | ['holdover', 2, True] | ['holdover', 2, True] | Passed |
| fixture 11 | ['invalid', None, False] | ['invalid', None, False] | Passed |
| fixture 12 | ['holdover', 3, True] | ['holdover', 3, True] | Passed |
| variant capture | ['locked', 3, False] | ['locked', 3, False] | Passed |
SHA-256 / b81025d2feee064206455a11972d3819b4969a28b4faf07e0fa7b92850359182
Verification & scope
Deterministic integer reference model with stipulated units and policies; not a complete clock, wire standard or platform implementation. 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:39:58.157070+00:00.
Case digest / 70921509230fa474fa2737915d8e5d15224cfdb6a44ccbc8425b3f0a6739dbf2