{"abstract":"Adaptive nibble polarity is reversed.","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":"Reading a magnitude bit as sign couples polarity to step size.","family":"s3-pcm-pcm-adaptive-nibble-reconstruction-sign-code","id":"FA-49721","implementations":{"attempt":{"sha256":"e6159573123842f56f1bfa6de0cf3414ef2a24bb1708894650b483cd01919487","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&4 else delta\n        predictor=max(-128,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":"e587229a48fd52e75c54e33bcaed5699b7fca933bacd1ec57bb2c4ddd9afa2c8","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&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-sign-code","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 nibble polarity is reversed.","sha256":"4c83a05cd0d2cb5a035a74b875096df99046fb1885c6d9bc57cddaac17501192","title":"Pcm adaptive nibble reconstruction: sign code · 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":39.787,"exit_code":1,"observations":[{"actual":[[1,4,9,16,9,-7,-5,-36],-36,15],"check":"oracle 1","expected":[[1,4,9,16,23,39,37,6],6,15],"passed":false},{"actual":[[68,12,-44],-44,15],"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":[[-15,-36,-72,-121],-121,15],"check":"oracle 6","expected":[[21,0,36,-13],-13,15],"passed":false},{"actual":[[0,3,9,14],14,1],"check":"oracle 7","expected":[[0,-3,3,-2],-2,1],"passed":false},{"actual":[[1,4,9,16,9,-7,-5,-36,-33,-23,-8,10,-13,-59,-56,-108],-108,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":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"oracle 1\", \"actual\": [[1, 4, 9, 16, 9, -7, -5, -36], -36, 15], \"expected\": [[1, 4, 9, 16, 23, 39, 37, 6], 6, 15], \"passed\": false}, {\"check\": \"oracle 2\", \"actual\": [[68, 12, -44], -44, 15], \"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\": [[-15, -36, -72, -121], -121, 15], \"expected\": [[21, 0, 36, -13], -13, 15], \"passed\": false}, {\"check\": \"oracle 7\", \"actual\": [[0, 3, 9, 14], 14, 1], \"expected\": [[0, -3, 3, -2], -2, 1], \"passed\": false}, {\"check\": \"variant packet 1\", \"actual\": [[1, 4, 9, 16, 9, -7, -5, -36, -33, -23, -8, 10, -13, -59, -56, -108], -108, 15], \"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":41.429,"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":false},{"actual":[[68,12,-44],-44,15],"check":"oracle 2","expected":[[127,127,127],127,15],"passed":false},{"actual":[[-64,-8],-8,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":false},{"actual":[[-15,6,-30,19],19,15],"check":"oracle 6","expected":[[21,0,36,-13],-13,15],"passed":false},{"actual":[[-8,-5,-11,-6],-6,1],"check":"oracle 7","expected":[[0,-3,3,-2],-2,1],"passed":false},{"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":false}],"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\": false}, {\"check\": \"oracle 2\", \"actual\": [[68, 12, -44], -44, 15], \"expected\": [[127, 127, 127], 127, 15], \"passed\": false}, {\"check\": \"oracle 3\", \"actual\": [[-64, -8], -8, 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\": false}, {\"check\": \"oracle 6\", \"actual\": [[-15, 6, -30, 19], 19, 15], \"expected\": [[21, 0, 36, -13], -13, 15], \"passed\": false}, {\"check\": \"oracle 7\", \"actual\": [[-8, -5, -11, -6], -6, 1], \"expected\": [[0, -3, 3, -2], -2, 1], \"passed\": false}, {\"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\": 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."}}