fix(analysis): score C major acceptance from decoded WAV bytes - #892
Draft
cursor[bot] wants to merge 72 commits into
Draft
fix(analysis): score C major acceptance from decoded WAV bytes#892cursor[bot] wants to merge 72 commits into
cursor[bot] wants to merge 72 commits into
Conversation
Prove a decoded C major WAV recovers C and a 120 BPM click WAV passes tempo Acc1, with checksum-fail-closed case reports. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
The headline Tier 1 case wrote a fixture then scored the pre-write array. Checksum the file, decode those bytes, and fail closed through both file evaluators so a tampered WAV cannot pass. Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Tier 1 real-audio acceptance writes license-clean C-major and 120 BPM click WAVs, verifies and decodes the on-disk bytes, then scores the production
ChordRecognizer/TemporalAnalyzer. The branch fail-closes malformed metric, timing, fixture-generation, decoded-PCM, digest, and report-provenance evidence instead of allowing Python coercions or derived numeric overflow to become buyer-facing accuracy evidence.Protected base:
develop@acdbea6344fe1231c39535b575f4de35e4c607c9.Exact current head:
77b7cb88af1be9a7857d1aca86900c3a2dcc9219.Branch remains Draft. Do not mix #884 Stem Lab, #783 dependency remediation, #861 Python branch-coverage authority, or #866 audio-resource policy authority onto this branch.
Current test-first repairs
VERSIONprovenance.Derived fixture timing authority — RED → GREEN
Exact-current-code inspection found two distinct failure modes that raw-input validation did not cover.
duration_seconds=1e308could overflowduration_seconds * sample_ratebefore allocation. A tiny positive BPM could likewise make60 / bpmnon-finite and break loop timing.b44af346648e8a331a6774c99c72ccbcdf477c52reproduced three exact failures asOverflowErrorin release run31983981110, job95255654864.bec94965f00945601d2da4e54bd80d64bf2cc46eadded one derived sample-count boundary and finite beat-interval admission.d2625a7b16187d18d02214132128abef28a08f47failed exactly two new cases in release run31984374899, job95256679147(2 failed, 730 passed, 24 skipped).c1baa4718b50102f7d96c5afe7a9c3c873f45727requires the derived sample count to be finite and at least one sample.Exact
c1baa4718b50102f7d96c5afe7a9c3c873f45727native CI job95257131722is GREEN: desktop194/194with 100% statements/branches/functions/lines, shared-types20/20with 100% on all four metrics, Python755 passed / 1 skippedwith3249/3249statements at 100%, all 23 numeric-parity tests executed, public docstrings D100–D107, Ruff, mypy, Bandit, docs/security/supply-chain checks, Rust numeric build, and frontend production build all passed. This is predecessor code evidence only; it is not transferred to the current docs-updated head.Current head
77b7cb88af1be9a7857d1aca86900c3a2dcc9219adds only the matching doctoring and CHANGELOG contract after that code evidence. At the latest refresh GitHub had not yet emitted PR workflow runs for this exact head, so no final-head check is counted as success yet.Security / dependency classification
The exact code head
c1baa4718b50102f7d96c5afe7a9c3c873f45727was inspected at failed-job/log level before classification:security-auditrun31984544591fails at npm audit on protected-basenanoid <3.3.18,pdfjs-dist >=5.6.83 <6.2.108, andundici 7.0.0–7.28.0; downstream Python/Rust audit stages are skipped and are not success.31984544672has successful OSV base-vs-head, Dependency Review, and Scorecard. Its only failed job is Trivy95257132315, which reportsCVE-2026-16633HIGH forpdfjs-distatpackage-lock.json:6370and explicitly directs remediation to the shared base.This branch has no JavaScript dependency/root-lock or vulnerability-suppression delta. These are canonical #783-owned inherited protected-base findings; they are not suppressed, duplicated, or counted as success. The current head must still receive its own exact-head security evidence before any merge classification.
Security / evidence boundary
Untrusted inputs include on-disk WAV bytes, decoded buffer structure and sample-rate evidence, recognizer intervals, tempo values, fixture numeric inputs and derived timing, digests, report-builder inputs, and parsed report mappings. Mitigations include checksum-before-score, finite/non-Boolean numeric admission, finite ≥1 derived sample-count admission, finite beat-interval admission, one-dimensional mono PCM admission, overlap-safe recall, strict digest/report provenance, no network or shell authority, and license-clean deterministic fixtures. APA 7 MIR references and the bounded claim remain recorded in
docs/doctoring/real-audio-accuracy-acceptance.md.Dependency / merge gate
Keep Draft and unmerged until the unchanged then-current head has realistic focused/full tests GREEN; exact 100% owned production statement and branch coverage plus other exposed metrics; public docstring evidence; all applicable repository/central SAST/security/SBOM/supply-chain/package/release gates terminal-success; zero valid unresolved findings; #783 and #861 integrated and the then-current central required-workflow prerequisite inherited; a qualifying independent non-author last-push approval; and ordinary branch-protection acceptance. Current central read-only prerequisites are
.github#939and.github#1020; historical #1008 is closed unmerged and transfers no evidence. Never count queued, cancelled, skipped-required, failed, predecessor-head, protected-base, model-only, self/author, or bypass evidence as success.