{"abstract":"Overlapping neighboring chunks repeat evidence tokens.","category":"RAG context assembly","checks":6,"contract":"For token-list chunks, concatenate in order while removing the maximal exact suffix/prefix overlap with accumulated output.","contract_signature":"chunks","evaluation_group":"ragctx-overlap-stitch","failed_approach":"Removing only a one-token overlap leaves larger shared spans duplicated.","family":"w3-rag-context-assembly-overlap-dedup","id":"FA-99556","implementations":{"attempt":{"sha256":"c0272db56377f14c3e3fa2f1c92c34e806d898189ecf9652ae2121504cc6c391","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(chunks):\n    out=[]\n    for chunk in chunks:\n        k=1 if out and chunk and out[-1]==chunk[0] else 0\n        out.extend(chunk[k:])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nx='x'+str(N); y='y'+str(N); z='z'+str(N)\ncheck('two token overlap', solve([[x,y,z],[y,z,'q']]), [x,y,z,'q'])\ncheck('no overlap', solve([[x],[y]]), [x,y])\ncheck('full overlap', solve([[x,y],[x,y]]), [x,y])\ncheck('empty chunks', solve([[],[x],[]]), [x])\ncheck('single', solve([[x]]), [x])\ncheck('shorter overlap', solve([[x,y,z],[z,'q']]), [x,y,z,'q'])\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":"e7ceb67039591442dc957f8c772cc48ffcc7e4b8785f574c9c9ea3572176b980","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(chunks):\n    out=[]\n    for chunk in chunks: out.extend(chunk)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nx='x'+str(N); y='y'+str(N); z='z'+str(N)\ncheck('two token overlap', solve([[x,y,z],[y,z,'q']]), [x,y,z,'q'])\ncheck('no overlap', solve([[x],[y]]), [x,y])\ncheck('full overlap', solve([[x,y],[x,y]]), [x,y])\ncheck('empty chunks', solve([[],[x],[]]), [x])\ncheck('single', solve([[x]]), [x])\ncheck('shorter overlap', solve([[x,y,z],[z,'q']]), [x,y,z,'q'])\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":"Toy inputs and token counts only; this does not claim compatibility with a tokenizer, prompt format, or production retrieval system. 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-rag-context-assembly-overlap-dedup","generated_at":"2026-09-30T16:48:25.373039+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A small deterministic evidence assembly model makes context budgeting behavior inspectable.","root_cause":"The assembler concatenates chunks without removing their shared boundary tokens.","sha256":"ef4be1778f667cc97b3359373340238fa6a1c167af801c78f4af9a7396591eee","title":"Overlapping neighboring chunks repeat evidence tokens · 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":27.957,"exit_code":1,"observations":[{"actual":["x1","y1","z1","y1","z1","q"],"check":"two token overlap","expected":["x1","y1","z1","q"],"passed":false},{"actual":["x1","y1"],"check":"no overlap","expected":["x1","y1"],"passed":true},{"actual":["x1","y1","x1","y1"],"check":"full overlap","expected":["x1","y1"],"passed":false},{"actual":["x1"],"check":"empty chunks","expected":["x1"],"passed":true},{"actual":["x1"],"check":"single","expected":["x1"],"passed":true},{"actual":["x1","y1","z1","q"],"check":"shorter overlap","expected":["x1","y1","z1","q"],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two token overlap\", \"actual\": [\"x1\", \"y1\", \"z1\", \"y1\", \"z1\", \"q\"], \"expected\": [\"x1\", \"y1\", \"z1\", \"q\"], \"passed\": false}, {\"check\": \"no overlap\", \"actual\": [\"x1\", \"y1\"], \"expected\": [\"x1\", \"y1\"], \"passed\": true}, {\"check\": \"full overlap\", \"actual\": [\"x1\", \"y1\", \"x1\", \"y1\"], \"expected\": [\"x1\", \"y1\"], \"passed\": false}, {\"check\": \"empty chunks\", \"actual\": [\"x1\"], \"expected\": [\"x1\"], \"passed\": true}, {\"check\": \"single\", \"actual\": [\"x1\"], \"expected\": [\"x1\"], \"passed\": true}, {\"check\": \"shorter overlap\", \"actual\": [\"x1\", \"y1\", \"z1\", \"q\"], \"expected\": [\"x1\", \"y1\", \"z1\", \"q\"], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":30.343,"exit_code":1,"observations":[{"actual":["x1","y1","z1","y1","z1","q"],"check":"two token overlap","expected":["x1","y1","z1","q"],"passed":false},{"actual":["x1","y1"],"check":"no overlap","expected":["x1","y1"],"passed":true},{"actual":["x1","y1","x1","y1"],"check":"full overlap","expected":["x1","y1"],"passed":false},{"actual":["x1"],"check":"empty chunks","expected":["x1"],"passed":true},{"actual":["x1"],"check":"single","expected":["x1"],"passed":true},{"actual":["x1","y1","z1","z1","q"],"check":"shorter overlap","expected":["x1","y1","z1","q"],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"two token overlap\", \"actual\": [\"x1\", \"y1\", \"z1\", \"y1\", \"z1\", \"q\"], \"expected\": [\"x1\", \"y1\", \"z1\", \"q\"], \"passed\": false}, {\"check\": \"no overlap\", \"actual\": [\"x1\", \"y1\"], \"expected\": [\"x1\", \"y1\"], \"passed\": true}, {\"check\": \"full overlap\", \"actual\": [\"x1\", \"y1\", \"x1\", \"y1\"], \"expected\": [\"x1\", \"y1\"], \"passed\": false}, {\"check\": \"empty chunks\", \"actual\": [\"x1\"], \"expected\": [\"x1\"], \"passed\": true}, {\"check\": \"single\", \"actual\": [\"x1\"], \"expected\": [\"x1\"], \"passed\": true}, {\"check\": \"shorter overlap\", \"actual\": [\"x1\", \"y1\", \"z1\", \"z1\", \"q\"], \"expected\": [\"x1\", \"y1\", \"z1\", \"q\"], \"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."}}