{"abstract":"The decoded time state disagrees with the explicit regression oracle for old_candidate.","category":"Time representation","checks":11,"contract":"A stipulated backward offset transition at UTC T changes larger old offset to smaller new offset. Candidate UTC coordinates local-offset are admitted on their owning sides (<T old, >=T new). Return sorted unique candidates, ambiguity flag, selected instant under earlier/later/reject policy, selected offset and civil roundtrip. No timezone database is modeled.","contract_signature":"r","evaluation_group":"s3-time-civil_fold_candidates","failed_approach":"The partial correction still substitutes r['local'] - r['new'] at the same fault site.","family":"s3-time_representation-civil-fold-candidates-old-candidate","id":"FA-17641","implementations":{"attempt":{"sha256":"303fee2b72e721b93696a5f7faebce6bc16c7424f758b3bab9fe658e18b63c96","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(r):\n    old_candidate = r['local'] - r['new']\n    new_candidate = r['local'] - r['new']\n    old_valid = old_candidate < r['transition']\n    new_valid = new_candidate >= r['transition']\n    candidates = sorted(set(([old_candidate] if old_valid else []) + ([new_candidate] if new_valid else [])))\n    count = len(candidates)\n    ambiguous = count == 2\n    chosen = None if count == 0 or (ambiguous and r['policy'] == 'reject') else candidates[-1 if r['policy'] == 'later' else 0]\n    offset = None if chosen is None else (r['old'] if chosen < r['transition'] else r['new'])\n    roundtrip = None if chosen is None else chosen + offset\n    return [candidates,ambiguous,chosen,offset,roundtrip]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({'local': 109, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[89], False, 89, 20, 109])\ncheck('fixture 2', solve({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[90, 100], True, 90, 20, 110])\ncheck('fixture 3', solve({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[90, 100], True, 100, 10, 110])\ncheck('fixture 4', solve({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'reject'}), [[90, 100], True, None, None, None])\ncheck('fixture 5', solve({'local': 119, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[99, 109], True, 109, 10, 119])\ncheck('fixture 6', solve({'local': 120, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[110], False, 110, 10, 120])\ncheck('fixture 7', solve({'local': 100, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[80], False, 80, 20, 100])\ncheck('fixture 8', solve({'local': 130, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'reject'}), [[120], False, 120, 10, 130])\ncheck('fixture 9', solve({'local': -20, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[-40], False, -40, 20, -20])\ncheck('fixture 10', solve({'local': 115, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[95, 105], True, 105, 10, 115])\nvariant = [({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[90, 100], True, 90, 20, 110]), ({'local': 111, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[91, 101], True, 91, 20, 111]), ({'local': 112, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[92, 102], True, 92, 20, 112]), ({'local': 113, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[93, 103], True, 93, 20, 113]), ({'local': 114, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[94, 104], True, 94, 20, 114])]\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":"ea921a17d6922c54928574f8d6ec9b205df269c4075ecafffd4d37a563bc5e59","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(r):\n    old_candidate = r['local'] + r['old']\n    new_candidate = r['local'] - r['new']\n    old_valid = old_candidate < r['transition']\n    new_valid = new_candidate >= r['transition']\n    candidates = sorted(set(([old_candidate] if old_valid else []) + ([new_candidate] if new_valid else [])))\n    count = len(candidates)\n    ambiguous = count == 2\n    chosen = None if count == 0 or (ambiguous and r['policy'] == 'reject') else candidates[-1 if r['policy'] == 'later' else 0]\n    offset = None if chosen is None else (r['old'] if chosen < r['transition'] else r['new'])\n    roundtrip = None if chosen is None else chosen + offset\n    return [candidates,ambiguous,chosen,offset,roundtrip]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1', solve({'local': 109, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[89], False, 89, 20, 109])\ncheck('fixture 2', solve({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[90, 100], True, 90, 20, 110])\ncheck('fixture 3', solve({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[90, 100], True, 100, 10, 110])\ncheck('fixture 4', solve({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'reject'}), [[90, 100], True, None, None, None])\ncheck('fixture 5', solve({'local': 119, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[99, 109], True, 109, 10, 119])\ncheck('fixture 6', solve({'local': 120, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[110], False, 110, 10, 120])\ncheck('fixture 7', solve({'local': 100, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[80], False, 80, 20, 100])\ncheck('fixture 8', solve({'local': 130, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'reject'}), [[120], False, 120, 10, 130])\ncheck('fixture 9', solve({'local': -20, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}), [[-40], False, -40, 20, -20])\ncheck('fixture 10', solve({'local': 115, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'later'}), [[95, 105], True, 105, 10, 115])\nvariant = [({'local': 110, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[90, 100], True, 90, 20, 110]), ({'local': 111, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[91, 101], True, 91, 20, 111]), ({'local': 112, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[92, 102], True, 92, 20, 112]), ({'local': 113, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[93, 103], True, 93, 20, 113]), ({'local': 114, 'old': 20, 'new': 10, 'transition': 100, 'policy': 'earlier'}, [[94, 104], True, 94, 20, 114])]\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-civil-fold-candidates-old-candidate","generated_at":"2026-09-29T14:39:49.285093+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":"Old civil branch applies new or reversed UTC offset.","sha256":"72edb02a89c692a56cdd142e0ca71b9b48a5542d18096c86148e10a13d2caf63","title":"Old civil branch applies new or reversed UTC offset · 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":52.747,"exit_code":1,"observations":[{"actual":[[99],false,99,20,119],"check":"fixture 1","expected":[[89],false,89,20,109],"passed":false},{"actual":[[100],false,100,10,110],"check":"fixture 2","expected":[[90,100],true,90,20,110],"passed":false},{"actual":[[100],false,100,10,110],"check":"fixture 3","expected":[[90,100],true,100,10,110],"passed":false},{"actual":[[100],false,100,10,110],"check":"fixture 4","expected":[[90,100],true,null,null,null],"passed":false},{"actual":[[109],false,109,10,119],"check":"fixture 5","expected":[[99,109],true,109,10,119],"passed":false},{"actual":[[110],false,110,10,120],"check":"fixture 6","expected":[[110],false,110,10,120],"passed":true},{"actual":[[90],false,90,20,110],"check":"fixture 7","expected":[[80],false,80,20,100],"passed":false},{"actual":[[120],false,120,10,130],"check":"fixture 8","expected":[[120],false,120,10,130],"passed":true},{"actual":[[-30],false,-30,20,-10],"check":"fixture 9","expected":[[-40],false,-40,20,-20],"passed":false},{"actual":[[105],false,105,10,115],"check":"fixture 10","expected":[[95,105],true,105,10,115],"passed":false},{"actual":[[100],false,100,10,110],"check":"variant capture","expected":[[90,100],true,90,20,110],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [[99], false, 99, 20, 119], \"expected\": [[89], false, 89, 20, 109], \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, 90, 20, 110], \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, 100, 10, 110], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, null, null, null], \"passed\": false}, {\"check\": \"fixture 5\", \"actual\": [[109], false, 109, 10, 119], \"expected\": [[99, 109], true, 109, 10, 119], \"passed\": false}, {\"check\": \"fixture 6\", \"actual\": [[110], false, 110, 10, 120], \"expected\": [[110], false, 110, 10, 120], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [[90], false, 90, 20, 110], \"expected\": [[80], false, 80, 20, 100], \"passed\": false}, {\"check\": \"fixture 8\", \"actual\": [[120], false, 120, 10, 130], \"expected\": [[120], false, 120, 10, 130], \"passed\": true}, {\"check\": \"fixture 9\", \"actual\": [[-30], false, -30, 20, -10], \"expected\": [[-40], false, -40, 20, -20], \"passed\": false}, {\"check\": \"fixture 10\", \"actual\": [[105], false, 105, 10, 115], \"expected\": [[95, 105], true, 105, 10, 115], \"passed\": false}, {\"check\": \"variant capture\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, 90, 20, 110], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":47.434,"exit_code":1,"observations":[{"actual":[[],false,null,null,null],"check":"fixture 1","expected":[[89],false,89,20,109],"passed":false},{"actual":[[100],false,100,10,110],"check":"fixture 2","expected":[[90,100],true,90,20,110],"passed":false},{"actual":[[100],false,100,10,110],"check":"fixture 3","expected":[[90,100],true,100,10,110],"passed":false},{"actual":[[100],false,100,10,110],"check":"fixture 4","expected":[[90,100],true,null,null,null],"passed":false},{"actual":[[109],false,109,10,119],"check":"fixture 5","expected":[[99,109],true,109,10,119],"passed":false},{"actual":[[110],false,110,10,120],"check":"fixture 6","expected":[[110],false,110,10,120],"passed":true},{"actual":[[],false,null,null,null],"check":"fixture 7","expected":[[80],false,80,20,100],"passed":false},{"actual":[[120],false,120,10,130],"check":"fixture 8","expected":[[120],false,120,10,130],"passed":true},{"actual":[[0],false,0,20,20],"check":"fixture 9","expected":[[-40],false,-40,20,-20],"passed":false},{"actual":[[105],false,105,10,115],"check":"fixture 10","expected":[[95,105],true,105,10,115],"passed":false},{"actual":[[100],false,100,10,110],"check":"variant capture","expected":[[90,100],true,90,20,110],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [[], false, null, null, null], \"expected\": [[89], false, 89, 20, 109], \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, 90, 20, 110], \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, 100, 10, 110], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, null, null, null], \"passed\": false}, {\"check\": \"fixture 5\", \"actual\": [[109], false, 109, 10, 119], \"expected\": [[99, 109], true, 109, 10, 119], \"passed\": false}, {\"check\": \"fixture 6\", \"actual\": [[110], false, 110, 10, 120], \"expected\": [[110], false, 110, 10, 120], \"passed\": true}, {\"check\": \"fixture 7\", \"actual\": [[], false, null, null, null], \"expected\": [[80], false, 80, 20, 100], \"passed\": false}, {\"check\": \"fixture 8\", \"actual\": [[120], false, 120, 10, 130], \"expected\": [[120], false, 120, 10, 130], \"passed\": true}, {\"check\": \"fixture 9\", \"actual\": [[0], false, 0, 20, 20], \"expected\": [[-40], false, -40, 20, -20], \"passed\": false}, {\"check\": \"fixture 10\", \"actual\": [[105], false, 105, 10, 115], \"expected\": [[95, 105], true, 105, 10, 115], \"passed\": false}, {\"check\": \"variant capture\", \"actual\": [[100], false, 100, 10, 110], \"expected\": [[90, 100], true, 90, 20, 110], \"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."}}