FA-17386 / Time representation / Open access
Resumed timer base is reconstructed on the wrong side of now · case 01
The decoded time state disagrees with the explicit regression oracle for base.
ROOT CAUSE
Resumed timer base is reconstructed on the wrong side of now.
VERIFIED REPAIR
Preserve the declared coordinate and state contract at base: base = r['mono_now'] - consumed.
Unsuccessful approach: The partial correction still substitutes r['mono_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 = 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, 80] | [0, True, 0, 50, 20] | Failed |
| fixture 2 | [10, False, 0, 15, 5] | [10, False, 0, 15, 5] | Passed |
| fixture 3 | [0, True, 30, 5, 55] | [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, 100] | [60, False, 0, 120, 20] | Failed |
| fixture 6 | [5, False, 0, 0, 10] | [5, False, 0, 0, -20] | Failed |
| fixture 7 | [0, True, 1, 0, 1] | [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, 28] | [0, True, 1, 24, 20] | Failed |
| fixture 10 | [0, True, 10, -10, 0] | [0, True, 10, -10, -20] | Failed |
| variant capture | [1, False, 0, 51, 80] | [1, False, 0, 51, 20] | Failed |
SHA-256 / 9602b055584eaac717c4b942849649596ad43b9af9eddbe1e6fbc97326b2c643
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_saved']
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, 20] | [10, False, 0, 15, 5] | Failed |
| fixture 3 | [0, True, 30, 5, 20] | [0, True, 30, 5, -45] | Failed |
| fixture 4 | [0, False, 0, None, 20] | [0, False, 0, None, 50] | Failed |
| 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, 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 / f7d83657b87d223c908cca6e8a5532bc3fd67e3205266bc33cd31d6e25b06d80
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.743478+00:00.
Case digest / aec4d6e2c8e845894849bc581c2b31871cf9aa8fa5e0cbaa3808f509e89b85fc