FA-17731 / Time representation / Open access
Backward or zero civil adjustment gets a positive direction marker · case 01
The decoded time state disagrees with the explicit regression oracle for direction.
ROOT CAUSE
Backward or zero civil adjustment gets a positive direction marker.
VERIFIED REPAIR
Preserve the declared coordinate and state contract at direction: direction = (shift > 0) - (shift < 0).
Unsuccessful approach: The partial correction still substitutes -1 if shift < 0 else 1 at the same fault site.
Case contract
A stipulated forward offset transition at UTC T creates local gap [T+old,T+new). Reject returns None, forward adds gap width and backward subtracts it, preserving position in the gap. Return resolved local coordinate, UTC coordinate, shift direction and successful-change flag. Outside-gap labels are unchanged.
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):
start = r['transition'] + r['old']
end = r['transition'] + r['new']
width = r['new'] - r['old']
in_gap = start <= r['local'] < end
shift = (width if r['policy'] == 'forward' else -width) if in_gap and r['policy'] != 'reject' else 0
resolved = None if in_gap and r['policy'] == 'reject' else r['local'] + shift
offset = None if resolved is None else (r['old'] if resolved < start else r['new'])
utc = None if resolved is None else resolved - offset
direction = int(shift != 0)
changed = resolved is not None and resolved != r['local']
return [resolved,utc,direction,changed]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'local': 109, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [109, 99, 0, False])
check('fixture 2', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [130, 100, 1, True])
check('fixture 3', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [90, 80, -1, True])
check('fixture 4', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [None, None, 0, False])
check('fixture 5', solve({'local': 129, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [109, 99, -1, True])
check('fixture 6', solve({'local': 130, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [130, 100, 0, False])
check('fixture 7', solve({'local': 120, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [140, 110, 1, True])
check('fixture 8', solve({'local': 120, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [None, None, 0, False])
check('fixture 9', solve({'local': -20, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [-20, -30, 0, False])
check('fixture 10', solve({'local': 140, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [140, 110, 0, False])
variant = [({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [130, 100, 1, True]), ({'local': 111, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [131, 101, 1, True]), ({'local': 112, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [132, 102, 1, True]), ({'local': 113, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [133, 103, 1, True]), ({'local': 114, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [134, 104, 1, True])]
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 | [109, 99, 0, False] | [109, 99, 0, False] | Passed |
| fixture 2 | [130, 100, 1, True] | [130, 100, 1, True] | Passed |
| fixture 3 | [90, 80, 1, True] | [90, 80, -1, True] | Failed |
| fixture 4 | [None, None, 0, False] | [None, None, 0, False] | Passed |
| fixture 5 | [109, 99, 1, True] | [109, 99, -1, True] | Failed |
| fixture 6 | [130, 100, 0, False] | [130, 100, 0, False] | Passed |
| fixture 7 | [140, 110, 1, True] | [140, 110, 1, True] | Passed |
| fixture 8 | [None, None, 0, False] | [None, None, 0, False] | Passed |
| fixture 9 | [-20, -30, 0, False] | [-20, -30, 0, False] | Passed |
| fixture 10 | [140, 110, 0, False] | [140, 110, 0, False] | Passed |
| variant capture | [130, 100, 1, True] | [130, 100, 1, True] | Passed |
SHA-256 / 7729ef90ae6d38d56a7246027e4233354824cf342a228af97f82d18d422d5102
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):
start = r['transition'] + r['old']
end = r['transition'] + r['new']
width = r['new'] - r['old']
in_gap = start <= r['local'] < end
shift = (width if r['policy'] == 'forward' else -width) if in_gap and r['policy'] != 'reject' else 0
resolved = None if in_gap and r['policy'] == 'reject' else r['local'] + shift
offset = None if resolved is None else (r['old'] if resolved < start else r['new'])
utc = None if resolved is None else resolved - offset
direction = -1 if shift < 0 else 1
changed = resolved is not None and resolved != r['local']
return [resolved,utc,direction,changed]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'local': 109, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [109, 99, 0, False])
check('fixture 2', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [130, 100, 1, True])
check('fixture 3', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [90, 80, -1, True])
check('fixture 4', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [None, None, 0, False])
check('fixture 5', solve({'local': 129, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [109, 99, -1, True])
check('fixture 6', solve({'local': 130, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [130, 100, 0, False])
check('fixture 7', solve({'local': 120, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [140, 110, 1, True])
check('fixture 8', solve({'local': 120, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [None, None, 0, False])
check('fixture 9', solve({'local': -20, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [-20, -30, 0, False])
check('fixture 10', solve({'local': 140, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [140, 110, 0, False])
variant = [({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [130, 100, 1, True]), ({'local': 111, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [131, 101, 1, True]), ({'local': 112, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [132, 102, 1, True]), ({'local': 113, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [133, 103, 1, True]), ({'local': 114, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [134, 104, 1, True])]
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 | [109, 99, 1, False] | [109, 99, 0, False] | Failed |
| fixture 2 | [130, 100, 1, True] | [130, 100, 1, True] | Passed |
| fixture 3 | [90, 80, -1, True] | [90, 80, -1, True] | Passed |
| fixture 4 | [None, None, 1, False] | [None, None, 0, False] | Failed |
| fixture 5 | [109, 99, -1, True] | [109, 99, -1, True] | Passed |
| fixture 6 | [130, 100, 1, False] | [130, 100, 0, False] | Failed |
| fixture 7 | [140, 110, 1, True] | [140, 110, 1, True] | Passed |
| fixture 8 | [None, None, 1, False] | [None, None, 0, False] | Failed |
| fixture 9 | [-20, -30, 1, False] | [-20, -30, 0, False] | Failed |
| fixture 10 | [140, 110, 1, False] | [140, 110, 0, False] | Failed |
| variant capture | [130, 100, 1, True] | [130, 100, 1, True] | Passed |
SHA-256 / fa10bd2b82fedf32c9781f8f102ed427e93059c24e148839924915e63f72adf3
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):
start = r['transition'] + r['old']
end = r['transition'] + r['new']
width = r['new'] - r['old']
in_gap = start <= r['local'] < end
shift = (width if r['policy'] == 'forward' else -width) if in_gap and r['policy'] != 'reject' else 0
resolved = None if in_gap and r['policy'] == 'reject' else r['local'] + shift
offset = None if resolved is None else (r['old'] if resolved < start else r['new'])
utc = None if resolved is None else resolved - offset
direction = (shift > 0) - (shift < 0)
changed = resolved is not None and resolved != r['local']
return [resolved,utc,direction,changed]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'local': 109, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [109, 99, 0, False])
check('fixture 2', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [130, 100, 1, True])
check('fixture 3', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [90, 80, -1, True])
check('fixture 4', solve({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [None, None, 0, False])
check('fixture 5', solve({'local': 129, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [109, 99, -1, True])
check('fixture 6', solve({'local': 130, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [130, 100, 0, False])
check('fixture 7', solve({'local': 120, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [140, 110, 1, True])
check('fixture 8', solve({'local': 120, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'reject'}), [None, None, 0, False])
check('fixture 9', solve({'local': -20, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'backward'}), [-20, -30, 0, False])
check('fixture 10', solve({'local': 140, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}), [140, 110, 0, False])
variant = [({'local': 110, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [130, 100, 1, True]), ({'local': 111, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [131, 101, 1, True]), ({'local': 112, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [132, 102, 1, True]), ({'local': 113, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [133, 103, 1, True]), ({'local': 114, 'old': 10, 'new': 30, 'transition': 100, 'policy': 'forward'}, [134, 104, 1, True])]
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 | [109, 99, 0, False] | [109, 99, 0, False] | Passed |
| fixture 2 | [130, 100, 1, True] | [130, 100, 1, True] | Passed |
| fixture 3 | [90, 80, -1, True] | [90, 80, -1, True] | Passed |
| fixture 4 | [None, None, 0, False] | [None, None, 0, False] | Passed |
| fixture 5 | [109, 99, -1, True] | [109, 99, -1, True] | Passed |
| fixture 6 | [130, 100, 0, False] | [130, 100, 0, False] | Passed |
| fixture 7 | [140, 110, 1, True] | [140, 110, 1, True] | Passed |
| fixture 8 | [None, None, 0, False] | [None, None, 0, False] | Passed |
| fixture 9 | [-20, -30, 0, False] | [-20, -30, 0, False] | Passed |
| fixture 10 | [140, 110, 0, False] | [140, 110, 0, False] | Passed |
| variant capture | [130, 100, 1, True] | [130, 100, 1, True] | Passed |
SHA-256 / d0ee2a9fbf387a1d8347ba1f8e5292e596af918caa4999da3261fb5675877d12
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:49.942972+00:00.
Case digest / c7385e544ae6f181015f50895aaab7c8c86b6b16337a37717d93c730925136e7