FA-18336 / Time representation / Open access
Tagged civil roundtrip discards active offset table branch · case 01
The decoded time state disagrees with the explicit regression oracle for reconstructed.
ROOT CAUSE
Tagged civil roundtrip discards active offset table branch.
VERIFIED REPAIR
Preserve the declared coordinate and state contract at reconstructed: reconstructed = label + active_offset.
Unsuccessful approach: The partial correction still substitutes label + r['old'] at the same fault site.
Case contract
A stipulated offset table has initial atomic-minus-civil offset and a single step effective at atomic transition T. Translate atomic to civil label using active offset, retaining a fold tag for repeated labels on positive steps. Report label, offset, previous-label delta, discontinuity direction, repeated-label window membership and invertible pair. Offsets need not correspond to any real-world table.
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):
active_offset = r['new'] if r['atomic'] >= r['transition'] else r['old']
label = r['atomic'] - active_offset
previous_offset = r['new'] if r['atomic'] - 1 >= r['transition'] else r['old']
previous_label = r['atomic'] - 1 - previous_offset
step = r['new'] - r['old']
label_delta = label - previous_label
fold = step > 0 and r['transition'] <= r['atomic'] < r['transition'] + step
gap = step < 0 and r['atomic'] == r['transition']
direction = (step > 0) - (step < 0)
reconstructed = label
return [label,active_offset,label_delta,fold,gap,direction,reconstructed,[label,int(fold)]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'atomic': 99, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [89, 10, 1, False, False, 1, 99, [89, 0]])
check('fixture 2', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [89, 11, 0, True, False, 1, 100, [89, 1]])
check('fixture 3', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [90, 11, 1, False, False, 1, 101, [90, 0]])
check('fixture 4', solve({'atomic': 110, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [99, 11, 1, False, False, 1, 110, [99, 0]])
check('fixture 5', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [91, 9, 2, False, True, -1, 100, [91, 0]])
check('fixture 6', solve({'atomic': 99, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [89, 10, 1, False, False, -1, 99, [89, 0]])
check('fixture 7', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [92, 9, 1, False, False, -1, 101, [92, 0]])
check('fixture 8', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 10, 'probe': 0}), [90, 10, 1, False, False, 0, 100, [90, 0]])
check('fixture 9', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [88, 13, 1, True, False, 1, 101, [88, 1]])
check('fixture 10', solve({'atomic': 103, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [90, 13, 1, False, False, 1, 103, [90, 0]])
check('fixture 11', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [87, 13, -2, True, False, 1, 100, [87, 1]])
variant = [({'atomic': 100, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [89, 11, 0, True, False, 1, 100, [89, 1]]), ({'atomic': 101, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [90, 11, 1, False, False, 1, 101, [90, 0]]), ({'atomic': 102, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [91, 11, 1, False, False, 1, 102, [91, 0]]), ({'atomic': 103, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [92, 11, 1, False, False, 1, 103, [92, 0]]), ({'atomic': 104, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [93, 11, 1, False, False, 1, 104, [93, 0]])]
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 | [89, 10, 1, False, False, 1, 89, [89, 0]] | [89, 10, 1, False, False, 1, 99, [89, 0]] | Failed |
| fixture 2 | [89, 11, 0, True, False, 1, 89, [89, 1]] | [89, 11, 0, True, False, 1, 100, [89, 1]] | Failed |
| fixture 3 | [90, 11, 1, False, False, 1, 90, [90, 0]] | [90, 11, 1, False, False, 1, 101, [90, 0]] | Failed |
| fixture 4 | [99, 11, 1, False, False, 1, 99, [99, 0]] | [99, 11, 1, False, False, 1, 110, [99, 0]] | Failed |
| fixture 5 | [91, 9, 2, False, True, -1, 91, [91, 0]] | [91, 9, 2, False, True, -1, 100, [91, 0]] | Failed |
| fixture 6 | [89, 10, 1, False, False, -1, 89, [89, 0]] | [89, 10, 1, False, False, -1, 99, [89, 0]] | Failed |
| fixture 7 | [92, 9, 1, False, False, -1, 92, [92, 0]] | [92, 9, 1, False, False, -1, 101, [92, 0]] | Failed |
| fixture 8 | [90, 10, 1, False, False, 0, 90, [90, 0]] | [90, 10, 1, False, False, 0, 100, [90, 0]] | Failed |
| fixture 9 | [88, 13, 1, True, False, 1, 88, [88, 1]] | [88, 13, 1, True, False, 1, 101, [88, 1]] | Failed |
| fixture 10 | [90, 13, 1, False, False, 1, 90, [90, 0]] | [90, 13, 1, False, False, 1, 103, [90, 0]] | Failed |
| fixture 11 | [87, 13, -2, True, False, 1, 87, [87, 1]] | [87, 13, -2, True, False, 1, 100, [87, 1]] | Failed |
| variant capture | [89, 11, 0, True, False, 1, 89, [89, 1]] | [89, 11, 0, True, False, 1, 100, [89, 1]] | Failed |
SHA-256 / 760c3135a93b79fbc8ad37bcc3b555a5ac59c052d20704beb054a74f08cd30fb
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):
active_offset = r['new'] if r['atomic'] >= r['transition'] else r['old']
label = r['atomic'] - active_offset
previous_offset = r['new'] if r['atomic'] - 1 >= r['transition'] else r['old']
previous_label = r['atomic'] - 1 - previous_offset
step = r['new'] - r['old']
label_delta = label - previous_label
fold = step > 0 and r['transition'] <= r['atomic'] < r['transition'] + step
gap = step < 0 and r['atomic'] == r['transition']
direction = (step > 0) - (step < 0)
reconstructed = label + r['old']
return [label,active_offset,label_delta,fold,gap,direction,reconstructed,[label,int(fold)]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'atomic': 99, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [89, 10, 1, False, False, 1, 99, [89, 0]])
check('fixture 2', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [89, 11, 0, True, False, 1, 100, [89, 1]])
check('fixture 3', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [90, 11, 1, False, False, 1, 101, [90, 0]])
check('fixture 4', solve({'atomic': 110, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [99, 11, 1, False, False, 1, 110, [99, 0]])
check('fixture 5', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [91, 9, 2, False, True, -1, 100, [91, 0]])
check('fixture 6', solve({'atomic': 99, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [89, 10, 1, False, False, -1, 99, [89, 0]])
check('fixture 7', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [92, 9, 1, False, False, -1, 101, [92, 0]])
check('fixture 8', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 10, 'probe': 0}), [90, 10, 1, False, False, 0, 100, [90, 0]])
check('fixture 9', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [88, 13, 1, True, False, 1, 101, [88, 1]])
check('fixture 10', solve({'atomic': 103, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [90, 13, 1, False, False, 1, 103, [90, 0]])
check('fixture 11', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [87, 13, -2, True, False, 1, 100, [87, 1]])
variant = [({'atomic': 100, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [89, 11, 0, True, False, 1, 100, [89, 1]]), ({'atomic': 101, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [90, 11, 1, False, False, 1, 101, [90, 0]]), ({'atomic': 102, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [91, 11, 1, False, False, 1, 102, [91, 0]]), ({'atomic': 103, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [92, 11, 1, False, False, 1, 103, [92, 0]]), ({'atomic': 104, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [93, 11, 1, False, False, 1, 104, [93, 0]])]
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 | [89, 10, 1, False, False, 1, 99, [89, 0]] | [89, 10, 1, False, False, 1, 99, [89, 0]] | Passed |
| fixture 2 | [89, 11, 0, True, False, 1, 99, [89, 1]] | [89, 11, 0, True, False, 1, 100, [89, 1]] | Failed |
| fixture 3 | [90, 11, 1, False, False, 1, 100, [90, 0]] | [90, 11, 1, False, False, 1, 101, [90, 0]] | Failed |
| fixture 4 | [99, 11, 1, False, False, 1, 109, [99, 0]] | [99, 11, 1, False, False, 1, 110, [99, 0]] | Failed |
| fixture 5 | [91, 9, 2, False, True, -1, 101, [91, 0]] | [91, 9, 2, False, True, -1, 100, [91, 0]] | Failed |
| fixture 6 | [89, 10, 1, False, False, -1, 99, [89, 0]] | [89, 10, 1, False, False, -1, 99, [89, 0]] | Passed |
| fixture 7 | [92, 9, 1, False, False, -1, 102, [92, 0]] | [92, 9, 1, False, False, -1, 101, [92, 0]] | Failed |
| fixture 8 | [90, 10, 1, False, False, 0, 100, [90, 0]] | [90, 10, 1, False, False, 0, 100, [90, 0]] | Passed |
| fixture 9 | [88, 13, 1, True, False, 1, 98, [88, 1]] | [88, 13, 1, True, False, 1, 101, [88, 1]] | Failed |
| fixture 10 | [90, 13, 1, False, False, 1, 100, [90, 0]] | [90, 13, 1, False, False, 1, 103, [90, 0]] | Failed |
| fixture 11 | [87, 13, -2, True, False, 1, 97, [87, 1]] | [87, 13, -2, True, False, 1, 100, [87, 1]] | Failed |
| variant capture | [89, 11, 0, True, False, 1, 99, [89, 1]] | [89, 11, 0, True, False, 1, 100, [89, 1]] | Failed |
SHA-256 / 6c2bb1e8aa6404682fceca2ec8bcaa8cdd903d50edcdb95308a1ccd0c1d89e83
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):
active_offset = r['new'] if r['atomic'] >= r['transition'] else r['old']
label = r['atomic'] - active_offset
previous_offset = r['new'] if r['atomic'] - 1 >= r['transition'] else r['old']
previous_label = r['atomic'] - 1 - previous_offset
step = r['new'] - r['old']
label_delta = label - previous_label
fold = step > 0 and r['transition'] <= r['atomic'] < r['transition'] + step
gap = step < 0 and r['atomic'] == r['transition']
direction = (step > 0) - (step < 0)
reconstructed = label + active_offset
return [label,active_offset,label_delta,fold,gap,direction,reconstructed,[label,int(fold)]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'atomic': 99, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [89, 10, 1, False, False, 1, 99, [89, 0]])
check('fixture 2', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [89, 11, 0, True, False, 1, 100, [89, 1]])
check('fixture 3', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [90, 11, 1, False, False, 1, 101, [90, 0]])
check('fixture 4', solve({'atomic': 110, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}), [99, 11, 1, False, False, 1, 110, [99, 0]])
check('fixture 5', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [91, 9, 2, False, True, -1, 100, [91, 0]])
check('fixture 6', solve({'atomic': 99, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [89, 10, 1, False, False, -1, 99, [89, 0]])
check('fixture 7', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 9, 'probe': 0}), [92, 9, 1, False, False, -1, 101, [92, 0]])
check('fixture 8', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 10, 'probe': 0}), [90, 10, 1, False, False, 0, 100, [90, 0]])
check('fixture 9', solve({'atomic': 101, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [88, 13, 1, True, False, 1, 101, [88, 1]])
check('fixture 10', solve({'atomic': 103, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [90, 13, 1, False, False, 1, 103, [90, 0]])
check('fixture 11', solve({'atomic': 100, 'transition': 100, 'old': 10, 'new': 13, 'probe': 0}), [87, 13, -2, True, False, 1, 100, [87, 1]])
variant = [({'atomic': 100, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [89, 11, 0, True, False, 1, 100, [89, 1]]), ({'atomic': 101, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [90, 11, 1, False, False, 1, 101, [90, 0]]), ({'atomic': 102, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [91, 11, 1, False, False, 1, 102, [91, 0]]), ({'atomic': 103, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [92, 11, 1, False, False, 1, 103, [92, 0]]), ({'atomic': 104, 'transition': 100, 'old': 10, 'new': 11, 'probe': 0}, [93, 11, 1, False, False, 1, 104, [93, 0]])]
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 | [89, 10, 1, False, False, 1, 99, [89, 0]] | [89, 10, 1, False, False, 1, 99, [89, 0]] | Passed |
| fixture 2 | [89, 11, 0, True, False, 1, 100, [89, 1]] | [89, 11, 0, True, False, 1, 100, [89, 1]] | Passed |
| fixture 3 | [90, 11, 1, False, False, 1, 101, [90, 0]] | [90, 11, 1, False, False, 1, 101, [90, 0]] | Passed |
| fixture 4 | [99, 11, 1, False, False, 1, 110, [99, 0]] | [99, 11, 1, False, False, 1, 110, [99, 0]] | Passed |
| fixture 5 | [91, 9, 2, False, True, -1, 100, [91, 0]] | [91, 9, 2, False, True, -1, 100, [91, 0]] | Passed |
| fixture 6 | [89, 10, 1, False, False, -1, 99, [89, 0]] | [89, 10, 1, False, False, -1, 99, [89, 0]] | Passed |
| fixture 7 | [92, 9, 1, False, False, -1, 101, [92, 0]] | [92, 9, 1, False, False, -1, 101, [92, 0]] | Passed |
| fixture 8 | [90, 10, 1, False, False, 0, 100, [90, 0]] | [90, 10, 1, False, False, 0, 100, [90, 0]] | Passed |
| fixture 9 | [88, 13, 1, True, False, 1, 101, [88, 1]] | [88, 13, 1, True, False, 1, 101, [88, 1]] | Passed |
| fixture 10 | [90, 13, 1, False, False, 1, 103, [90, 0]] | [90, 13, 1, False, False, 1, 103, [90, 0]] | Passed |
| fixture 11 | [87, 13, -2, True, False, 1, 100, [87, 1]] | [87, 13, -2, True, False, 1, 100, [87, 1]] | Passed |
| variant capture | [89, 11, 0, True, False, 1, 100, [89, 1]] | [89, 11, 0, True, False, 1, 100, [89, 1]] | Passed |
SHA-256 / 29ca9cfe5ee7828c3998badc541d9eb52987267f451bf00c7b3253fa0c61258c
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:56.704727+00:00.
Case digest / 5b68ca1c285bdd5b99b919b051324fa81d9a0cfe3b1d3992a27ea5a72dfa8b51