Repository navigation
CI repair: refresh the single-intersection spectrum audit pin after #778 (tests job red on main) - #1752
Conversation
…rocSwap#778 The spectrum audit (CrocSwap#812) pins scripts/experiments/single_intersection.py by whole-file SHA-256 at its pre-CrocSwap#778 digest. CrocSwap#778 (f015b04) rewrote only minor_rows, which the audit never calls (it imports spectral_parity_bound, byte-identical), and the old and new minor_rows agree on all 41 audit cases. With the pin bypassed, a fresh certificate equals the committed RESULT.json in every field. Refresh the pin in SOURCE.json and regenerate RESULT.json with the audit's own --write (one line). This makes the `tests` group of Verify research artifacts pass again on main.
|
Thanks for the thorough root-causing. For completeness, two more stale pins on main
Neither file has changed since These groups ran on a fork push of an unrelated PR that only adds a new directory: clones log, research log. The same push also reproduced the three failures you list ( I only compared digests and have not checked whether these two need an equivalence argument like the one in this PR. The commit title claims identical receipts, but that is unverified here. No changes proposed; this is just so the repair list is complete. Posted from a Claude Code session (Claude Opus 5.5) donated by the account holder. |
|
Batch review at Merged to Reviewed scope: Two source-pin updates repair the spectrum audit after PR778. The consumed spectral function is unchanged, and an independent comparison reproduces identical packed minor rows for all41 audit cases; the complete 41-case audit and all ten targeted regression tests pass. No mathematical certificate fields change beyond the source pin. The pinned scoped command passed; the batch ledger contains its command, input hashes, environment and log. This incorporates the research/tooling contribution and does not change the selected κ or discharge the inherited multiplication-theorem assumptions. Batch review, attribution and evidence. Thank you for the contribution. |
CI repair. No research claim and no κ change. This is a two-line refresh of one stale source pin. It makes the
testsgroup of Verify research artifacts pass again on main, and so on every open PR.The failure (on unmodified main
0b1cccf8)make verify-testsfails intests/test_single_intersection_spectrum_audit.py, with 1 failure and 1 error:verify.ymlruns this group on every push and pull request, so every PR based on current main showsverify (3.11|3.13|3.14, tests)as failing, whatever it changes. To reproduce on main:Root cause
research/single-intersection-spectrum-auditcomes from Research audit: literal binary spectra and moment-preserving corruption control (no new kappa) #812 (ljste), integrated in3b83e4f1. It was built at base66849e14.SOURCE.jsonpinsscripts/experiments/single_intersection.pyby whole-file SHA-256 at08ddae46…, the pre-Tooling: 2.09x faster exact single-intersection Gram replay #778 version.source_pins()rejects any other digest.f015b04cand rewrote that file. The new digest is6874d41b….SOURCE.jsonalready names Tooling: 2.09x faster exact single-intersection Gram replay #778 (headf015b04c) as an overlapping PR. Nobody refreshed the pin when it merged.Why refreshing the pin is sound (the audit's evidence is unchanged)
git diff 66849e14 f015b04c -- scripts/experiments/single_intersection.pyis a single hunk inminor_rows. It packs the symmetric matrix into byte buffers instead of repeated big-int sums. The audit imports onlyspectral_parity_boundfrom this file, and that function is byte-identical.minor_rowsis behaviour-preserving anyway. Old (08ddae46) and new (6874d41b)minor_rowsreturn identical row lists for all 41 (h, k, j) cases of the audit's domain: 4 ≤ h ≤ 10, 2 ≤ k ≤ min(4, ⌊h/2⌋), 0 ≤ j < k.RESULT.jsonin every field. That covers 41 cases, 21 strict rank gaps, the characteristic polynomials, the controls andimplementation_sha256. After the refresh,spectrum_audit.py --writechanges exactly one line ofRESULT.json: the same pin.The diff is exactly two lines, replacing
08ddae46…with6874d41b…:research/single-intersection-spectrum-audit/SOURCE.json:source_sha256["scripts/experiments/single_intersection.py"];research/single-intersection-spectrum-audit/RESULT.json: the same key, as regenerated by the audit's own--write.Checks run
python3 -B research/single-intersection-spectrum-audit/spectrum_audit.pygivesPASS_LITERAL_BINARY_SPECTRAL_AUDIT, with 41 cases.python3 -B -m unittest tests.test_single_intersection_spectrum_auditgives 10 tests, OK.make verify-tests(the full CI group) passes, andgit diff --exit-codeis then clean apart from the two intended lines.Point 2 can be checked in a few seconds:
What this PR deliberately does not touch (maintainer-signed evidence)
frontier890 coverage.
research/community-frontier890-audit/CONTENT-COVERAGE.jsonrecordsintegrated_sha256for these two files:RESULT.json9cb2210e…andSOURCE.json610fb988….scripts/verify_pr_reconciliation.pyre-checks those digests against the live files. So after this PR, the frontier890 row for Research audit: literal binary spectra and moment-preserving corruption control (no new kappa) #812 needs re-signing. That record is in turn bound bydocs/research/community-frontier890-integration.jsonand several efficient300/500 check receipts. I did not rewrite maintainer-signed records.The check is masked on main today:
verify_pr_reconciliation.pyalready stops earlier, at the staleMakefilepin below.Two other stale pins on main. Both are path-filtered workflows, so they don't run on ordinary PRs. They are listed only for completeness and are not changed here:
research/community-reconciliation92-audit/MANIFEST.jsonpinsMakefileatea8830dd…. It has drifted since the 2026-10-14 integration commits (14c101c9onward), andcommunity-reconciliation92-audit/verify.pyfails with "Changed integrated source: Makefile".research/r420-two-sided-basis/SOURCES.jsonpinscertificates/selected-result.json. It has drifted since0a31ad88(batch1099 checkpoint 1), and its verifier rejects with "source pin: certificates/selected-result.json".The preserved-research manifest.
docs/research/preserved-research-manifest.jsonkeepsoriginal_sha256 = 08ddae46…. That is a historical "original" record, so it is correct as is.Credit: the audit is ljste's (#812) and the speed-up is merramil's (#778). This PR only re-pins.
Disclosure
Prepared by Sagar Thakrar (thakrarsagar) with substantial AI assistance from Claude (Anthropic) via Claude Code. Apache-2.0.