{"abstract":"Section footnote restarts reuse stale reference-number assignments in the controlled document model.","category":"Document structure integrity","checks":6,"contract":"Each section contains a restart boolean and integer note references. Identities are section-local. Repeated references within one section reuse a number; new identities consume the counter. Start at one; reset to one before any section marked restart, including an empty section. Return numbers for every reference, grouped by section.","contract_signature":"sections","evaluation_group":"model-7aab45a083a220b6","failed_approach":"Resetting the counter alone retains old identity assignments, producing stale numbers and collisions after a restart.","family":"z-documents-section-footnote-restart","id":"FA-11791","implementations":{"attempt":{"sha256":"aa4983d87b3c14a23e4b045eb5355f9855960d3fc3fd58a6acce7e742823ff52","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sections):\n    out=[]\n    assigned={}\n    next_number=1\n    for restart,refs in sections:\n        if restart: next_number=1\n        numbers=[]\n        for identity in refs:\n            if identity not in assigned:\n                assigned[identity]=next_number\n                next_number+=1\n            numbers.append(assigned[identity])\n        out.append(numbers)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [(([(False,[N,N+1]),(True,[N+1,N+2,N+1])],),[[1,2],[1,2,1]]), (([],),[]), (([(False,[N,N]),(False,[N])],),[[1,1],[2]]), (([(False,[1]),(True,[]),(False,[2])],),[[1],[],[1]]), (([(False,[]),(False,[1,2,1])],),[[],[1,2,1]]), (([(False,[1,2]),(False,[3]),(True,[4])],),[[1,2],[3],[1]])]\nfor i, (args, expected) in enumerate(fixtures):\n    check(\"document fixture \" + str(i), solve(*args), expected)\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":"7987c0e2030735398f026f0af86b35daae5d54596642a9f37cf5b47dbd3883fa","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(sections):\n    out=[]\n    assigned={}\n    next_number=1\n    for restart,refs in sections:\n        numbers=[]\n        for identity in refs:\n            if identity not in assigned:\n                assigned[identity]=next_number\n                next_number+=1\n            numbers.append(assigned[identity])\n        out.append(numbers)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [(([(False,[N,N+1]),(True,[N+1,N+2,N+1])],),[[1,2],[1,2,1]]), (([],),[]), (([(False,[N,N]),(False,[N])],),[[1,1],[2]]), (([(False,[1]),(True,[]),(False,[2])],),[[1],[],[1]]), (([(False,[]),(False,[1,2,1])],),[[],[1,2,1]]), (([(False,[1,2]),(False,[3]),(True,[4])],),[[1,2],[3],[1]])]\nfor i, (args, expected) in enumerate(fixtures):\n    check(\"document fixture \" + str(i), solve(*args), expected)\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":"An offline simplified document model, not a claim of conformance to any office file format. 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":"z-documents-section-footnote-restart","generated_at":"2026-09-29T14:38:51.057307+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Structured editing must preserve document semantics independently of visual rendering.","root_cause":"A document-wide reference map ignores section-local note identities and numbering restart boundaries.","sha256":"2c0b9bf39565f4563daeabccf3f1bdae92f3597f7ec8f357c4712d8a29391d46","title":"Section footnote restarts reuse stale reference-number assignments · 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":40.91,"exit_code":1,"observations":[{"actual":[[1,2],[2,1,2]],"check":"document fixture 0","expected":[[1,2],[1,2,1]],"passed":false},{"actual":[],"check":"document fixture 1","expected":[],"passed":true},{"actual":[[1,1],[1]],"check":"document fixture 2","expected":[[1,1],[2]],"passed":false},{"actual":[[1],[],[1]],"check":"document fixture 3","expected":[[1],[],[1]],"passed":true},{"actual":[[],[1,2,1]],"check":"document fixture 4","expected":[[],[1,2,1]],"passed":true},{"actual":[[1,2],[3],[1]],"check":"document fixture 5","expected":[[1,2],[3],[1]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"document fixture 0\", \"actual\": [[1, 2], [2, 1, 2]], \"expected\": [[1, 2], [1, 2, 1]], \"passed\": false}, {\"check\": \"document fixture 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"document fixture 2\", \"actual\": [[1, 1], [1]], \"expected\": [[1, 1], [2]], \"passed\": false}, {\"check\": \"document fixture 3\", \"actual\": [[1], [], [1]], \"expected\": [[1], [], [1]], \"passed\": true}, {\"check\": \"document fixture 4\", \"actual\": [[], [1, 2, 1]], \"expected\": [[], [1, 2, 1]], \"passed\": true}, {\"check\": \"document fixture 5\", \"actual\": [[1, 2], [3], [1]], \"expected\": [[1, 2], [3], [1]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.002,"exit_code":1,"observations":[{"actual":[[1,2],[2,3,2]],"check":"document fixture 0","expected":[[1,2],[1,2,1]],"passed":false},{"actual":[],"check":"document fixture 1","expected":[],"passed":true},{"actual":[[1,1],[1]],"check":"document fixture 2","expected":[[1,1],[2]],"passed":false},{"actual":[[1],[],[2]],"check":"document fixture 3","expected":[[1],[],[1]],"passed":false},{"actual":[[],[1,2,1]],"check":"document fixture 4","expected":[[],[1,2,1]],"passed":true},{"actual":[[1,2],[3],[4]],"check":"document fixture 5","expected":[[1,2],[3],[1]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"document fixture 0\", \"actual\": [[1, 2], [2, 3, 2]], \"expected\": [[1, 2], [1, 2, 1]], \"passed\": false}, {\"check\": \"document fixture 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"document fixture 2\", \"actual\": [[1, 1], [1]], \"expected\": [[1, 1], [2]], \"passed\": false}, {\"check\": \"document fixture 3\", \"actual\": [[1], [], [2]], \"expected\": [[1], [], [1]], \"passed\": false}, {\"check\": \"document fixture 4\", \"actual\": [[], [1, 2, 1]], \"expected\": [[], [1, 2, 1]], \"passed\": true}, {\"check\": \"document fixture 5\", \"actual\": [[1, 2], [3], [4]], \"expected\": [[1, 2], [3], [1]], \"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."}}