{"abstract":"Adaptation factor uses the wrong binary fixed-point denominator.","category":"PCM sample encoding","checks":8,"contract":"Apply a stipulated 16-code fixed-point PCM adaptation table sequentially, enforcing a minimum positive amplitude delta and returning continuation scale.","evaluation_group":"s3-pcm-pcm-adaptation-table","failed_approach":"Removing normalization explodes step size on every sample.","family":"s3-pcm-pcm-adaptation-table-fixed-point-scale","id":"FA-49826","implementations":{"attempt":{"sha256":"457433e6056a09a1c0253868921e70713726d6feeba5b7103819f9eacc514e1a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(codes, delta, minimum, table):\n    out=[]\n    for code in codes:\n        factor=table[code&15]\n        product=delta*factor\n        delta=max(minimum,product)\n        out.append(delta)\n    return [out,delta]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('oracle 1', solve(*([0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230])), [[17, 40, 95, 85], 85])\ncheck('oracle 2', solve(*([0, 0, 0, 0], 5, 4, [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128])), [[4, 4, 4, 4], 4])\ncheck('oracle 3', solve(*([1, 2, 3], 10, 1, [200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350])), [[8, 6, 5], 5])\ncheck('oracle 4', solve(*([], 8, 2, [256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256])), [[], 8])\ncheck('oracle 5', solve(*([15, 8, 0], 9, 3, [200, 208, 216, 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312, 320])), [[11, 11, 8], 8])\ncheck('oracle 6', solve(*([7, 7], 4, 4, [256, 256, 256, 256, 256, 256, 256, 512, 256, 256, 256, 256, 256, 256, 256, 256])), [[8, 16], 16])\ncheck('oracle 7', solve(*([0, 1], 1, 1, [128, 768, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256])), [[1, 3], 3])\nif N == 1: check('variant packet 1', solve(*[[0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391], 391])\nif N == 2: check('variant packet 2', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812], 1812])\nif N == 3: check('variant packet 3', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407], 8407])\nif N == 4: check('variant packet 4', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407, 7553, 18115, 43447, 39034], 39034])\nif N == 5: check('variant packet 5', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407, 7553, 18115, 43447, 39034, 35069, 84110, 201732, 181243], 181243])\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":"b9e8972a610f9a0be5fd63aa7ec4f9eb94b6b0ab781c510f5fcca3cbd7bde4a1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(codes, delta, minimum, table):\n    out=[]\n    for code in codes:\n        factor=table[code&15]\n        product=delta*factor\n        delta=max(minimum,product//128)\n        out.append(delta)\n    return [out,delta]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('oracle 1', solve(*([0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230])), [[17, 40, 95, 85], 85])\ncheck('oracle 2', solve(*([0, 0, 0, 0], 5, 4, [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128])), [[4, 4, 4, 4], 4])\ncheck('oracle 3', solve(*([1, 2, 3], 10, 1, [200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350])), [[8, 6, 5], 5])\ncheck('oracle 4', solve(*([], 8, 2, [256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256])), [[], 8])\ncheck('oracle 5', solve(*([15, 8, 0], 9, 3, [200, 208, 216, 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312, 320])), [[11, 11, 8], 8])\ncheck('oracle 6', solve(*([7, 7], 4, 4, [256, 256, 256, 256, 256, 256, 256, 512, 256, 256, 256, 256, 256, 256, 256, 256])), [[8, 16], 16])\ncheck('oracle 7', solve(*([0, 1], 1, 1, [128, 768, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256])), [[1, 3], 3])\nif N == 1: check('variant packet 1', solve(*[[0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391], 391])\nif N == 2: check('variant packet 2', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812], 1812])\nif N == 3: check('variant packet 3', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407], 8407])\nif N == 4: check('variant packet 4', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407, 7553, 18115, 43447, 39034], 39034])\nif N == 5: check('variant packet 5', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407, 7553, 18115, 43447, 39034, 35069, 84110, 201732, 181243], 181243])\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":"ac398c765caeb6f955461bf73fe9a2e69eb45dc120cf4f4fe5f557e917274543","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(codes, delta, minimum, table):\n    out=[]\n    for code in codes:\n        factor=table[code&15]\n        product=delta*factor\n        delta=max(minimum,product//256)\n        out.append(delta)\n    return [out,delta]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('oracle 1', solve(*([0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230])), [[17, 40, 95, 85], 85])\ncheck('oracle 2', solve(*([0, 0, 0, 0], 5, 4, [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128])), [[4, 4, 4, 4], 4])\ncheck('oracle 3', solve(*([1, 2, 3], 10, 1, [200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350])), [[8, 6, 5], 5])\ncheck('oracle 4', solve(*([], 8, 2, [256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256])), [[], 8])\ncheck('oracle 5', solve(*([15, 8, 0], 9, 3, [200, 208, 216, 224, 232, 240, 248, 256, 264, 272, 280, 288, 296, 304, 312, 320])), [[11, 11, 8], 8])\ncheck('oracle 6', solve(*([7, 7], 4, 4, [256, 256, 256, 256, 256, 256, 256, 512, 256, 256, 256, 256, 256, 256, 256, 256])), [[8, 16], 16])\ncheck('oracle 7', solve(*([0, 1], 1, 1, [128, 768, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256, 256])), [[1, 3], 3])\nif N == 1: check('variant packet 1', solve(*[[0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391], 391])\nif N == 2: check('variant packet 2', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812], 1812])\nif N == 3: check('variant packet 3', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407], 8407])\nif N == 4: check('variant packet 4', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407, 7553, 18115, 43447, 39034], 39034])\nif N == 5: check('variant packet 5', solve(*[[0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15, 0, 7, 8, 15], 20, 4, [230, 230, 230, 230, 307, 409, 512, 614, 614, 512, 409, 307, 230, 230, 230, 230]]), [[17, 40, 95, 85, 76, 182, 436, 391, 351, 841, 2017, 1812, 1627, 3902, 9358, 8407, 7553, 18115, 43447, 39034, 35069, 84110, 201732, 181243], 181243])\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":"Stipulated finite model; no claim of hardware timing or full file-format conformance. 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":"s3-pcm-pcm-adaptation-table-fixed-point-scale","generated_at":"2026-09-29T14:45:03.588314+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Offline PCM interchange uses these exact bounded packet and sample representation decisions.","repair":"Use the stated conversion contract at fixed point scale.","root_cause":"Adaptation factor uses the wrong binary fixed-point denominator.","sha256":"0cfa9165f6a19084fc89e0e1a4e2b6e9c36db6091f4d983935400c4656d6baf1","title":"Pcm adaptation table: fixed point scale · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":42.009,"exit_code":1,"observations":[{"actual":[[4600,2824400,1734181600,398861768000],398861768000],"check":"oracle 1","expected":[[17,40,95,85],85],"passed":false},{"actual":[[640,81920,10485760,1342177280],1342177280],"check":"oracle 2","expected":[[4,4,4,4],4],"passed":false},{"actual":[[2100,462000,106260000],106260000],"check":"oracle 3","expected":[[8,6,5],5],"passed":false},{"actual":[[],8],"check":"oracle 4","expected":[[],8],"passed":true},{"actual":[[2880,760320,152064000],152064000],"check":"oracle 5","expected":[[11,11,8],8],"passed":false},{"actual":[[2048,1048576],1048576],"check":"oracle 6","expected":[[8,16],16],"passed":false},{"actual":[[128,98304],98304],"check":"oracle 7","expected":[[1,3],3],"passed":false},{"actual":[[4600,2824400,1734181600,398861768000,91738206640000,56327258876960000,34584936950453440000,7954535498604291200000],7954535498604291200000],"check":"variant packet 1","expected":[[17,40,95,85,76,182,436,391],391],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[4600, 2824400, 1734181600, 398861768000], 398861768000], \"expected\": [[17, 40, 95, 85], 85], \"passed\": false}, {\"check\": \"oracle 2\", \"actual\": [[640, 81920, 10485760, 1342177280], 1342177280], \"expected\": [[4, 4, 4, 4], 4], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[2100, 462000, 106260000], 106260000], \"expected\": [[8, 6, 5], 5], \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": [[], 8], \"expected\": [[], 8], \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[2880, 760320, 152064000], 152064000], \"expected\": [[11, 11, 8], 8], \"passed\": false}, {\"check\": \"oracle 6\", \"actual\": [[2048, 1048576], 1048576], \"expected\": [[8, 16], 16], \"passed\": false}, {\"check\": \"oracle 7\", \"actual\": [[128, 98304], 98304], \"expected\": [[1, 3], 3], \"passed\": false}, {\"check\": \"variant packet 1\", \"actual\": [[4600, 2824400, 1734181600, 398861768000, 91738206640000, 56327258876960000, 34584936950453440000, 7954535498604291200000], 7954535498604291200000], \"expected\": [[17, 40, 95, 85, 76, 182, 436, 391], 391], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.745,"exit_code":1,"observations":[{"actual":[[35,167,801,1439],1439],"check":"oracle 1","expected":[[17,40,95,85],85],"passed":false},{"actual":[[5,5,5,5],5],"check":"oracle 2","expected":[[4,4,4,4],4],"passed":false},{"actual":[[16,27,48],48],"check":"oracle 3","expected":[[8,6,5],5],"passed":false},{"actual":[[],8],"check":"oracle 4","expected":[[],8],"passed":true},{"actual":[[22,45,70],70],"check":"oracle 5","expected":[[11,11,8],8],"passed":false},{"actual":[[16,64],64],"check":"oracle 6","expected":[[8,16],16],"passed":false},{"actual":[[1,6],6],"check":"oracle 7","expected":[[1,3],3],"passed":false},{"actual":[[35,167,801,1439,2585,12399,59476,106870],106870],"check":"variant packet 1","expected":[[17,40,95,85,76,182,436,391],391],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[35, 167, 801, 1439], 1439], \"expected\": [[17, 40, 95, 85], 85], \"passed\": false}, {\"check\": \"oracle 2\", \"actual\": [[5, 5, 5, 5], 5], \"expected\": [[4, 4, 4, 4], 4], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[16, 27, 48], 48], \"expected\": [[8, 6, 5], 5], \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": [[], 8], \"expected\": [[], 8], \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[22, 45, 70], 70], \"expected\": [[11, 11, 8], 8], \"passed\": false}, {\"check\": \"oracle 6\", \"actual\": [[16, 64], 64], \"expected\": [[8, 16], 16], \"passed\": false}, {\"check\": \"oracle 7\", \"actual\": [[1, 6], 6], \"expected\": [[1, 3], 3], \"passed\": false}, {\"check\": \"variant packet 1\", \"actual\": [[35, 167, 801, 1439, 2585, 12399, 59476, 106870], 106870], \"expected\": [[17, 40, 95, 85, 76, 182, 436, 391], 391], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":38.846,"exit_code":0,"observations":[{"actual":[[17,40,95,85],85],"check":"oracle 1","expected":[[17,40,95,85],85],"passed":true},{"actual":[[4,4,4,4],4],"check":"oracle 2","expected":[[4,4,4,4],4],"passed":true},{"actual":[[8,6,5],5],"check":"oracle 3","expected":[[8,6,5],5],"passed":true},{"actual":[[],8],"check":"oracle 4","expected":[[],8],"passed":true},{"actual":[[11,11,8],8],"check":"oracle 5","expected":[[11,11,8],8],"passed":true},{"actual":[[8,16],16],"check":"oracle 6","expected":[[8,16],16],"passed":true},{"actual":[[1,3],3],"check":"oracle 7","expected":[[1,3],3],"passed":true},{"actual":[[17,40,95,85,76,182,436,391],391],"check":"variant packet 1","expected":[[17,40,95,85,76,182,436,391],391],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[17, 40, 95, 85], 85], \"expected\": [[17, 40, 95, 85], 85], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[4, 4, 4, 4], 4], \"expected\": [[4, 4, 4, 4], 4], \"passed\": true}, {\"check\": \"oracle 3\", \"actual\": [[8, 6, 5], 5], \"expected\": [[8, 6, 5], 5], \"passed\": true}, {\"check\": \"oracle 4\", \"actual\": [[], 8], \"expected\": [[], 8], \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[11, 11, 8], 8], \"expected\": [[11, 11, 8], 8], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": [[8, 16], 16], \"expected\": [[8, 16], 16], \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": [[1, 3], 3], \"expected\": [[1, 3], 3], \"passed\": true}, {\"check\": \"variant packet 1\", \"actual\": [[17, 40, 95, 85, 76, 182, 436, 391], 391], \"expected\": [[17, 40, 95, 85, 76, 182, 436, 391], 391], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}