{"abstract":"COO matrix-vector product ignores row coordinates.","category":"Sparse tensor canonicalization","checks":6,"contract":"Return rows-length integer product y where each [r,c,v] contributes v*vector[c] to y[r].","contract_signature":"entries,vector,rows","evaluation_group":"w3-sparse-tensor-canonicalization-coo-matvec","failed_approach":"An inclusive row prefix still mixes contributions from multiple rows rather than computing each row’s own sum.","family":"w3-sparse-tensor-canonicalization-coo-matvec","id":"FA-100486","implementations":{"attempt":{"sha256":"cc50cc5ba7a066664e58c597adc9edb76eeb9286b0d5210fb8212576bacd082a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(entries,vector,rows):\n    return [sum(v*vector[c] for r,c,v in entries if r<=i) for i in range(rows)]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('separate rows',solve([[0,1,N],[2,0,3]],[4,5],3),[5*N,0,12])\ncheck('empty matrix',solve([],[1,2],N),[0]*N)\ncheck('single row',solve([[0,0,7]],[N],1),[7*N])\ncheck('same row add',solve([[1,0,2],[1,1,3]],[N,4],3),[0,2*N+12,0])\ncheck('zero value',solve([[0,0,0]],[N],1),[0])\ncheck('trailing empty rows',solve([[0,0,1]],[N],3),[N,0,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":"d6c553b55646a255816d3ee179ce29cf0d470b759702b6b2b2c2d7086dd9a163","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(entries,vector,rows):\n    return [sum(v*vector[c] for r,c,v in entries)]*rows\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('separate rows',solve([[0,1,N],[2,0,3]],[4,5],3),[5*N,0,12])\ncheck('empty matrix',solve([],[1,2],N),[0]*N)\ncheck('single row',solve([[0,0,7]],[N],1),[7*N])\ncheck('same row add',solve([[1,0,2],[1,1,3]],[N,4],3),[0,2*N+12,0])\ncheck('zero value',solve([[0,0,0]],[N],1),[0])\ncheck('trailing empty rows',solve([[0,0,1]],[N],3),[N,0,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":"These are toy integer-valued COO or CSR contracts; they make no claim about a framework API, floating point policy, or large tensor performance. 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-sparse-tensor-canonicalization-coo-matvec","generated_at":"2026-09-30T16:48:36.272465+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A small offline sparse-array operation has explicit coordinate and storage semantics.","root_cause":"COO entries require both coordinates to select the output row and input-vector element.","sha256":"f3b361cfb70b78e156be25c974f89f568e734d23f2d60367aa6df2385d5229a4","title":"Sparse tensor: COO matrix-vector product ignores row coordinates · 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.236,"exit_code":1,"observations":[{"actual":[5,5,17],"check":"separate rows","expected":[5,0,12],"passed":false},{"actual":[0],"check":"empty matrix","expected":[0],"passed":true},{"actual":[7],"check":"single row","expected":[7],"passed":true},{"actual":[0,14,14],"check":"same row add","expected":[0,14,0],"passed":false},{"actual":[0],"check":"zero value","expected":[0],"passed":true},{"actual":[1,1,1],"check":"trailing empty rows","expected":[1,0,0],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"separate rows\", \"actual\": [5, 5, 17], \"expected\": [5, 0, 12], \"passed\": false}, {\"check\": \"empty matrix\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"single row\", \"actual\": [7], \"expected\": [7], \"passed\": true}, {\"check\": \"same row add\", \"actual\": [0, 14, 14], \"expected\": [0, 14, 0], \"passed\": false}, {\"check\": \"zero value\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"trailing empty rows\", \"actual\": [1, 1, 1], \"expected\": [1, 0, 0], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":29.435,"exit_code":1,"observations":[{"actual":[17,17,17],"check":"separate rows","expected":[5,0,12],"passed":false},{"actual":[0],"check":"empty matrix","expected":[0],"passed":true},{"actual":[7],"check":"single row","expected":[7],"passed":true},{"actual":[14,14,14],"check":"same row add","expected":[0,14,0],"passed":false},{"actual":[0],"check":"zero value","expected":[0],"passed":true},{"actual":[1,1,1],"check":"trailing empty rows","expected":[1,0,0],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"separate rows\", \"actual\": [17, 17, 17], \"expected\": [5, 0, 12], \"passed\": false}, {\"check\": \"empty matrix\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"single row\", \"actual\": [7], \"expected\": [7], \"passed\": true}, {\"check\": \"same row add\", \"actual\": [14, 14, 14], \"expected\": [0, 14, 0], \"passed\": false}, {\"check\": \"zero value\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"trailing empty rows\", \"actual\": [1, 1, 1], \"expected\": [1, 0, 0], \"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."}}