FAILURE MAP
← Case archive

FA-17876 / Time representation / Open access

Timestamp admission supports only one precision form · case 01

The decoded time state disagrees with the explicit regression oracle for valid.

Verified by executionVariant 1 · 20 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Timestamp admission supports only one precision form.

VERIFIED REPAIR

Preserve the declared coordinate and state contract at valid: valid = whole_valid and fraction_valid and len(parts) <= 2.

Unsuccessful approach: The partial correction still substitutes whole_valid and fraction_valid and len(parts) == 2 at the same fault site.

Case contract

Parse exact ASCII signed decimal epoch seconds: optional one leading minus, nonempty whole digits, optional dot plus one to three fractional digits. Reject whitespace, plus, comma, exponent, empty fraction, non-ASCII digits and excess precision. Return validity, exact signed milliseconds or None, and negative-zero lexical marker. No floating point is used.

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):
    negative = r['text'].startswith('-')
    payload = r['text'][1:] if negative else r['text']
    parts = payload.split('.')
    whole = parts[0]
    fraction = parts[1] if len(parts) == 2 else ''
    whole_valid = len(whole) > 0 and all('0' <= c <= '9' for c in whole)
    fraction_valid = len(parts) == 1 or (len(parts) == 2 and 1 <= len(fraction) <= 3 and all('0' <= c <= '9' for c in fraction))
    valid = whole_valid and len(parts) == 1
    magnitude = int(whole) * 1000 + int(fraction.ljust(3,'0')) if valid else None
    milliseconds = (-magnitude if negative else magnitude) if valid else None
    return [valid,milliseconds,valid and negative and magnitude == 0]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'text': '1.2', 'probe': 1}), [True, 1200, False])
check('fixture 2', solve({'text': '-0.125', 'probe': 1}), [True, -125, False])
check('fixture 3', solve({'text': '12', 'probe': 1}), [True, 12000, False])
check('fixture 4', solve({'text': '-1.2', 'probe': 1}), [True, -1200, False])
check('fixture 5', solve({'text': '0', 'probe': 1}), [True, 0, False])
check('fixture 6', solve({'text': '-0.000', 'probe': 1}), [True, 0, True])
check('fixture 7', solve({'text': '1.', 'probe': 1}), [False, None, False])
check('fixture 8', solve({'text': '--1', 'probe': 1}), [False, None, False])
check('fixture 9', solve({'text': '+1', 'probe': 1}), [False, None, False])
check('fixture 10', solve({'text': ' 1', 'probe': 1}), [False, None, False])
check('fixture 11', solve({'text': '1,2', 'probe': 1}), [False, None, False])
check('fixture 12', solve({'text': '1.2.3', 'probe': 1}), [False, None, False])
check('fixture 13', solve({'text': '.2', 'probe': 1}), [False, None, False])
check('fixture 14', solve({'text': '1.2300', 'probe': 1}), [False, None, False])
check('fixture 15', solve({'text': '١', 'probe': 1}), [False, None, False])
check('fixture 16', solve({'text': '1.٢', 'probe': 1}), [False, None, False])
check('fixture 17', solve({'text': '1 2', 'probe': 1}), [False, None, False])
check('fixture 18', solve({'text': '2.000', 'probe': 1}), [True, 2000, False])
check('fixture 19', solve({'text': '0.12', 'probe': 1}), [True, 120, False])
variant = [({'text': '1.125', 'probe': 1}, [True, 1125, False]), ({'text': '2.125', 'probe': 1}, [True, 2125, False]), ({'text': '3.125', 'probe': 1}, [True, 3125, False]), ({'text': '4.125', 'probe': 1}, [True, 4125, False]), ({'text': '5.125', 'probe': 1}, [True, 5125, 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 fixtureActualExpectedOutcome
fixture 1[False, None, False][True, 1200, False]Failed
fixture 2[False, None, False][True, -125, False]Failed
fixture 3[True, 12000, False][True, 12000, False]Passed
fixture 4[False, None, False][True, -1200, False]Failed
fixture 5[True, 0, False][True, 0, False]Passed
fixture 6[False, None, False][True, 0, True]Failed
fixture 7[False, None, False][False, None, False]Passed
fixture 8[False, None, False][False, None, False]Passed
fixture 9[False, None, False][False, None, False]Passed
fixture 10[False, None, False][False, None, False]Passed
fixture 11[False, None, False][False, None, False]Passed
fixture 12[False, None, False][False, None, False]Passed
fixture 13[False, None, False][False, None, False]Passed
fixture 14[False, None, False][False, None, False]Passed
fixture 15[False, None, False][False, None, False]Passed
fixture 16[False, None, False][False, None, False]Passed
fixture 17[False, None, False][False, None, False]Passed
fixture 18[False, None, False][True, 2000, False]Failed
fixture 19[False, None, False][True, 120, False]Failed
variant capture[False, None, False][True, 1125, False]Failed

SHA-256 / 99d2579dc055abb8306f1dd079278469f853580bcc975b9dd5c87bbc28129de0

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):
    negative = r['text'].startswith('-')
    payload = r['text'][1:] if negative else r['text']
    parts = payload.split('.')
    whole = parts[0]
    fraction = parts[1] if len(parts) == 2 else ''
    whole_valid = len(whole) > 0 and all('0' <= c <= '9' for c in whole)
    fraction_valid = len(parts) == 1 or (len(parts) == 2 and 1 <= len(fraction) <= 3 and all('0' <= c <= '9' for c in fraction))
    valid = whole_valid and fraction_valid and len(parts) == 2
    magnitude = int(whole) * 1000 + int(fraction.ljust(3,'0')) if valid else None
    milliseconds = (-magnitude if negative else magnitude) if valid else None
    return [valid,milliseconds,valid and negative and magnitude == 0]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'text': '1.2', 'probe': 1}), [True, 1200, False])
check('fixture 2', solve({'text': '-0.125', 'probe': 1}), [True, -125, False])
check('fixture 3', solve({'text': '12', 'probe': 1}), [True, 12000, False])
check('fixture 4', solve({'text': '-1.2', 'probe': 1}), [True, -1200, False])
check('fixture 5', solve({'text': '0', 'probe': 1}), [True, 0, False])
check('fixture 6', solve({'text': '-0.000', 'probe': 1}), [True, 0, True])
check('fixture 7', solve({'text': '1.', 'probe': 1}), [False, None, False])
check('fixture 8', solve({'text': '--1', 'probe': 1}), [False, None, False])
check('fixture 9', solve({'text': '+1', 'probe': 1}), [False, None, False])
check('fixture 10', solve({'text': ' 1', 'probe': 1}), [False, None, False])
check('fixture 11', solve({'text': '1,2', 'probe': 1}), [False, None, False])
check('fixture 12', solve({'text': '1.2.3', 'probe': 1}), [False, None, False])
check('fixture 13', solve({'text': '.2', 'probe': 1}), [False, None, False])
check('fixture 14', solve({'text': '1.2300', 'probe': 1}), [False, None, False])
check('fixture 15', solve({'text': '١', 'probe': 1}), [False, None, False])
check('fixture 16', solve({'text': '1.٢', 'probe': 1}), [False, None, False])
check('fixture 17', solve({'text': '1 2', 'probe': 1}), [False, None, False])
check('fixture 18', solve({'text': '2.000', 'probe': 1}), [True, 2000, False])
check('fixture 19', solve({'text': '0.12', 'probe': 1}), [True, 120, False])
variant = [({'text': '1.125', 'probe': 1}, [True, 1125, False]), ({'text': '2.125', 'probe': 1}, [True, 2125, False]), ({'text': '3.125', 'probe': 1}, [True, 3125, False]), ({'text': '4.125', 'probe': 1}, [True, 4125, False]), ({'text': '5.125', 'probe': 1}, [True, 5125, 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 fixtureActualExpectedOutcome
fixture 1[True, 1200, False][True, 1200, False]Passed
fixture 2[True, -125, False][True, -125, False]Passed
fixture 3[False, None, False][True, 12000, False]Failed
fixture 4[True, -1200, False][True, -1200, False]Passed
fixture 5[False, None, False][True, 0, False]Failed
fixture 6[True, 0, True][True, 0, True]Passed
fixture 7[False, None, False][False, None, False]Passed
fixture 8[False, None, False][False, None, False]Passed
fixture 9[False, None, False][False, None, False]Passed
fixture 10[False, None, False][False, None, False]Passed
fixture 11[False, None, False][False, None, False]Passed
fixture 12[False, None, False][False, None, False]Passed
fixture 13[False, None, False][False, None, False]Passed
fixture 14[False, None, False][False, None, False]Passed
fixture 15[False, None, False][False, None, False]Passed
fixture 16[False, None, False][False, None, False]Passed
fixture 17[False, None, False][False, None, False]Passed
fixture 18[True, 2000, False][True, 2000, False]Passed
fixture 19[True, 120, False][True, 120, False]Passed
variant capture[True, 1125, False][True, 1125, False]Passed

SHA-256 / 9143b2f771c0a0c94fe8c15a7e8974ba43c97eb3188edff211a253d8e8261fbc

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):
    negative = r['text'].startswith('-')
    payload = r['text'][1:] if negative else r['text']
    parts = payload.split('.')
    whole = parts[0]
    fraction = parts[1] if len(parts) == 2 else ''
    whole_valid = len(whole) > 0 and all('0' <= c <= '9' for c in whole)
    fraction_valid = len(parts) == 1 or (len(parts) == 2 and 1 <= len(fraction) <= 3 and all('0' <= c <= '9' for c in fraction))
    valid = whole_valid and fraction_valid and len(parts) <= 2
    magnitude = int(whole) * 1000 + int(fraction.ljust(3,'0')) if valid else None
    milliseconds = (-magnitude if negative else magnitude) if valid else None
    return [valid,milliseconds,valid and negative and magnitude == 0]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1', solve({'text': '1.2', 'probe': 1}), [True, 1200, False])
check('fixture 2', solve({'text': '-0.125', 'probe': 1}), [True, -125, False])
check('fixture 3', solve({'text': '12', 'probe': 1}), [True, 12000, False])
check('fixture 4', solve({'text': '-1.2', 'probe': 1}), [True, -1200, False])
check('fixture 5', solve({'text': '0', 'probe': 1}), [True, 0, False])
check('fixture 6', solve({'text': '-0.000', 'probe': 1}), [True, 0, True])
check('fixture 7', solve({'text': '1.', 'probe': 1}), [False, None, False])
check('fixture 8', solve({'text': '--1', 'probe': 1}), [False, None, False])
check('fixture 9', solve({'text': '+1', 'probe': 1}), [False, None, False])
check('fixture 10', solve({'text': ' 1', 'probe': 1}), [False, None, False])
check('fixture 11', solve({'text': '1,2', 'probe': 1}), [False, None, False])
check('fixture 12', solve({'text': '1.2.3', 'probe': 1}), [False, None, False])
check('fixture 13', solve({'text': '.2', 'probe': 1}), [False, None, False])
check('fixture 14', solve({'text': '1.2300', 'probe': 1}), [False, None, False])
check('fixture 15', solve({'text': '١', 'probe': 1}), [False, None, False])
check('fixture 16', solve({'text': '1.٢', 'probe': 1}), [False, None, False])
check('fixture 17', solve({'text': '1 2', 'probe': 1}), [False, None, False])
check('fixture 18', solve({'text': '2.000', 'probe': 1}), [True, 2000, False])
check('fixture 19', solve({'text': '0.12', 'probe': 1}), [True, 120, False])
variant = [({'text': '1.125', 'probe': 1}, [True, 1125, False]), ({'text': '2.125', 'probe': 1}, [True, 2125, False]), ({'text': '3.125', 'probe': 1}, [True, 3125, False]), ({'text': '4.125', 'probe': 1}, [True, 4125, False]), ({'text': '5.125', 'probe': 1}, [True, 5125, 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 fixtureActualExpectedOutcome
fixture 1[True, 1200, False][True, 1200, False]Passed
fixture 2[True, -125, False][True, -125, False]Passed
fixture 3[True, 12000, False][True, 12000, False]Passed
fixture 4[True, -1200, False][True, -1200, False]Passed
fixture 5[True, 0, False][True, 0, False]Passed
fixture 6[True, 0, True][True, 0, True]Passed
fixture 7[False, None, False][False, None, False]Passed
fixture 8[False, None, False][False, None, False]Passed
fixture 9[False, None, False][False, None, False]Passed
fixture 10[False, None, False][False, None, False]Passed
fixture 11[False, None, False][False, None, False]Passed
fixture 12[False, None, False][False, None, False]Passed
fixture 13[False, None, False][False, None, False]Passed
fixture 14[False, None, False][False, None, False]Passed
fixture 15[False, None, False][False, None, False]Passed
fixture 16[False, None, False][False, None, False]Passed
fixture 17[False, None, False][False, None, False]Passed
fixture 18[True, 2000, False][True, 2000, False]Passed
fixture 19[True, 120, False][True, 120, False]Passed
variant capture[True, 1125, False][True, 1125, False]Passed

SHA-256 / 2652b1961708d152f94609d633750c75f6b8cb25bc3659504141e9959ed2cc0a

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:51.778503+00:00.

Case digest / c40e10967fa03219403db03f5e97a943532db8f2f0938dd0707301a1ef38cbc9