{"abstract":"Adaptation loses the highest magnitude bit.","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":"Shifting the class mixes sign with magnitude.","family":"s3-pcm-pcm-adaptive-nibble-reconstruction-adaptation-class","id":"FA-49726","implementations":{"attempt":{"sha256":"392f6837010ce114270f5ba3802ce5748a56be8048aaee685ec75d1b25694373","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(-128,min(127,predictor))\n        step_index=max(0,min(len(steps)-1,step_index+adjust[(code>>1)&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":"56932e93a782c2e707966e00c61c9c6e4059e437dd67424b27c3268c5fd4e8bb","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(-128,min(127,predictor))\n        step_index=max(0,min(len(steps)-1,step_index+adjust[code&3]))\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-adaptation-class","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":"Adaptation loses the highest magnitude bit.","sha256":"020be06ed46a28724a4b6d76438fdc640feb608db4ba9ef887f2e898b5947f8f","title":"Pcm adaptive nibble reconstruction: adaptation class · 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":41.433,"exit_code":1,"observations":[{"actual":[[1,4,9,16,23,34,34,18],18,10],"check":"oracle 1","expected":[[1,4,9,16,23,39,37,6],6,15],"passed":false},{"actual":[[127,127,127],127,11],"check":"oracle 2","expected":[[127,127,127],127,15],"passed":false},{"actual":[[-128,-128],-128,15],"check":"oracle 3","expected":[[-128,-128],-128,15],"passed":true},{"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,6,46,10],10,15],"check":"oracle 6","expected":[[21,0,36,-13],-13,15],"passed":false},{"actual":[[0,-3,4,-3],-3,9],"check":"oracle 7","expected":[[0,-3,3,-2],-2,1],"passed":false},{"actual":[[1,4,9,16,23,34,34,18,20,26,36,47,61,83,82,59],59,14],"check":"variant packet 1","expected":[[1,4,9,16,23,39,37,6,9,19,34,52,75,121,118,66],66,15],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[1, 4, 9, 16, 23, 34, 34, 18], 18, 10], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15], \"passed\": false}, {\"check\": \"oracle 2\", \"actual\": [[127, 127, 127], 127, 11], \"expected\": [[127, 127, 127], 127, 15], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[-128, -128], -128, 15], \"expected\": [[-128, -128], -128, 15], \"passed\": true}, {\"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, 6, 46, 10], 10, 15], \"expected\": [[21, 0, 36, -13], -13, 15], \"passed\": false}, {\"check\": \"oracle 7\", \"actual\": [[0, -3, 4, -3], -3, 9], \"expected\": [[0, -3, 3, -2], -2, 1], \"passed\": false}, {\"check\": \"variant packet 1\", \"actual\": [[1, 4, 9, 16, 23, 34, 34, 18, 20, 26, 36, 47, 61, 83, 82, 59], 59, 14], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":38.181,"exit_code":1,"observations":[{"actual":[[1,4,9,16,23,34,34,23],23,0],"check":"oracle 1","expected":[[1,4,9,16,23,39,37,6],6,15],"passed":false},{"actual":[[127,127,127],127,11],"check":"oracle 2","expected":[[127,127,127],127,15],"passed":false},{"actual":[[-128,-128],-128,13],"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,6,26,7],7,4],"check":"oracle 6","expected":[[21,0,36,-13],-13,15],"passed":false},{"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,34,34,23,23,24,27,31,38,49,49,38],38,0],"check":"variant packet 1","expected":[[1,4,9,16,23,39,37,6,9,19,34,52,75,121,118,66],66,15],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[1, 4, 9, 16, 23, 34, 34, 23], 23, 0], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15], \"passed\": false}, {\"check\": \"oracle 2\", \"actual\": [[127, 127, 127], 127, 11], \"expected\": [[127, 127, 127], 127, 15], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[-128, -128], -128, 13], \"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, 6, 26, 7], 7, 4], \"expected\": [[21, 0, 36, -13], -13, 15], \"passed\": false}, {\"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, 34, 34, 23, 23, 24, 27, 31, 38, 49, 49, 38], 38, 0], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6, 9, 19, 34, 52, 75, 121, 118, 66], 66, 15], \"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."}}