{"abstract":"CSR row-pointer intervals are treated as nonempty row markers.","category":"Sparse tensor canonicalization","checks":6,"contract":"Return the number of empty rows in a valid CSR row pointer array.","contract_signature":"ptr","evaluation_group":"w3-sparse-tensor-canonicalization-csr-empty-row-boundaries","failed_approach":"A nonempty row may contain multiple items; emptiness is pointer equality.","family":"w3-sparse-tensor-canonicalization-csr-empty-row-boundaries","id":"FA-100521","implementations":{"attempt":{"sha256":"776a5d17f269064e6ac49a8000253ef45a5872f542bac488baf04864710eca4b","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ptr):\n    return sum(ptr[i+1]-ptr[i]==1 for i in range(len(ptr)-1))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('interior empty',solve([0,1,1,3]),1)\ncheck('all empty',solve([0,0,0,0]),3)\ncheck('none empty',solve([0,1,2]),0)\ncheck('singleton empty',solve([0,0]),1)\ncheck('mixed',solve([0,2,2,2,5]),2)\ncheck('no rows',solve([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":"8d429a6ed3b5c5fa7c01f9647eb2b59bbb3cd68630434f85093f30860c4f82dd","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(ptr):\n    return sum(ptr[i+1]-ptr[i] for i in range(len(ptr)-1))\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('interior empty',solve([0,1,1,3]),1)\ncheck('all empty',solve([0,0,0,0]),3)\ncheck('none empty',solve([0,1,2]),0)\ncheck('singleton empty',solve([0,0]),1)\ncheck('mixed',solve([0,2,2,2,5]),2)\ncheck('no rows',solve([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-csr-empty-row-boundaries","generated_at":"2026-09-30T16:48:36.699476+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":"An empty CSR row is represented by equal adjacent pointers, not a zero-length global array.","sha256":"108643536221f2acc54bf64efb05f1181f19da66f62ad077b6da8109756cf20c","title":"Sparse tensor: CSR row-pointer intervals are treated as nonempty row markers · case 01","variant":1,"variant_policy":"The same explicitly authored fixtures repeat across all five numbered records; runtime N is unused. These records share one mechanism and must remain together in evaluation splits.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":29.583,"exit_code":1,"observations":[{"actual":1,"check":"interior empty","expected":1,"passed":true},{"actual":0,"check":"all empty","expected":3,"passed":false},{"actual":2,"check":"none empty","expected":0,"passed":false},{"actual":0,"check":"singleton empty","expected":1,"passed":false},{"actual":0,"check":"mixed","expected":2,"passed":false},{"actual":0,"check":"no rows","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"interior empty\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"all empty\", \"actual\": 0, \"expected\": 3, \"passed\": false}, {\"check\": \"none empty\", \"actual\": 2, \"expected\": 0, \"passed\": false}, {\"check\": \"singleton empty\", \"actual\": 0, \"expected\": 1, \"passed\": false}, {\"check\": \"mixed\", \"actual\": 0, \"expected\": 2, \"passed\": false}, {\"check\": \"no rows\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":29.807,"exit_code":1,"observations":[{"actual":3,"check":"interior empty","expected":1,"passed":false},{"actual":0,"check":"all empty","expected":3,"passed":false},{"actual":2,"check":"none empty","expected":0,"passed":false},{"actual":0,"check":"singleton empty","expected":1,"passed":false},{"actual":5,"check":"mixed","expected":2,"passed":false},{"actual":0,"check":"no rows","expected":0,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"interior empty\", \"actual\": 3, \"expected\": 1, \"passed\": false}, {\"check\": \"all empty\", \"actual\": 0, \"expected\": 3, \"passed\": false}, {\"check\": \"none empty\", \"actual\": 2, \"expected\": 0, \"passed\": false}, {\"check\": \"singleton empty\", \"actual\": 0, \"expected\": 1, \"passed\": false}, {\"check\": \"mixed\", \"actual\": 5, \"expected\": 2, \"passed\": false}, {\"check\": \"no rows\", \"actual\": 0, \"expected\": 0, \"passed\": true}], \"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."}}