{"abstract":"Adaptive reconstructed PCM wraps at overload.","category":"PCM sample encoding","checks":8,"contract":"Stipulated bounded adaptive differential PCM nibble model with a 16-entry step table, magnitude adaptation, signed predictor saturation and exported predictor/index state.","contract_signature":"codes, predictor, step_index","evaluation_group":"s3-pcm-pcm-adaptive-nibble-reconstruction","failed_approach":"Symmetric limits exclude the valid negative endpoint of the declared output field.","family":"s3-pcm-pcm-adaptive-nibble-reconstruction-predictor-saturation","id":"FA-49731","implementations":{"attempt":{"sha256":"14917ae55e85851e146826c8b7691861c8c0875a8d7b7a1b5c8ee24078a67ed9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(codes, predictor, step_index):\n    steps=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31]\n    adjust=[-1,-1,-1,-1,2,4,6,8]\n    out=[]\n    for code in codes:\n        step=steps[step_index]\n        delta=step//8\n        if code&1: delta+=step//4\n        if code&2: delta+=step//2\n        if code&4: delta+=step\n        predictor+=-delta if code&8 else delta\n        predictor=max(-127,min(127,predictor))\n        step_index=max(0,min(len(steps)-1,step_index+adjust[code&7]))\n        out.append(predictor)\n    return [out,predictor,step_index]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('oracle 1', solve(*([0, 1, 2, 3, 4, 7, 8, 15], 0, 4)), [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15])\ncheck('oracle 2', solve(*([7, 7, 7], 120, 14)), [[127, 127, 127], 127, 15])\ncheck('oracle 3', solve(*([15, 15], -120, 15)), [[-128, -128], -128, 15])\ncheck('oracle 4', solve(*([], 4, 2)), [[], 4, 2])\ncheck('oracle 5', solve(*([0, 0, 0], 0, 1)), [[1, 1, 1], 1, 0])\ncheck('oracle 6', solve(*([4, 12, 6, 14], 3, 8)), [[21, 0, 36, -13], -13, 15])\ncheck('oracle 7', solve(*([1, 9, 2, 10], -4, 5)), [[0, -3, 3, -2], -2, 1])\nif N == 1: check('variant packet 1', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15])\nif N == 2: check('variant packet 2', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72], 72, 15])\nif N == 3: check('variant packet 3', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72], 72, 15])\nif N == 4: check('variant packet 4', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72], 72, 15])\nif N == 5: check('variant packet 5', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72], 72, 15])\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":"5442fa43caf4f8f14caaf971ab293206707c234fb428de43bb5584807707176f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(codes, predictor, step_index):\n    steps=[7,8,9,10,11,12,13,14,16,17,19,21,23,25,28,31]\n    adjust=[-1,-1,-1,-1,2,4,6,8]\n    out=[]\n    for code in codes:\n        step=steps[step_index]\n        delta=step//8\n        if code&1: delta+=step//4\n        if code&2: delta+=step//2\n        if code&4: delta+=step\n        predictor+=-delta if code&8 else delta\n        predictor=((predictor+128)%256)-128\n        step_index=max(0,min(len(steps)-1,step_index+adjust[code&7]))\n        out.append(predictor)\n    return [out,predictor,step_index]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('oracle 1', solve(*([0, 1, 2, 3, 4, 7, 8, 15], 0, 4)), [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15])\ncheck('oracle 2', solve(*([7, 7, 7], 120, 14)), [[127, 127, 127], 127, 15])\ncheck('oracle 3', solve(*([15, 15], -120, 15)), [[-128, -128], -128, 15])\ncheck('oracle 4', solve(*([], 4, 2)), [[], 4, 2])\ncheck('oracle 5', solve(*([0, 0, 0], 0, 1)), [[1, 1, 1], 1, 0])\ncheck('oracle 6', solve(*([4, 12, 6, 14], 3, 8)), [[21, 0, 36, -13], -13, 15])\ncheck('oracle 7', solve(*([1, 9, 2, 10], -4, 5)), [[0, -3, 3, -2], -2, 1])\nif N == 1: check('variant packet 1', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15])\nif N == 2: check('variant packet 2', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72], 72, 15])\nif N == 3: check('variant packet 3', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72], 72, 15])\nif N == 4: check('variant packet 4', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72], 72, 15])\nif N == 5: check('variant packet 5', solve(*[[0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15, 0, 1, 2, 3, 4, 7, 8, 15], 0, 4]), [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66, 69, 79, 94, 112, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72, 75, 85, 100, 118, 127, 127, 124, 72], 72, 15])\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-adaptive-nibble-reconstruction-predictor-saturation","generated_at":"2026-09-29T14:45:02.746337+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.","root_cause":"Adaptive reconstructed PCM wraps at overload.","sha256":"84fdbaa2cafe70a040b8caab2be2f8e0ca4a46350a347f676011f0fa15fab2ef","title":"Pcm adaptive nibble reconstruction: predictor saturation · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verified":true,"visibility":"public","verification":{"attempt":{"elapsed_ms":38.189,"exit_code":1,"observations":[{"actual":[[1,4,9,16,23,39,37,6],6,15],"check":"oracle 1","expected":[[1,4,9,16,23,39,37,6],6,15],"passed":true},{"actual":[[127,127,127],127,15],"check":"oracle 2","expected":[[127,127,127],127,15],"passed":true},{"actual":[[-127,-127],-127,15],"check":"oracle 3","expected":[[-128,-128],-128,15],"passed":false},{"actual":[[],4,2],"check":"oracle 4","expected":[[],4,2],"passed":true},{"actual":[[1,1,1],1,0],"check":"oracle 5","expected":[[1,1,1],1,0],"passed":true},{"actual":[[21,0,36,-13],-13,15],"check":"oracle 6","expected":[[21,0,36,-13],-13,15],"passed":true},{"actual":[[0,-3,3,-2],-2,1],"check":"oracle 7","expected":[[0,-3,3,-2],-2,1],"passed":true},{"actual":[[1,4,9,16,23,39,37,6,9,19,34,52,75,121,118,66],66,15],"check":"variant packet 1","expected":[[1,4,9,16,23,39,37,6,9,19,34,52,75,121,118,66],66,15],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[127, 127, 127], 127, 15], \"expected\": [[127, 127, 127], 127, 15], \"passed\": true}, {\"check\": \"oracle 3\", \"actual\": [[-127, -127], -127, 15], \"expected\": [[-128, -128], -128, 15], \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": [[], 4, 2], \"expected\": [[], 4, 2], \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[1, 1, 1], 1, 0], \"expected\": [[1, 1, 1], 1, 0], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": [[21, 0, 36, -13], -13, 15], \"expected\": [[21, 0, 36, -13], -13, 15], \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": [[0, -3, 3, -2], -2, 1], \"expected\": [[0, -3, 3, -2], -2, 1], \"passed\": true}, {\"check\": \"variant packet 1\", \"actual\": [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.709,"exit_code":1,"observations":[{"actual":[[1,4,9,16,23,39,37,6],6,15],"check":"oracle 1","expected":[[1,4,9,16,23,39,37,6],6,15],"passed":true},{"actual":[[-84,-28,28],28,15],"check":"oracle 2","expected":[[127,127,127],127,15],"passed":false},{"actual":[[80,24],24,15],"check":"oracle 3","expected":[[-128,-128],-128,15],"passed":false},{"actual":[[],4,2],"check":"oracle 4","expected":[[],4,2],"passed":true},{"actual":[[1,1,1],1,0],"check":"oracle 5","expected":[[1,1,1],1,0],"passed":true},{"actual":[[21,0,36,-13],-13,15],"check":"oracle 6","expected":[[21,0,36,-13],-13,15],"passed":true},{"actual":[[0,-3,3,-2],-2,1],"check":"oracle 7","expected":[[0,-3,3,-2],-2,1],"passed":true},{"actual":[[1,4,9,16,23,39,37,6,9,19,34,52,75,121,118,66],66,15],"check":"variant packet 1","expected":[[1,4,9,16,23,39,37,6,9,19,34,52,75,121,118,66],66,15],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15], \"passed\": true}, {\"check\": \"oracle 2\", \"actual\": [[-84, -28, 28], 28, 15], \"expected\": [[127, 127, 127], 127, 15], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[80, 24], 24, 15], \"expected\": [[-128, -128], -128, 15], \"passed\": false}, {\"check\": \"oracle 4\", \"actual\": [[], 4, 2], \"expected\": [[], 4, 2], \"passed\": true}, {\"check\": \"oracle 5\", \"actual\": [[1, 1, 1], 1, 0], \"expected\": [[1, 1, 1], 1, 0], \"passed\": true}, {\"check\": \"oracle 6\", \"actual\": [[21, 0, 36, -13], -13, 15], \"expected\": [[21, 0, 36, -13], -13, 15], \"passed\": true}, {\"check\": \"oracle 7\", \"actual\": [[0, -3, 3, -2], -2, 1], \"expected\": [[0, -3, 3, -2], -2, 1], \"passed\": true}, {\"check\": \"variant packet 1\", \"actual\": [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15], \"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."}}