{"abstract":"The decoded time state disagrees with the explicit regression oracle for jumped.","category":"Time representation","checks":13,"contract":"Clock quality state is determined from oscillator validity, acquisition lock count, elapsed time since last sync, max holdover, phase jump and lock threshold. Unknown oscillator is invalid; otherwise large phase jump requires reacquisition, recent sufficient lock is synchronized, old but bounded history is holdover, and missing/expired history is unsynchronized. Return usability and conservative uncertainty growth for holdover only.","contract_signature":"r","evaluation_group":"s3-time-clock_lock_holdover","failed_approach":"The partial correction still substitutes abs(r['phase_jump']) >= r['jump_limit'] at the same fault site.","family":"s3-time_representation-clock-lock-holdover-jumped","id":"FA-18501","implementations":{"attempt":{"sha256":"1fe5d184d0a6e9af1afd7161f1955cdde3f4bcfe2c649f0c5dde01761d6358bb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(r):\n    age = r['now'] - r['last_sync']\n    history = r['has_sync'] and age >= 0\n    jumped = abs(r['phase_jump']) >= r['jump_limit']\n    locked = r['lock_count'] >= r['required']\n    recent = history and age <= r['fresh_window']\n    holdover = history and age <= r['max_holdover']\n    state = 'invalid' if not r['oscillator'] else ('acquire' if jumped else ('locked' if recent and locked else ('holdover' if holdover else 'unsynced')))\n    growth = (age * r['drift'] + 999) // 1000 if state == 'holdover' else 0\n    error = r['base_error'] + growth if state in ('locked','holdover') else None\n    usable = state in ('locked','holdover') and error <= r['error_limit']\n    return [state,error,usable]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['locked', 2, True])\ncheck('fixture 2', solve({'now': 105, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 3}), ['locked', 2, True])\ncheck('fixture 3', solve({'now': 106, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['holdover', 3, False])\ncheck('fixture 4', solve({'now': 120, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 4, True])\ncheck('fixture 5', solve({'now': 121, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])\ncheck('fixture 6', solve({'now': 99, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])\ncheck('fixture 7', solve({'now': 100, 'last_sync': 100, 'has_sync': False, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])\ncheck('fixture 8', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': -6, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['acquire', None, False])\ncheck('fixture 9', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 5, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['locked', 2, True])\ncheck('fixture 10', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 1, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 2, True])\ncheck('fixture 11', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': False, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['invalid', None, False])\ncheck('fixture 12', solve({'now': 110, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 3, True])\nvariant = [({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 3, 'error_limit': 2}, ['locked', 3, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 4, 'error_limit': 2}, ['locked', 4, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 5, 'error_limit': 2}, ['locked', 5, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 6, 'error_limit': 2}, ['locked', 6, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 7, 'error_limit': 2}, ['locked', 7, False])]\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":"ca639855335561f10d2825b386016af884cbaecec6f8c2ce4fa07c10604cce71","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(r):\n    age = r['now'] - r['last_sync']\n    history = r['has_sync'] and age >= 0\n    jumped = r['phase_jump'] > r['jump_limit']\n    locked = r['lock_count'] >= r['required']\n    recent = history and age <= r['fresh_window']\n    holdover = history and age <= r['max_holdover']\n    state = 'invalid' if not r['oscillator'] else ('acquire' if jumped else ('locked' if recent and locked else ('holdover' if holdover else 'unsynced')))\n    growth = (age * r['drift'] + 999) // 1000 if state == 'holdover' else 0\n    error = r['base_error'] + growth if state in ('locked','holdover') else None\n    usable = state in ('locked','holdover') and error <= r['error_limit']\n    return [state,error,usable]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['locked', 2, True])\ncheck('fixture 2', solve({'now': 105, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 3}), ['locked', 2, True])\ncheck('fixture 3', solve({'now': 106, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 2}), ['holdover', 3, False])\ncheck('fixture 4', solve({'now': 120, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 4, True])\ncheck('fixture 5', solve({'now': 121, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])\ncheck('fixture 6', solve({'now': 99, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])\ncheck('fixture 7', solve({'now': 100, 'last_sync': 100, 'has_sync': False, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['unsynced', None, False])\ncheck('fixture 8', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': -6, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['acquire', None, False])\ncheck('fixture 9', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 5, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['locked', 2, True])\ncheck('fixture 10', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 1, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 2, True])\ncheck('fixture 11', solve({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': False, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['invalid', None, False])\ncheck('fixture 12', solve({'now': 110, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 2, 'error_limit': 5}), ['holdover', 3, True])\nvariant = [({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 3, 'error_limit': 2}, ['locked', 3, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 4, 'error_limit': 2}, ['locked', 4, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 5, 'error_limit': 2}, ['locked', 5, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 6, 'error_limit': 2}, ['locked', 6, False]), ({'now': 100, 'last_sync': 100, 'has_sync': True, 'phase_jump': 0, 'jump_limit': 5, 'lock_count': 3, 'required': 3, 'fresh_window': 5, 'max_holdover': 20, 'oscillator': True, 'drift': 100, 'base_error': 7, 'error_limit': 2}, ['locked', 7, False])]\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-clock-lock-holdover-jumped","generated_at":"2026-09-29T14:39:58.580228+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":"Clock reacquisition ignores negative jumps or treats allowed boundary as fault.","sha256":"c302aae6c20a85c64740263b19fe4d0c9bb07d25ea599e4dda8cb0b5b0dac430","title":"Clock reacquisition ignores negative jumps or treats allowed boundary as fault · 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":42.735,"exit_code":1,"observations":[{"actual":["locked",2,true],"check":"fixture 1","expected":["locked",2,true],"passed":true},{"actual":["locked",2,true],"check":"fixture 2","expected":["locked",2,true],"passed":true},{"actual":["holdover",3,false],"check":"fixture 3","expected":["holdover",3,false],"passed":true},{"actual":["holdover",4,true],"check":"fixture 4","expected":["holdover",4,true],"passed":true},{"actual":["unsynced",null,false],"check":"fixture 5","expected":["unsynced",null,false],"passed":true},{"actual":["unsynced",null,false],"check":"fixture 6","expected":["unsynced",null,false],"passed":true},{"actual":["unsynced",null,false],"check":"fixture 7","expected":["unsynced",null,false],"passed":true},{"actual":["acquire",null,false],"check":"fixture 8","expected":["acquire",null,false],"passed":true},{"actual":["acquire",null,false],"check":"fixture 9","expected":["locked",2,true],"passed":false},{"actual":["holdover",2,true],"check":"fixture 10","expected":["holdover",2,true],"passed":true},{"actual":["invalid",null,false],"check":"fixture 11","expected":["invalid",null,false],"passed":true},{"actual":["holdover",3,true],"check":"fixture 12","expected":["holdover",3,true],"passed":true},{"actual":["locked",3,false],"check":"variant capture","expected":["locked",3,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [\"locked\", 2, true], \"expected\": [\"locked\", 2, true], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [\"locked\", 2, true], \"expected\": [\"locked\", 2, true], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [\"holdover\", 3, false], \"expected\": [\"holdover\", 3, false], \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": [\"holdover\", 4, true], \"expected\": [\"holdover\", 4, true], \"passed\": true}, {\"check\": \"fixture 5\", \"actual\": [\"unsynced\", null, false], \"expected\": [\"unsynced\", null, false], \"passed\": true}, {\"check\": \"fixture 6\", \"actual\": [\"unsynced\", null, false], \"expected\": [\"unsynced\", null, false], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [\"unsynced\", null, false], \"expected\": [\"unsynced\", null, false], \"passed\": true}, {\"check\": \"fixture 8\", \"actual\": [\"acquire\", null, false], \"expected\": [\"acquire\", null, false], \"passed\": true}, {\"check\": \"fixture 9\", \"actual\": [\"acquire\", null, false], \"expected\": [\"locked\", 2, true], \"passed\": false}, {\"check\": \"fixture 10\", \"actual\": [\"holdover\", 2, true], \"expected\": [\"holdover\", 2, true], \"passed\": true}, {\"check\": \"fixture 11\", \"actual\": [\"invalid\", null, false], \"expected\": [\"invalid\", null, false], \"passed\": true}, {\"check\": \"fixture 12\", \"actual\": [\"holdover\", 3, true], \"expected\": [\"holdover\", 3, true], \"passed\": true}, {\"check\": \"variant capture\", \"actual\": [\"locked\", 3, false], \"expected\": [\"locked\", 3, false], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.055,"exit_code":1,"observations":[{"actual":["locked",2,true],"check":"fixture 1","expected":["locked",2,true],"passed":true},{"actual":["locked",2,true],"check":"fixture 2","expected":["locked",2,true],"passed":true},{"actual":["holdover",3,false],"check":"fixture 3","expected":["holdover",3,false],"passed":true},{"actual":["holdover",4,true],"check":"fixture 4","expected":["holdover",4,true],"passed":true},{"actual":["unsynced",null,false],"check":"fixture 5","expected":["unsynced",null,false],"passed":true},{"actual":["unsynced",null,false],"check":"fixture 6","expected":["unsynced",null,false],"passed":true},{"actual":["unsynced",null,false],"check":"fixture 7","expected":["unsynced",null,false],"passed":true},{"actual":["locked",2,true],"check":"fixture 8","expected":["acquire",null,false],"passed":false},{"actual":["locked",2,true],"check":"fixture 9","expected":["locked",2,true],"passed":true},{"actual":["holdover",2,true],"check":"fixture 10","expected":["holdover",2,true],"passed":true},{"actual":["invalid",null,false],"check":"fixture 11","expected":["invalid",null,false],"passed":true},{"actual":["holdover",3,true],"check":"fixture 12","expected":["holdover",3,true],"passed":true},{"actual":["locked",3,false],"check":"variant capture","expected":["locked",3,false],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [\"locked\", 2, true], \"expected\": [\"locked\", 2, true], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [\"locked\", 2, true], \"expected\": [\"locked\", 2, true], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [\"holdover\", 3, false], \"expected\": [\"holdover\", 3, false], \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": [\"holdover\", 4, true], \"expected\": [\"holdover\", 4, true], \"passed\": true}, {\"check\": \"fixture 5\", \"actual\": [\"unsynced\", null, false], \"expected\": [\"unsynced\", null, false], \"passed\": true}, {\"check\": \"fixture 6\", \"actual\": [\"unsynced\", null, false], \"expected\": [\"unsynced\", null, false], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [\"unsynced\", null, false], \"expected\": [\"unsynced\", null, false], \"passed\": true}, {\"check\": \"fixture 8\", \"actual\": [\"locked\", 2, true], \"expected\": [\"acquire\", null, false], \"passed\": false}, {\"check\": \"fixture 9\", \"actual\": [\"locked\", 2, true], \"expected\": [\"locked\", 2, true], \"passed\": true}, {\"check\": \"fixture 10\", \"actual\": [\"holdover\", 2, true], \"expected\": [\"holdover\", 2, true], \"passed\": true}, {\"check\": \"fixture 11\", \"actual\": [\"invalid\", null, false], \"expected\": [\"invalid\", null, false], \"passed\": true}, {\"check\": \"fixture 12\", \"actual\": [\"holdover\", 3, true], \"expected\": [\"holdover\", 3, true], \"passed\": true}, {\"check\": \"variant capture\", \"actual\": [\"locked\", 3, false], \"expected\": [\"locked\", 3, false], \"passed\": true}], \"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."}}