FA-10926 / Audio channel mixing / Open access
Channel solo versus mute · case 01
Solo state is ignored when selecting audible tracks.
ROOT CAUSE
Solo state is ignored when selecting audible tracks.
VERIFIED REPAIR
Apply the explicit PCM/playback contract: Mix equal-length tracks that are not muted and, when any solo set exists, are also soloed. Mute overrides solo.
Unsuccessful approach: Requiring explicit solo when none is set silences normal playback and ignores mute overrides.
Case contract
Mix equal-length tracks that are not muted and, when any solo set exists, are also soloed. Mute overrides solo.
Why this case matters
A pure Python local audio pipeline stage with explicit sample formats and frame conventions; no real-time device or signal-spectrum claims.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(tracks, solo, muted):
return [sum(track[i] for j,track in enumerate(tracks) if j not in muted) for i in range(len(tracks[0]))] if tracks else []
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([[1], [2], [4]], [1], [])),[2])
check('fixture 2',solve(*([[1], [2]], [], [])),[3])
check('fixture 3',solve(*([[1], [2]], [1], [1])),[0])
check('fixture 4',solve(*([], [], [])),[])
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| fixture 1 | [7] | [2] | Failed |
| fixture 2 | [3] | [3] | Passed |
| fixture 3 | [1] | [0] | Failed |
| fixture 4 | [] | [] | Passed |
SHA-256 / 45915cf5987655d644a9575bc36206b541299e69d5dc3672a91aacd6fe9faf05
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(tracks, solo, muted):
return [sum(track[i] for j,track in enumerate(tracks) if j in solo) for i in range(len(tracks[0]))] if tracks else []
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([[1], [2], [4]], [1], [])),[2])
check('fixture 2',solve(*([[1], [2]], [], [])),[3])
check('fixture 3',solve(*([[1], [2]], [1], [1])),[0])
check('fixture 4',solve(*([], [], [])),[])
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| fixture 1 | [2] | [2] | Passed |
| fixture 2 | [0] | [3] | Failed |
| fixture 3 | [2] | [0] | Failed |
| fixture 4 | [] | [] | Passed |
SHA-256 / cbf624fbc8bca9ae8226e5b1b3cb6b3afc9449ac5892d422ac9615290b1009cb
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
N = 1
observations = []
def solve(tracks, solo, muted):
return [sum(track[i] for j,track in enumerate(tracks) if j not in muted and (not solo or j in solo)) for i in range(len(tracks[0]))] if tracks else []
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
check('fixture 1',solve(*([[1], [2], [4]], [1], [])),[2])
check('fixture 2',solve(*([[1], [2]], [], [])),[3])
check('fixture 3',solve(*([[1], [2]], [1], [1])),[0])
check('fixture 4',solve(*([], [], [])),[])
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 fixture | Actual | Expected | Outcome |
|---|---|---|---|
| fixture 1 | [2] | [2] | Passed |
| fixture 2 | [3] | [3] | Passed |
| fixture 3 | [0] | [0] | Passed |
| fixture 4 | [] | [] | Passed |
SHA-256 / c0e65451744fa49ef8a20e39288ca8c925b160e6e4e1a0cabcd346e1f96c61d5
Verification & scope
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:38:43.469351+00:00.
Case digest / 95f65a88918c434251082e3a5a53e47d9ba07f51c78b646212d6c505fc27c67d