{"abstract":"Length-normalized pooling divides by squared token count.","category":"Embedding vector normalization","checks":6,"contract":"Return the arithmetic mean of equal-width token vectors; empty input returns empty.","contract_signature":"vectors","evaluation_group":"embedding-mean-token-pooling","failed_approach":"Dividing by vector dimension confuses token length with embedding width.","family":"w3-embedding-vector-normalization-length-normalized-sum","id":"FA-99376","implementations":{"attempt":{"sha256":"ecfda69419d3118ae73847850cd713f4bded7b98543eab01847e46e69c5be768","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(vectors):\n    return [sum(v[j] for v in vectors)/len(vectors[0]) for j in range(len(vectors[0]))] if vectors else []\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('length two', solve([[N,0],[3*N,2*N]]), [2*N,N])\ncheck('length three', solve([[0,N],[3*N,0],[6*N,2*N]]), [3*N,N])\ncheck('singleton', solve([[N,2*N]]), [N,2*N])\ncheck('empty', solve([]), [])\ncheck('opposing', solve([[N],[ -N]]), [0])\ncheck('wide vector', solve([[0,N,2*N],[2*N,3*N,4*N]]), [N,2*N,3*N])\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":"a1a59246db25bc5d6570c8fdd0bc8286f9f936f24807408184adc1de906b0c41","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(vectors):\n    return [sum(v[j] for v in vectors)/len(vectors)**2 for j in range(len(vectors[0]))] if vectors else []\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('length two', solve([[N,0],[3*N,2*N]]), [2*N,N])\ncheck('length three', solve([[0,N],[3*N,0],[6*N,2*N]]), [3*N,N])\ncheck('singleton', solve([[N,2*N]]), [N,2*N])\ncheck('empty', solve([]), [])\ncheck('opposing', solve([[N],[ -N]]), [0])\ncheck('wide vector', solve([[0,N,2*N],[2*N,3*N,4*N]]), [N,2*N,3*N])\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":"Inputs are finite toy vectors or token rows; this contract makes no claim about model quality or production embedding behavior. 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-embedding-vector-normalization-length-normalized-sum","generated_at":"2026-09-30T16:48:23.555514+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A small embedding preparation contract can be checked without a model or retrieval system.","root_cause":"The summed vectors are divided by the square of the number of tokens.","sha256":"ea4db8b7d97cf7ba04ae3a6b2fd1a82a582b82868a20f969a463b0127d6bcd3f","title":"Length-normalized pooling divides by squared token count · 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":32.93,"exit_code":1,"observations":[{"actual":[2.0,1.0],"check":"length two","expected":[2,1],"passed":true},{"actual":[4.5,1.5],"check":"length three","expected":[3,1],"passed":false},{"actual":[0.5,1.0],"check":"singleton","expected":[1,2],"passed":false},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[0.0],"check":"opposing","expected":[0],"passed":true},{"actual":[0.6666666666666666,1.3333333333333333,2.0],"check":"wide vector","expected":[1,2,3],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"length two\", \"actual\": [2.0, 1.0], \"expected\": [2, 1], \"passed\": true}, {\"check\": \"length three\", \"actual\": [4.5, 1.5], \"expected\": [3, 1], \"passed\": false}, {\"check\": \"singleton\", \"actual\": [0.5, 1.0], \"expected\": [1, 2], \"passed\": false}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"opposing\", \"actual\": [0.0], \"expected\": [0], \"passed\": true}, {\"check\": \"wide vector\", \"actual\": [0.6666666666666666, 1.3333333333333333, 2.0], \"expected\": [1, 2, 3], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":30.486,"exit_code":1,"observations":[{"actual":[1.0,0.5],"check":"length two","expected":[2,1],"passed":false},{"actual":[1.0,0.3333333333333333],"check":"length three","expected":[3,1],"passed":false},{"actual":[1.0,2.0],"check":"singleton","expected":[1,2],"passed":true},{"actual":[],"check":"empty","expected":[],"passed":true},{"actual":[0.0],"check":"opposing","expected":[0],"passed":true},{"actual":[0.5,1.0,1.5],"check":"wide vector","expected":[1,2,3],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"length two\", \"actual\": [1.0, 0.5], \"expected\": [2, 1], \"passed\": false}, {\"check\": \"length three\", \"actual\": [1.0, 0.3333333333333333], \"expected\": [3, 1], \"passed\": false}, {\"check\": \"singleton\", \"actual\": [1.0, 2.0], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"empty\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"opposing\", \"actual\": [0.0], \"expected\": [0], \"passed\": true}, {\"check\": \"wide vector\", \"actual\": [0.5, 1.0, 1.5], \"expected\": [1, 2, 3], \"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."}}