{"abstract":"Decoder halves amplitudes even though normalization was already applied during encoding.","category":"Audio channel mixing","checks":4,"contract":"Decode normalized mid/side frames into left=mid+side and right=mid-side, exactly inverting the half-scaled encoder.","evaluation_group":"xaud-mid-side-decode-reconstruction","failed_approach":"Reversing only the right reconstruction inverts that output channel polarity.","family":"xaud-mid-side-decode-reconstruction","id":"FA-11021","implementations":{"attempt":{"sha256":"e0474615dbb74f4f5afd85cc73a25308df37577912ac59414f4a27d7c4c24b8f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(frames):\n    return [[mid+side,side-mid] for mid,side in frames]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1',solve(*([[1, 0]],)),[[1, 1]])\ncheck('fixture 2',solve(*([[0, 1]],)),[[1, -1]])\ncheck('fixture 3',solve(*([[0.5, -0.5]],)),[[0, 1]])\ncheck('fixture 4',solve(*([],)),[])\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":"1d8537934851a0d57c0c5f76b154dc54807017b3c65b36746c9b6cc7bba6a7c7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(frames):\n    return [[(mid+side)/2,(mid-side)/2] for mid,side in frames]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1',solve(*([[1, 0]],)),[[1, 1]])\ncheck('fixture 2',solve(*([[0, 1]],)),[[1, -1]])\ncheck('fixture 3',solve(*([[0.5, -0.5]],)),[[0, 1]])\ncheck('fixture 4',solve(*([],)),[])\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"},"fixed":{"sha256":"e02e8a14efce584e815c39dff5d37ba024de216f81f9c511760457629e9b209a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nN = 1\nobservations = []\ndef solve(frames):\n    return [[mid+side,mid-side] for mid,side in frames]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1',solve(*([[1, 0]],)),[[1, 1]])\ncheck('fixture 2',solve(*([[0, 1]],)),[[1, -1]])\ncheck('fixture 3',solve(*([[0.5, -0.5]],)),[[0, 1]])\ncheck('fixture 4',solve(*([],)),[])\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":" 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":"xaud-mid-side-decode-reconstruction","generated_at":"2026-09-29T14:38:44.302222+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A pure Python local audio pipeline stage with explicit sample formats and frame conventions; no real-time device or signal-spectrum claims.","repair":"Apply the explicit PCM/playback contract: Decode normalized mid/side frames into left=mid+side and right=mid-side, exactly inverting the half-scaled encoder.","root_cause":"Decoder halves amplitudes even though normalization was already applied during encoding.","sha256":"330153a4522e55f3edeb4385c091c534ebd44c2f5fb0e66303427a694e60f7da","title":"Mid side decode reconstruction · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":36.927,"exit_code":1,"observations":[{"actual":[[1,-1]],"check":"fixture 1","expected":[[1,1]],"passed":false},{"actual":[[1,1]],"check":"fixture 2","expected":[[1,-1]],"passed":false},{"actual":[[0.0,-1.0]],"check":"fixture 3","expected":[[0,1]],"passed":false},{"actual":[],"check":"fixture 4","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [[1, -1]], \"expected\": [[1, 1]], \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": [[1, 1]], \"expected\": [[1, -1]], \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": [[0.0, -1.0]], \"expected\": [[0, 1]], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":37.44,"exit_code":1,"observations":[{"actual":[[0.5,0.5]],"check":"fixture 1","expected":[[1,1]],"passed":false},{"actual":[[0.5,-0.5]],"check":"fixture 2","expected":[[1,-1]],"passed":false},{"actual":[[0.0,0.5]],"check":"fixture 3","expected":[[0,1]],"passed":false},{"actual":[],"check":"fixture 4","expected":[],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [[0.5, 0.5]], \"expected\": [[1, 1]], \"passed\": false}, {\"check\": \"fixture 2\", \"actual\": [[0.5, -0.5]], \"expected\": [[1, -1]], \"passed\": false}, {\"check\": \"fixture 3\", \"actual\": [[0.0, 0.5]], \"expected\": [[0, 1]], \"passed\": false}, {\"check\": \"fixture 4\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":37.249,"exit_code":0,"observations":[{"actual":[[1,1]],"check":"fixture 1","expected":[[1,1]],"passed":true},{"actual":[[1,-1]],"check":"fixture 2","expected":[[1,-1]],"passed":true},{"actual":[[0.0,1.0]],"check":"fixture 3","expected":[[0,1]],"passed":true},{"actual":[],"check":"fixture 4","expected":[],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1\", \"actual\": [[1, 1]], \"expected\": [[1, 1]], \"passed\": true}, {\"check\": \"fixture 2\", \"actual\": [[1, -1]], \"expected\": [[1, -1]], \"passed\": true}, {\"check\": \"fixture 3\", \"actual\": [[0.0, 1.0]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"fixture 4\", \"actual\": [], \"expected\": [], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}