FA-17351 / Time representation / Open access
Boot identity is ordered instead of compared · case 01
The decoded time state disagrees with the explicit regression oracle for reboot.
ROOT CAUSE
Boot identity is ordered instead of compared.
VERIFIED REPAIR
Preserve the declared coordinate and state contract at reboot: reboot = r['boot_now'] != r['boot_saved'].
Unsuccessful approach: The partial correction still substitutes r['boot_now'] < r['boot_saved'] at the same fault site.
Case contract
A checkpoint stores wall and monotonic coordinates, boot identity, budget and pause state. Same-boot restore uses monotonic elapsed; reboot restore uses nonnegative wall elapsed. Paused timers consume no elapsed ticks. Return remaining budget, expiration flag, overdue ticks, current-domain deadline (None while paused), and reconstructed running base. All units are identical integer ticks.
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):
wall_delta = r['wall_now'] - r['wall_saved']
mono_delta = r['mono_now'] - r['mono_saved']
reboot = False
elapsed = max(0, wall_delta if reboot else mono_delta)
consumed = 0 if r['paused'] else elapsed
remaining = max(0, r['budget'] - consumed)
expired = not r['paused'] and consumed >= r['budget']
overdue = max(0, consumed - r['budget'])
deadline = None if r['paused'] else r['mono_now'] + remaining
base = r['mono_now'] - consumed
return [remaining,expired,overdue,deadline,base]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 30}), [0, True, 0, 50, 20])
check('fixture 2', solve({'wall_now': 90, 'wall_saved': 100, 'mono_now': 5, 'mono_saved': 20, 'boot_now': 'b', 'boot_saved': 'a', 'paused': False, 'budget': 10}), [10, False, 0, 15, 5])
check('fixture 3', solve({'wall_now': 150, 'wall_saved': 100, 'mono_now': 5, 'mono_saved': 20, 'boot_now': 'b', 'boot_saved': 'a', 'paused': False, 'budget': 20}), [0, True, 30, 5, -45])
check('fixture 4', solve({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': True, 'budget': 0}), [0, False, 0, None, 50])
check('fixture 5', solve({'wall_now': 140, 'wall_saved': 100, 'mono_now': 60, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 100}), [60, False, 0, 120, 20])
check('fixture 6', solve({'wall_now': 90, 'wall_saved': 100, 'mono_now': -5, 'mono_saved': -20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 20}), [5, False, 0, 0, -20])
check('fixture 7', solve({'wall_now': 101, 'wall_saved': 100, 'mono_now': 0, 'mono_saved': 0, 'boot_now': 'c', 'boot_saved': 'a', 'paused': False, 'budget': 0}), [0, True, 1, 0, -1])
check('fixture 8', solve({'wall_now': 100, 'wall_saved': 100, 'mono_now': 20, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': True, 'budget': 10}), [10, False, 0, None, 20])
check('fixture 9', solve({'wall_now': 105, 'wall_saved': 100, 'mono_now': 24, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 3}), [0, True, 1, 24, 20])
check('fixture 10', solve({'wall_now': 80, 'wall_saved': 100, 'mono_now': -10, 'mono_saved': -20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 0}), [0, True, 10, -10, -20])
variant = [({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 31}, [1, False, 0, 51, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 32}, [2, False, 0, 52, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 33}, [3, False, 0, 53, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 34}, [4, False, 0, 54, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 35}, [5, False, 0, 55, 20])]
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 | [0, True, 0, 50, 20] | [0, True, 0, 50, 20] | Passed |
| fixture 2 | [10, False, 0, 15, 5] | [10, False, 0, 15, 5] | Passed |
| fixture 3 | [20, False, 0, 25, 5] | [0, True, 30, 5, -45] | Failed |
| fixture 4 | [0, False, 0, None, 50] | [0, False, 0, None, 50] | Passed |
| fixture 5 | [60, False, 0, 120, 20] | [60, False, 0, 120, 20] | Passed |
| fixture 6 | [5, False, 0, 0, -20] | [5, False, 0, 0, -20] | Passed |
| fixture 7 | [0, True, 0, 0, 0] | [0, True, 1, 0, -1] | Failed |
| fixture 8 | [10, False, 0, None, 20] | [10, False, 0, None, 20] | Passed |
| fixture 9 | [0, True, 1, 24, 20] | [0, True, 1, 24, 20] | Passed |
| fixture 10 | [0, True, 10, -10, -20] | [0, True, 10, -10, -20] | Passed |
| variant capture | [1, False, 0, 51, 20] | [1, False, 0, 51, 20] | Passed |
SHA-256 / eda227d3979aeb3b217004a763aed98b6026b38b60284435466b031550a9f4e0
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):
wall_delta = r['wall_now'] - r['wall_saved']
mono_delta = r['mono_now'] - r['mono_saved']
reboot = r['boot_now'] < r['boot_saved']
elapsed = max(0, wall_delta if reboot else mono_delta)
consumed = 0 if r['paused'] else elapsed
remaining = max(0, r['budget'] - consumed)
expired = not r['paused'] and consumed >= r['budget']
overdue = max(0, consumed - r['budget'])
deadline = None if r['paused'] else r['mono_now'] + remaining
base = r['mono_now'] - consumed
return [remaining,expired,overdue,deadline,base]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 30}), [0, True, 0, 50, 20])
check('fixture 2', solve({'wall_now': 90, 'wall_saved': 100, 'mono_now': 5, 'mono_saved': 20, 'boot_now': 'b', 'boot_saved': 'a', 'paused': False, 'budget': 10}), [10, False, 0, 15, 5])
check('fixture 3', solve({'wall_now': 150, 'wall_saved': 100, 'mono_now': 5, 'mono_saved': 20, 'boot_now': 'b', 'boot_saved': 'a', 'paused': False, 'budget': 20}), [0, True, 30, 5, -45])
check('fixture 4', solve({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': True, 'budget': 0}), [0, False, 0, None, 50])
check('fixture 5', solve({'wall_now': 140, 'wall_saved': 100, 'mono_now': 60, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 100}), [60, False, 0, 120, 20])
check('fixture 6', solve({'wall_now': 90, 'wall_saved': 100, 'mono_now': -5, 'mono_saved': -20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 20}), [5, False, 0, 0, -20])
check('fixture 7', solve({'wall_now': 101, 'wall_saved': 100, 'mono_now': 0, 'mono_saved': 0, 'boot_now': 'c', 'boot_saved': 'a', 'paused': False, 'budget': 0}), [0, True, 1, 0, -1])
check('fixture 8', solve({'wall_now': 100, 'wall_saved': 100, 'mono_now': 20, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': True, 'budget': 10}), [10, False, 0, None, 20])
check('fixture 9', solve({'wall_now': 105, 'wall_saved': 100, 'mono_now': 24, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 3}), [0, True, 1, 24, 20])
check('fixture 10', solve({'wall_now': 80, 'wall_saved': 100, 'mono_now': -10, 'mono_saved': -20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 0}), [0, True, 10, -10, -20])
variant = [({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 31}, [1, False, 0, 51, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 32}, [2, False, 0, 52, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 33}, [3, False, 0, 53, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 34}, [4, False, 0, 54, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 35}, [5, False, 0, 55, 20])]
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 | [0, True, 0, 50, 20] | [0, True, 0, 50, 20] | Passed |
| fixture 2 | [10, False, 0, 15, 5] | [10, False, 0, 15, 5] | Passed |
| fixture 3 | [20, False, 0, 25, 5] | [0, True, 30, 5, -45] | Failed |
| fixture 4 | [0, False, 0, None, 50] | [0, False, 0, None, 50] | Passed |
| fixture 5 | [60, False, 0, 120, 20] | [60, False, 0, 120, 20] | Passed |
| fixture 6 | [5, False, 0, 0, -20] | [5, False, 0, 0, -20] | Passed |
| fixture 7 | [0, True, 0, 0, 0] | [0, True, 1, 0, -1] | Failed |
| fixture 8 | [10, False, 0, None, 20] | [10, False, 0, None, 20] | Passed |
| fixture 9 | [0, True, 1, 24, 20] | [0, True, 1, 24, 20] | Passed |
| fixture 10 | [0, True, 10, -10, -20] | [0, True, 10, -10, -20] | Passed |
| variant capture | [1, False, 0, 51, 20] | [1, False, 0, 51, 20] | Passed |
SHA-256 / 588ec42e2afe1b0a24fec3e23b856c469545235e71420e1dbf49cf21efbada0d
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):
wall_delta = r['wall_now'] - r['wall_saved']
mono_delta = r['mono_now'] - r['mono_saved']
reboot = r['boot_now'] != r['boot_saved']
elapsed = max(0, wall_delta if reboot else mono_delta)
consumed = 0 if r['paused'] else elapsed
remaining = max(0, r['budget'] - consumed)
expired = not r['paused'] and consumed >= r['budget']
overdue = max(0, consumed - r['budget'])
deadline = None if r['paused'] else r['mono_now'] + remaining
base = r['mono_now'] - consumed
return [remaining,expired,overdue,deadline,base]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 30}), [0, True, 0, 50, 20])
check('fixture 2', solve({'wall_now': 90, 'wall_saved': 100, 'mono_now': 5, 'mono_saved': 20, 'boot_now': 'b', 'boot_saved': 'a', 'paused': False, 'budget': 10}), [10, False, 0, 15, 5])
check('fixture 3', solve({'wall_now': 150, 'wall_saved': 100, 'mono_now': 5, 'mono_saved': 20, 'boot_now': 'b', 'boot_saved': 'a', 'paused': False, 'budget': 20}), [0, True, 30, 5, -45])
check('fixture 4', solve({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': True, 'budget': 0}), [0, False, 0, None, 50])
check('fixture 5', solve({'wall_now': 140, 'wall_saved': 100, 'mono_now': 60, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 100}), [60, False, 0, 120, 20])
check('fixture 6', solve({'wall_now': 90, 'wall_saved': 100, 'mono_now': -5, 'mono_saved': -20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 20}), [5, False, 0, 0, -20])
check('fixture 7', solve({'wall_now': 101, 'wall_saved': 100, 'mono_now': 0, 'mono_saved': 0, 'boot_now': 'c', 'boot_saved': 'a', 'paused': False, 'budget': 0}), [0, True, 1, 0, -1])
check('fixture 8', solve({'wall_now': 100, 'wall_saved': 100, 'mono_now': 20, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': True, 'budget': 10}), [10, False, 0, None, 20])
check('fixture 9', solve({'wall_now': 105, 'wall_saved': 100, 'mono_now': 24, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 3}), [0, True, 1, 24, 20])
check('fixture 10', solve({'wall_now': 80, 'wall_saved': 100, 'mono_now': -10, 'mono_saved': -20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 0}), [0, True, 10, -10, -20])
variant = [({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 31}, [1, False, 0, 51, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 32}, [2, False, 0, 52, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 33}, [3, False, 0, 53, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 34}, [4, False, 0, 54, 20]), ({'wall_now': 130, 'wall_saved': 100, 'mono_now': 50, 'mono_saved': 20, 'boot_now': 'a', 'boot_saved': 'a', 'paused': False, 'budget': 35}, [5, False, 0, 55, 20])]
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 | [0, True, 0, 50, 20] | [0, True, 0, 50, 20] | Passed |
| fixture 2 | [10, False, 0, 15, 5] | [10, False, 0, 15, 5] | Passed |
| fixture 3 | [0, True, 30, 5, -45] | [0, True, 30, 5, -45] | Passed |
| fixture 4 | [0, False, 0, None, 50] | [0, False, 0, None, 50] | Passed |
| fixture 5 | [60, False, 0, 120, 20] | [60, False, 0, 120, 20] | Passed |
| fixture 6 | [5, False, 0, 0, -20] | [5, False, 0, 0, -20] | Passed |
| fixture 7 | [0, True, 1, 0, -1] | [0, True, 1, 0, -1] | Passed |
| fixture 8 | [10, False, 0, None, 20] | [10, False, 0, None, 20] | Passed |
| fixture 9 | [0, True, 1, 24, 20] | [0, True, 1, 24, 20] | Passed |
| fixture 10 | [0, True, 10, -10, -20] | [0, True, 10, -10, -20] | Passed |
| variant capture | [1, False, 0, 51, 20] | [1, False, 0, 51, 20] | Passed |
SHA-256 / 2a90944ccd9081ed15d9d0da623aae8d6d074a1416545eda60ce3e2b80871917
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:45.423022+00:00.
Case digest / d4a9f48e389b14306a753d51c348fdadf2d09dc1047dc5a4f0c260bc35e15907