{"abstract":"The decoded time state disagrees with the explicit regression oracle for join.","category":"Time representation","checks":11,"contract":"Virtual clock has anchor A at monotonic M0, rate p0/q0 until switch S, then p1/q1 thereafter. Readings may precede M0 and use first rate. The switch is continuous. Report exact coordinate, active rate, continuity anchor, next target delta and inverse monotonic coordinate for a target at or after switch. All rates positive.","contract_signature":"r","evaluation_group":"s3-time-piecewise_rate_epoch","failed_approach":"The partial correction still substitutes r['anchor'] at the same fault site.","family":"s3-time_representation-piecewise-rate-epoch-join","id":"FA-18456","implementations":{"attempt":{"sha256":"a9e5e9cb530ac42bcd333c33724d6f949346ca2b653a56281ca14fad99a84f52","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(r):\n    first_span = r['switch'] - r['mono_origin']\n    first_rate = Fraction(r['p0'],r['q0'])\n    second_rate = Fraction(r['p1'],r['q1'])\n    join = r['anchor']\n    second = r['reading'] >= r['switch']\n    delta = r['reading'] - (r['switch'] if second else r['mono_origin'])\n    active = second_rate if second else first_rate\n    coordinate = (join if second else r['anchor']) + delta * active\n    until = r['target'] - coordinate\n    inverse = r['switch'] + (r['target'] - join) / second_rate\n    return [str(coordinate),str(active),str(join),str(until),str(inverse)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 5, 'target': 130}), ['185/2', '3/2', '115', '75/2', '85/2'])\ncheck('fixture 2', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 10, 'target': 130}), ['100', '3/2', '115', '30', '85/2'])\ncheck('fixture 3', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 19, 'target': 130}), ['227/2', '3/2', '115', '33/2', '85/2'])\ncheck('fixture 4', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 20, 'target': 130}), ['115', '2/3', '115', '15', '85/2'])\ncheck('fixture 5', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 21, 'target': 130}), ['347/3', '2/3', '115', '43/3', '85/2'])\ncheck('fixture 6', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 30, 'target': 130}), ['365/3', '2/3', '115', '25/3', '85/2'])\ncheck('fixture 7', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 50, 'target': 120}), ['135', '2/3', '115', '-15', '55/2'])\ncheck('fixture 8', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 25, 'target': 115}), ['355/3', '2/3', '115', '-10/3', '20'])\ncheck('fixture 9', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 15, 'target': 116}), ['215/2', '3/2', '115', '17/2', '43/2'])\ncheck('fixture 10', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 100, 'target': 130}), ['505/3', '2/3', '115', '-115/3', '85/2'])\nvariant = [({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 6, 'target': 130}, ['94', '3/2', '115', '36', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 7, 'target': 130}, ['191/2', '3/2', '115', '69/2', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 8, 'target': 130}, ['97', '3/2', '115', '33', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 9, 'target': 130}, ['197/2', '3/2', '115', '63/2', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 10, 'target': 130}, ['100', '3/2', '115', '30', '85/2'])]\ncheck(\"variant capture\", solve(variant[N-1][0]), variant[N-1][1])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"2d12e63d1878214d6c37db2a2ec206939a3921b29c5ec87e81143950df0c8da8","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(r):\n    first_span = r['switch'] - r['mono_origin']\n    first_rate = Fraction(r['p0'],r['q0'])\n    second_rate = Fraction(r['p1'],r['q1'])\n    join = r['anchor'] + first_span * second_rate\n    second = r['reading'] >= r['switch']\n    delta = r['reading'] - (r['switch'] if second else r['mono_origin'])\n    active = second_rate if second else first_rate\n    coordinate = (join if second else r['anchor']) + delta * active\n    until = r['target'] - coordinate\n    inverse = r['switch'] + (r['target'] - join) / second_rate\n    return [str(coordinate),str(active),str(join),str(until),str(inverse)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 5, 'target': 130}), ['185/2', '3/2', '115', '75/2', '85/2'])\ncheck('fixture 2', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 10, 'target': 130}), ['100', '3/2', '115', '30', '85/2'])\ncheck('fixture 3', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 19, 'target': 130}), ['227/2', '3/2', '115', '33/2', '85/2'])\ncheck('fixture 4', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 20, 'target': 130}), ['115', '2/3', '115', '15', '85/2'])\ncheck('fixture 5', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 21, 'target': 130}), ['347/3', '2/3', '115', '43/3', '85/2'])\ncheck('fixture 6', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 30, 'target': 130}), ['365/3', '2/3', '115', '25/3', '85/2'])\ncheck('fixture 7', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 50, 'target': 120}), ['135', '2/3', '115', '-15', '55/2'])\ncheck('fixture 8', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 25, 'target': 115}), ['355/3', '2/3', '115', '-10/3', '20'])\ncheck('fixture 9', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 15, 'target': 116}), ['215/2', '3/2', '115', '17/2', '43/2'])\ncheck('fixture 10', solve({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 100, 'target': 130}), ['505/3', '2/3', '115', '-115/3', '85/2'])\nvariant = [({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 6, 'target': 130}, ['94', '3/2', '115', '36', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 7, 'target': 130}, ['191/2', '3/2', '115', '69/2', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 8, 'target': 130}, ['97', '3/2', '115', '33', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 9, 'target': 130}, ['197/2', '3/2', '115', '63/2', '85/2']), ({'mono_origin': 10, 'anchor': 100, 'switch': 20, 'p0': 3, 'q0': 2, 'p1': 2, 'q1': 3, 'reading': 10, 'target': 130}, ['100', '3/2', '115', '30', '85/2'])]\ncheck(\"variant capture\", solve(variant[N-1][0]), variant[N-1][1])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"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.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-time_representation-piecewise-rate-epoch-join","generated_at":"2026-09-29T14:39:58.104406+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Clock transfer and timestamp consumers require preserved coordinate, phase, validity and elapsed-time semantics.","root_cause":"Rate change retrospectively applies new rate to old elapsed interval.","sha256":"3a660b415c2860955051e0640ba077878e4816ec22ecdfb5d702117ff456d440","title":"Rate change retrospectively applies new rate to old elapsed interval · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":41.384,"exit_code":1,"observations":[{"actual":["185/2","3/2","100","75/2","65"],"check":"fixture 1","expected":["185/2","3/2","115","75/2","85/2"],"passed":false},{"actual":["100","3/2","100","30","65"],"check":"fixture 2","expected":["100","3/2","115","30","85/2"],"passed":false},{"actual":["227/2","3/2","100","33/2","65"],"check":"fixture 3","expected":["227/2","3/2","115","33/2","85/2"],"passed":false},{"actual":["100","2/3","100","30","65"],"check":"fixture 4","expected":["115","2/3","115","15","85/2"],"passed":false},{"actual":["302/3","2/3","100","88/3","65"],"check":"fixture 5","expected":["347/3","2/3","115","43/3","85/2"],"passed":false},{"actual":["320/3","2/3","100","70/3","65"],"check":"fixture 6","expected":["365/3","2/3","115","25/3","85/2"],"passed":false},{"actual":["120","2/3","100","0","50"],"check":"fixture 7","expected":["135","2/3","115","-15","55/2"],"passed":false},{"actual":["310/3","2/3","100","35/3","85/2"],"check":"fixture 8","expected":["355/3","2/3","115","-10/3","20"],"passed":false},{"actual":["215/2","3/2","100","17/2","44"],"check":"fixture 9","expected":["215/2","3/2","115","17/2","43/2"],"passed":false},{"actual":["460/3","2/3","100","-70/3","65"],"check":"fixture 10","expected":["505/3","2/3","115","-115/3","85/2"],"passed":false},{"actual":["94","3/2","100","36","65"],"check":"variant capture","expected":["94","3/2","115","36","85/2"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [\"185/2\", \"3/2\", \"100\", \"75/2\", \"65\"], \"expected\": [\"185/2\", \"3/2\", \"115\", \"75/2\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": [\"100\", \"3/2\", \"100\", \"30\", \"65\"], \"expected\": [\"100\", \"3/2\", \"115\", \"30\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": [\"227/2\", \"3/2\", \"100\", \"33/2\", \"65\"], \"expected\": [\"227/2\", \"3/2\", \"115\", \"33/2\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [\"100\", \"2/3\", \"100\", \"30\", \"65\"], \"expected\": [\"115\", \"2/3\", \"115\", \"15\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 5\", \"actual\": [\"302/3\", \"2/3\", \"100\", \"88/3\", \"65\"], \"expected\": [\"347/3\", \"2/3\", \"115\", \"43/3\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 6\", \"actual\": [\"320/3\", \"2/3\", \"100\", \"70/3\", \"65\"], \"expected\": [\"365/3\", \"2/3\", \"115\", \"25/3\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 7\", \"actual\": [\"120\", \"2/3\", \"100\", \"0\", \"50\"], \"expected\": [\"135\", \"2/3\", \"115\", \"-15\", \"55/2\"], \"passed\": false}, {\"check\": \"fixture 8\", \"actual\": [\"310/3\", \"2/3\", \"100\", \"35/3\", \"85/2\"], \"expected\": [\"355/3\", \"2/3\", \"115\", \"-10/3\", \"20\"], \"passed\": false}, {\"check\": \"fixture 9\", \"actual\": [\"215/2\", \"3/2\", \"100\", \"17/2\", \"44\"], \"expected\": [\"215/2\", \"3/2\", \"115\", \"17/2\", \"43/2\"], \"passed\": false}, {\"check\": \"fixture 10\", \"actual\": [\"460/3\", \"2/3\", \"100\", \"-70/3\", \"65\"], \"expected\": [\"505/3\", \"2/3\", \"115\", \"-115/3\", \"85/2\"], \"passed\": false}, {\"check\": \"variant capture\", \"actual\": [\"94\", \"3/2\", \"100\", \"36\", \"65\"], \"expected\": [\"94\", \"3/2\", \"115\", \"36\", \"85/2\"], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.368,"exit_code":1,"observations":[{"actual":["185/2","3/2","320/3","75/2","55"],"check":"fixture 1","expected":["185/2","3/2","115","75/2","85/2"],"passed":false},{"actual":["100","3/2","320/3","30","55"],"check":"fixture 2","expected":["100","3/2","115","30","85/2"],"passed":false},{"actual":["227/2","3/2","320/3","33/2","55"],"check":"fixture 3","expected":["227/2","3/2","115","33/2","85/2"],"passed":false},{"actual":["320/3","2/3","320/3","70/3","55"],"check":"fixture 4","expected":["115","2/3","115","15","85/2"],"passed":false},{"actual":["322/3","2/3","320/3","68/3","55"],"check":"fixture 5","expected":["347/3","2/3","115","43/3","85/2"],"passed":false},{"actual":["340/3","2/3","320/3","50/3","55"],"check":"fixture 6","expected":["365/3","2/3","115","25/3","85/2"],"passed":false},{"actual":["380/3","2/3","320/3","-20/3","40"],"check":"fixture 7","expected":["135","2/3","115","-15","55/2"],"passed":false},{"actual":["110","2/3","320/3","5","65/2"],"check":"fixture 8","expected":["355/3","2/3","115","-10/3","20"],"passed":false},{"actual":["215/2","3/2","320/3","17/2","34"],"check":"fixture 9","expected":["215/2","3/2","115","17/2","43/2"],"passed":false},{"actual":["160","2/3","320/3","-30","55"],"check":"fixture 10","expected":["505/3","2/3","115","-115/3","85/2"],"passed":false},{"actual":["94","3/2","320/3","36","55"],"check":"variant capture","expected":["94","3/2","115","36","85/2"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [\"185/2\", \"3/2\", \"320/3\", \"75/2\", \"55\"], \"expected\": [\"185/2\", \"3/2\", \"115\", \"75/2\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": [\"100\", \"3/2\", \"320/3\", \"30\", \"55\"], \"expected\": [\"100\", \"3/2\", \"115\", \"30\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": [\"227/2\", \"3/2\", \"320/3\", \"33/2\", \"55\"], \"expected\": [\"227/2\", \"3/2\", \"115\", \"33/2\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [\"320/3\", \"2/3\", \"320/3\", \"70/3\", \"55\"], \"expected\": [\"115\", \"2/3\", \"115\", \"15\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 5\", \"actual\": [\"322/3\", \"2/3\", \"320/3\", \"68/3\", \"55\"], \"expected\": [\"347/3\", \"2/3\", \"115\", \"43/3\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 6\", \"actual\": [\"340/3\", \"2/3\", \"320/3\", \"50/3\", \"55\"], \"expected\": [\"365/3\", \"2/3\", \"115\", \"25/3\", \"85/2\"], \"passed\": false}, {\"check\": \"fixture 7\", \"actual\": [\"380/3\", \"2/3\", \"320/3\", \"-20/3\", \"40\"], \"expected\": [\"135\", \"2/3\", \"115\", \"-15\", \"55/2\"], \"passed\": false}, {\"check\": \"fixture 8\", \"actual\": [\"110\", \"2/3\", \"320/3\", \"5\", \"65/2\"], \"expected\": [\"355/3\", \"2/3\", \"115\", \"-10/3\", \"20\"], \"passed\": false}, {\"check\": \"fixture 9\", \"actual\": [\"215/2\", \"3/2\", \"320/3\", \"17/2\", \"34\"], \"expected\": [\"215/2\", \"3/2\", \"115\", \"17/2\", \"43/2\"], \"passed\": false}, {\"check\": \"fixture 10\", \"actual\": [\"160\", \"2/3\", \"320/3\", \"-30\", \"55\"], \"expected\": [\"505/3\", \"2/3\", \"115\", \"-115/3\", \"85/2\"], \"passed\": false}, {\"check\": \"variant capture\", \"actual\": [\"94\", \"3/2\", \"320/3\", \"36\", \"55\"], \"expected\": [\"94\", \"3/2\", \"115\", \"36\", \"85/2\"], \"passed\": false}], \"passed\": false}\n"}},"member_only":{"stages":["fixed"],"fields":["implementations.fixed","verification.fixed","harness","repair"],"note":"The verified repair, its recorded checks, the repair description, and the scoring harness are available to members."}}