fix(analysis): score C major acceptance from decoded WAV bytes - #892
Draft
cursor[bot] wants to merge 78 commits into
Draft
fix(analysis): score C major acceptance from decoded WAV bytes#892cursor[bot] wants to merge 78 commits into
cursor[bot] wants to merge 78 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:
304684a7422288cbe5d32bce1e59cd17a08eb16b.Branch remains Draft. Do not mix #884 Stem Lab, #783 dependency remediation, #861 Python branch-coverage authority, #866 audio-resource policy authority, or #894 protected-base checkout-credential lifecycle work 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.The branch later advanced seven descendant commits from
77b7cb88af1be9a7857d1aca86900c3a2dcc9219to current304684a7422288cbe5d32bce1e59cd17a08eb16bwithout divergence. That delta remains within the same accuracy-fixture/test/doctoring ownership surface; no predecessor check is transferred to the new head.Exact-current-head verification
Fresh repository workflows are bound to exact head
304684a7422288cbe5d32bce1e59cd17a08eb16band merge tree89993b83c1a0ffb44cce7143914818921c16b13aagainst protecteddevelop@acdbea6344fe1231c39535b575f4de35e4c607c9.Terminal-success on this unchanged head:
ci31987016893,release31987016812,build-baseline31987016868,sbom31987016836,bandit31987016717,SAST Semgrep31987016823, andsecret-scan-gate31987016723.Exact
ci / build-and-testjob95263670237proves desktop194/194and shared-types20/20with statement/branch/function/line coverage all at 100%; Python reports757 passed / 1 skippedand3254/3254production statements at 100%, includingaccuracy/fixtures.py85/85. Public Python docstring checks D100–D107, Ruff, mypy, Bandit, documentation/security/supply-chain gates, native Rust numeric build, 23 numeric-parity tests, and frontend production build all pass. Current protected Python tooling is statement-only; #861 remains the canonical Python branch-measurement owner, so Python branch 100% is not inferred from this evidence.There are currently no formal PR reviews and no inline review threads on this exact head. Absence of findings is not approval.
Security / dependency classification
The two exact-current-head repository security failures were inspected at job/log level before classification:
security-auditrun31987016861, job95263670060, checks out merge tree89993b83...and fails first atnpm audit --workspaces --audit-level=highon protected-basenanoid <3.3.18,pdfjs-dist >=5.6.83 <6.2.108, andundici 7.0.0–7.28.0; later Python/Rust audit stages are skipped and are not success. The inherited workflow checkout also showspersist-credentials: true; that protected-base workflow authority is fix(security): drop persisted credentials before dependency lifecycle code #894-owned rather than a reason for an accuracy-lane workaround.Security Scanrun31987016778has successful Dependency Review, OSV base-vs-head, and Scorecard jobs. Its only failed job is Trivy95263671871, which scans successfully and then reports exactly one HIGH finding:CVE-2026-16633for protected-basepdfjs-distatpackage-lock.json:6370, directing 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.
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 where the configured tooling exposes it 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/revalidated, #894 inherited where its workflow authority applies, and then-current central required-workflow prerequisites inherited; a qualifying independent non-author last-push approval; and ordinary branch-protection acceptance. Current read-only central prerequisite lanes include
.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.