FAILURE MAP
← Case archive

FA-48941 / PCM sample encoding / Open access

Sign magnitude pcm: magnitude field · case 01

Sign bit is included in magnitude.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

Sign bit is included in magnitude.

VERIFIED REPAIR

Use the stated conversion contract at magnitude field.

Unsuccessful approach: Shifting assumes a low-order sign bit and drops amplitude precision.

Case contract

Decode sign-magnitude PCM with configurable physical sign-bit polarity and preserve numerical negative zero as a Boolean sideband.

Why this case matters

Offline PCM interchange uses these exact bounded packet and sample representation decisions.

1 / The failure

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(codes, width, invert_sign):
    mask=(1<<(width-1))-1
    sign=1<<(width-1)
    values=[]
    zeros=[]
    for code in codes:
        magnitude=code
        negative=bool(code&sign)^invert_sign
        values.append(-magnitude if negative else magnitude)
        zeros.append(bool(negative and magnitude==0))
    return [values,zeros]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([0, 1, 7, 8, 9, 15], 4, False)), [[0, 1, 7, 0, -1, -7], [False, False, False, True, False, False]])
check('oracle 2', solve(*([0, 8, 1, 9], 4, True)), [[0, 0, -1, 1], [True, False, False, False]])
check('oracle 3', solve(*([], 4, False)), [[], []])
check('oracle 4', solve(*([0, 3, 4, 7], 3, False)), [[0, 3, 0, -3], [False, False, True, False]])
check('oracle 5', solve(*([0, 128, 255, 127], 8, False)), [[0, 0, -127, 127], [False, True, False, False]])
check('oracle 6', solve(*([1, 2, 3], 4, True)), [[-1, -2, -3], [False, False, False]])
check('oracle 7', solve(*([0, 4], 3, True)), [[0, 0], [True, False]])
if N == 1: check('variant packet 1', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 2: check('variant packet 2', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 3: check('variant packet 3', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 4: check('variant packet 4', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 5: check('variant packet 5', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
oracle 1[[0, 1, 7, -8, -9, -15], [False, False, False, False, False, False]][[0, 1, 7, 0, -1, -7], [False, False, False, True, False, False]]Failed
oracle 2[[0, 8, -1, 9], [True, False, False, False]][[0, 0, -1, 1], [True, False, False, False]]Failed
oracle 3[[], []][[], []]Passed
oracle 4[[0, 3, -4, -7], [False, False, False, False]][[0, 3, 0, -3], [False, False, True, False]]Failed
oracle 5[[0, -128, -255, 127], [False, False, False, False]][[0, 0, -127, 127], [False, True, False, False]]Failed
oracle 6[[-1, -2, -3], [False, False, False]][[-1, -2, -3], [False, False, False]]Passed
oracle 7[[0, 4], [True, False]][[0, 0], [True, False]]Failed
variant packet 1[[0, 1, 7, -8, -9, -15, 0, 1, 7, -8, -9, -15], [False, False, False, False, False, False, False, False, False, False, False, False]][[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False]]Failed

SHA-256 / b827abb10b63916cf570f9724800fb8977464255c101996b9d102c396554547a

2 / The unsuccessful fix

Exit 1
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(codes, width, invert_sign):
    mask=(1<<(width-1))-1
    sign=1<<(width-1)
    values=[]
    zeros=[]
    for code in codes:
        magnitude=code>>1
        negative=bool(code&sign)^invert_sign
        values.append(-magnitude if negative else magnitude)
        zeros.append(bool(negative and magnitude==0))
    return [values,zeros]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([0, 1, 7, 8, 9, 15], 4, False)), [[0, 1, 7, 0, -1, -7], [False, False, False, True, False, False]])
check('oracle 2', solve(*([0, 8, 1, 9], 4, True)), [[0, 0, -1, 1], [True, False, False, False]])
check('oracle 3', solve(*([], 4, False)), [[], []])
check('oracle 4', solve(*([0, 3, 4, 7], 3, False)), [[0, 3, 0, -3], [False, False, True, False]])
check('oracle 5', solve(*([0, 128, 255, 127], 8, False)), [[0, 0, -127, 127], [False, True, False, False]])
check('oracle 6', solve(*([1, 2, 3], 4, True)), [[-1, -2, -3], [False, False, False]])
check('oracle 7', solve(*([0, 4], 3, True)), [[0, 0], [True, False]])
if N == 1: check('variant packet 1', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 2: check('variant packet 2', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 3: check('variant packet 3', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 4: check('variant packet 4', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 5: check('variant packet 5', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
oracle 1[[0, 0, 3, -4, -4, -7], [False, False, False, False, False, False]][[0, 1, 7, 0, -1, -7], [False, False, False, True, False, False]]Failed
oracle 2[[0, 4, 0, 4], [True, False, True, False]][[0, 0, -1, 1], [True, False, False, False]]Failed
oracle 3[[], []][[], []]Passed
oracle 4[[0, 1, -2, -3], [False, False, False, False]][[0, 3, 0, -3], [False, False, True, False]]Failed
oracle 5[[0, -64, -127, 63], [False, False, False, False]][[0, 0, -127, 127], [False, True, False, False]]Failed
oracle 6[[0, -1, -1], [True, False, False]][[-1, -2, -3], [False, False, False]]Failed
oracle 7[[0, 2], [True, False]][[0, 0], [True, False]]Failed
variant packet 1[[0, 0, 3, -4, -4, -7, 0, 0, 3, -4, -4, -7], [False, False, False, False, False, False, False, False, False, False, False, False]][[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False]]Failed

SHA-256 / 62c2992732cada78e4747ddbd53f24527e835a6df9f2981c50f28b6b8340a8e2

3 / The verified repair

Exit 0
"""Failure Map reference implementation. Python standard library only."""
import json

N = 1
observations = []
def solve(codes, width, invert_sign):
    mask=(1<<(width-1))-1
    sign=1<<(width-1)
    values=[]
    zeros=[]
    for code in codes:
        magnitude=code&mask
        negative=bool(code&sign)^invert_sign
        values.append(-magnitude if negative else magnitude)
        zeros.append(bool(negative and magnitude==0))
    return [values,zeros]
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('oracle 1', solve(*([0, 1, 7, 8, 9, 15], 4, False)), [[0, 1, 7, 0, -1, -7], [False, False, False, True, False, False]])
check('oracle 2', solve(*([0, 8, 1, 9], 4, True)), [[0, 0, -1, 1], [True, False, False, False]])
check('oracle 3', solve(*([], 4, False)), [[], []])
check('oracle 4', solve(*([0, 3, 4, 7], 3, False)), [[0, 3, 0, -3], [False, False, True, False]])
check('oracle 5', solve(*([0, 128, 255, 127], 8, False)), [[0, 0, -127, 127], [False, True, False, False]])
check('oracle 6', solve(*([1, 2, 3], 4, True)), [[-1, -2, -3], [False, False, False]])
check('oracle 7', solve(*([0, 4], 3, True)), [[0, 0], [True, False]])
if N == 1: check('variant packet 1', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 2: check('variant packet 2', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 3: check('variant packet 3', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 4: check('variant packet 4', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
if N == 5: check('variant packet 5', solve(*[[0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15, 0, 1, 7, 8, 9, 15], 4, False]), [[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False, False, False, False, True, False, False]])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
Boundary fixtureActualExpectedOutcome
oracle 1[[0, 1, 7, 0, -1, -7], [False, False, False, True, False, False]][[0, 1, 7, 0, -1, -7], [False, False, False, True, False, False]]Passed
oracle 2[[0, 0, -1, 1], [True, False, False, False]][[0, 0, -1, 1], [True, False, False, False]]Passed
oracle 3[[], []][[], []]Passed
oracle 4[[0, 3, 0, -3], [False, False, True, False]][[0, 3, 0, -3], [False, False, True, False]]Passed
oracle 5[[0, 0, -127, 127], [False, True, False, False]][[0, 0, -127, 127], [False, True, False, False]]Passed
oracle 6[[-1, -2, -3], [False, False, False]][[-1, -2, -3], [False, False, False]]Passed
oracle 7[[0, 0], [True, False]][[0, 0], [True, False]]Passed
variant packet 1[[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False]][[0, 1, 7, 0, -1, -7, 0, 1, 7, 0, -1, -7], [False, False, False, True, False, False, False, False, False, True, False, False]]Passed

SHA-256 / a33c066e7eed7956b343ff7323fac4d926c00b17f09c5e607cc2355dfb5d0dd7

Verification & scope

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.

Observations recorded using Python 3.12.14 at 2026-09-29T14:44:55.305925+00:00.

Case digest / bc91cb96083638b7d9ccc0031ea89854832cdcdf073992f873d606098e4f96c7