audit: full bug + architecture review (2026-05-30) - #123
Conversation
…P1, 39 arch findings 30-agent workflow (7 bug-hunt + 7 architecture dimensions) with independent adversarial verification on every candidate. Two themes worth fixing as units: staged-run lifecycle robustness (cancel/cleanup/terminalizers) and chain-of-custody integrity (parser drops, validator self-corruption, citation-relevance). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
slittycode
left a comment
There was a problem hiding this comment.
Verdict: APPROVE (posted as COMMENT — can't self-approve)
Summary
Adds audits/full-review-2026-05-30.md — a 485-line dated audit report landing in the canonical audits/ directory documented in CLAUDE.md. No code changes. The technical claims are consistently sourced with file:line references, the methodology is transparent (adversarial skeptic pass, two refuted findings documented), and the severity taxonomy is applied consistently. Spot-checked the five most falsifiable claims against the codebase description and CLAUDE.md contracts; all held.
Findings
Worth considering:
Bugs #3 and #6 describe the same defect at the same location (server.py:2008, missing try/except around _execute_interpretation_attempt setup) and recommend the same fix (wrap in try/except → fail_interpretation_attempt). The distinction drawn is trigger-reachability (artifact-resolution failure for #3 vs. any pre-Gemini exception for #6), but the gap being closed is identical. This inflates the confirmed count by one (14→13 if collapsed) and means the "5×P1 + 6×P2" breakdown in the PR description is slightly off. Harmless for a research document, but worth collapsing in any follow-on tracker so the fix list doesn't spawn two tickets that close the same line of code.
Everything else checks out — the severity downgrades (P1→P2 for #8, P2→P3 for #14), the "not-real" calls in §4 (both refutations are substantive, not hand-waving), and the cross-cutting theme grouping are all well-reasoned and internally consistent.
Test results
N/A — markdown only.
Phase boundary check
Clean. The document describes potential phase boundary violations in the existing codebase (notably Bug #2, dropped reverb/vocal subfields breaking the citation allowlist) but does not itself introduce any code that crosses a phase boundary.
Generated by Claude Code
Summary
audits/full-review-2026-05-30.md) under the existing dated-audit convention.What it flags (themes worth fixing as units)
measurementstage but never extended to its peers, so pitch-note + MT3 orphan multi-GB subprocesses on cancel and interpretation can strand inrunningforever (feat: value-first backport — genre profiles, MixDoctor, broken-pipe fixes #1, Preserve signal monitor playback during analysis and harden run flow #3, [codex] Prepare hosted runtime foundation #6, [codex] Stabilize backend CI subprocess assertions #7).normalizeKeyself-corruptsmajor→majororand fires a false contradiction ERROR (Codex/backend upload hardening #11),extractBPMFromTextonly checks the first match (#3q #14), and the citation check validates existence-not-relevance.monitorAnalysisRunhas no wall-clock timeout (fix: chunk Demucs inference and stop boot-time memory spikes #4), retry handlers swallow failures into unhandled rejections (Codex/mix chain order guidance #10).truePeakrounded to 1 decimal silently hides inter-sample overs (Harden backend uploads, add integration tests, remove dead fields #8); PLR subtracts dB LUFS from linear true-peak amplitude (Add harmony and structure lanes with backend upload hardening #9).Where it fits
The
audits/directory is the canonical home for dated review/audit reports (nightly-2026-05-19.md,phase2-recommendation-surface-2026-05-24.md, etc.). This is past-tense; not consumed by either app, not on the request path.Test plan
🤖 Generated with Claude Code