{"abstract":"Annotations intersecting an edit are silently retained.","category":"Annotation span alignment","checks":7,"contract":"For replacement of [left,right), discard spans with positive overlap; keep spans ending <= left; shift spans starting >= right by delta.","contract_signature":"spans, left, right, delta","evaluation_group":"annotation-span-edit-intersection-invalidate","failed_approach":"Dropping spans whose endpoint touches the edit loses valid adjacent annotations.","family":"w3-annotation-span-alignment-edit-intersection-invalidate","id":"FA-100201","implementations":{"attempt":{"sha256":"655d1bdbaaf9ab934d43e9790a4f82645b539749d60c3f98483f1b2e023362d4","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(spans, left, right, delta):\n    return [[s+(delta if s>=right else 0),e+(delta if e>=right else 0),l] for s,e,l in spans if not (s<=right and e>=left)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('overlap removed', solve([[2,5,'x']],3,4,N), [])\ncheck('touch left survives', solve([[0,3,'x']],3,4,N), [[0,3,'x']])\ncheck('touch right shifts', solve([[4,7,'x']],3,4,N), [[4+N,7+N,'x']])\ncheck('survivors both sides', solve([[0,2,'a'],[5,7,'b']],3,4,2), [[0,2,'a'],[7,9,'b']])\ncheck('empty list', solve([],N,N+1,2), [])\ncheck('containing edit removed', solve([[0,8,'x']],3,5,-1), [])\ncheck('one char exact edit removed', solve([[3,4,'x']],3,4,0), [])\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":"79df80c36aef98b1744953281c0f4379de5d29ce78a11ca7f4a1a5d9e2dac146","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(spans, left, right, delta):\n    return [[s+(delta if s>=right else 0),e+(delta if e>=right else 0),l] for s,e,l in spans]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('overlap removed', solve([[2,5,'x']],3,4,N), [])\ncheck('touch left survives', solve([[0,3,'x']],3,4,N), [[0,3,'x']])\ncheck('touch right shifts', solve([[4,7,'x']],3,4,N), [[4+N,7+N,'x']])\ncheck('survivors both sides', solve([[0,2,'a'],[5,7,'b']],3,4,2), [[0,2,'a'],[7,9,'b']])\ncheck('empty list', solve([],N,N+1,2), [])\ncheck('containing edit removed', solve([[0,8,'x']],3,5,-1), [])\ncheck('one char exact edit removed', solve([[3,4,'x']],3,4,0), [])\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":"Contracts use integer offsets, explicit edits, and supplied token boundaries; they do not define a tokenizer or production annotation 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":"w3-annotation-span-alignment-edit-intersection-invalidate","generated_at":"2026-09-30T16:48:33.096416+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A small offline annotation transformation keeps span coordinates explicit when text or token boundaries change.","root_cause":"A remapper shifts every span after an edit even when the edit replaces its text.","sha256":"33750161f1ebd2276bd9b87d14955fb1119daa201c11a35b54edb5f7426f5a2f","title":"Annotations intersecting an edit are silently retained · case 01","variant":1,"variant_policy":"The fixture code references N, supplied as 1 through 5. Fixed boundary checks may repeat. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":28.611,"exit_code":1,"observations":[{"actual":[],"check":"overlap removed","expected":[],"passed":true},{"actual":[],"check":"touch left survives","expected":[[0,3,"x"]],"passed":false},{"actual":[],"check":"touch right shifts","expected":[[5,8,"x"]],"passed":false},{"actual":[[0,2,"a"],[7,9,"b"]],"check":"survivors both sides","expected":[[0,2,"a"],[7,9,"b"]],"passed":true},{"actual":[],"check":"empty list","expected":[],"passed":true},{"actual":[],"check":"containing edit removed","expected":[],"passed":true},{"actual":[],"check":"one char exact edit removed","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"overlap removed\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"touch left survives\", \"actual\": [], \"expected\": [[0, 3, \"x\"]], \"passed\": false}, {\"check\": \"touch right shifts\", \"actual\": [], \"expected\": [[5, 8, \"x\"]], \"passed\": false}, {\"check\": \"survivors both sides\", \"actual\": [[0, 2, \"a\"], [7, 9, \"b\"]], \"expected\": [[0, 2, \"a\"], [7, 9, \"b\"]], \"passed\": true}, {\"check\": \"empty list\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"containing edit removed\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"one char exact edit removed\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":26.229,"exit_code":1,"observations":[{"actual":[[2,6,"x"]],"check":"overlap removed","expected":[],"passed":false},{"actual":[[0,3,"x"]],"check":"touch left survives","expected":[[0,3,"x"]],"passed":true},{"actual":[[5,8,"x"]],"check":"touch right shifts","expected":[[5,8,"x"]],"passed":true},{"actual":[[0,2,"a"],[7,9,"b"]],"check":"survivors both sides","expected":[[0,2,"a"],[7,9,"b"]],"passed":true},{"actual":[],"check":"empty list","expected":[],"passed":true},{"actual":[[0,7,"x"]],"check":"containing edit removed","expected":[],"passed":false},{"actual":[[3,4,"x"]],"check":"one char exact edit removed","expected":[],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"overlap removed\", \"actual\": [[2, 6, \"x\"]], \"expected\": [], \"passed\": false}, {\"check\": \"touch left survives\", \"actual\": [[0, 3, \"x\"]], \"expected\": [[0, 3, \"x\"]], \"passed\": true}, {\"check\": \"touch right shifts\", \"actual\": [[5, 8, \"x\"]], \"expected\": [[5, 8, \"x\"]], \"passed\": true}, {\"check\": \"survivors both sides\", \"actual\": [[0, 2, \"a\"], [7, 9, \"b\"]], \"expected\": [[0, 2, \"a\"], [7, 9, \"b\"]], \"passed\": true}, {\"check\": \"empty list\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"containing edit removed\", \"actual\": [[0, 7, \"x\"]], \"expected\": [], \"passed\": false}, {\"check\": \"one char exact edit removed\", \"actual\": [[3, 4, \"x\"]], \"expected\": [], \"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."}}