Skip to content

Freeze the selected record as provenance in 138 more replay checks (no new κ) - #5417

Merged
Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
jwr404:provenance-selected-record-2
Oct 24, 2026
Merged

Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
jwr404:provenance-selected-record-2

Conversation

@jwr404

@jwr404 jwr404 commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

What changes

This follows up #5410. It fixes 138 more of my research packages whose replays fail on main because a frontier file changed under them. #5410's search missed them: their TASK.json author field is jwr, and their verifiers use different code patterns.

136 packages pinned certificates/selected-result.json as a live input. In each:

  • SOURCES.json: that one row changes from "usage": "input" to "usage": "provenance". The blob and SHA256 stay the same.
  • verify.py:
    • The hard-coded live hash check of the record is removed.
    • The record is dropped from the expected live-input inventory.
    • The live json.loads(...selected-result.json...) is replaced by the pinned record's value, {"kappa": "836330098538459/500000000000000000"}. All 136 pin the same blob, b1fea0c9. Some packages use κ in their arithmetic (e.g. saving = kappa / (1 - kappa), "above the selected kappa"), so freezing it rather than deleting the read leaves every downstream check unchanged.
  • VERIFY.json still lists the record in inputs, so a frontier change still triggers these replays, and they now pass.

2 packages needed small manual changes:

  • rank7-v45-margin: both the record and docs/research/research-family-status.md were live inputs. Both become provenance, and their live checks are dropped.
  • selected-record-parse-cache: the record stays the experiment's payload. Its one-digit mutation no longer hard-codes the old decimal. The README sentence is updated.

RESULT.json files, results and all other pins are unchanged.

Why

The research package guide says: "The original card and selected record are historical provenance in Git, so future priority changes do not invalidate a package." scripts/research_package.py checks provenance rows at base_commit through Git.

Validation

All 138 packages were run on this branch (main d277c97 + 2 commits), with CPython 3.12:

  • python3 -B scripts/check_research_commit.py --package P: 138/138 PASS_RESEARCH_COMMIT_BYTES.
  • python3.12 -B scripts/research_package.py --package P (full registered replay, including test_verify.py): 138/138 pass. Before this change, all 138 failed with working source drift.

Not included

  • 3 of my packages are still blocked upstream: selected-odd-prime-unit-root, selected-unit-root-tape-boundary and selected-unit-weight-reversal. They run the vendored loader of research/physical-ordinary-interchange, which is another author's package. That loader validates the live selected record, and that package's own replay fails on main for the same reason. They need that package fixed first, so I left them unchanged here.
  • 8 of my archive and intake-audit packages pin live ledger or status files (pr-ledger, pr-intake-decisions, current-status, research-family-status, CONTRIBUTORS.md). Their checks quote those files' contents, so I will review each one separately in a follow-up.
  • About 21 other authors' packages show the same live-κ pattern. They are not touched.

This is replay maintenance only. No κ, frontier or mathematical claim changes.

🤖 Generated with Claude Code

jwr404 and others added 2 commits October 23, 2026 20:13
rank7-v45-margin and selected-record-parse-cache were missed by CrocSwap#5410
because their TASK.json author field is "jwr". Both pinned the selected
record (and rank7 the family-status page) as live inputs, so every frontier
change broke them. The pins become provenance, checked at base_commit by
scripts/research_package.py. The parse-cache payload is still the live
record; its one-digit mutation no longer hard-codes the old decimal.
Results are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
These verifiers pinned certificates/selected-result.json as a live input,
so every frontier change broke them. Each SOURCES.json row becomes
provenance (checked at base_commit by scripts/research_package.py), the
stale live hash checks are removed, and each live read is replaced by the
pinned record's value, so every downstream check is unchanged. Results are
unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Mister-Meeseeks
Mister-Meeseeks merged commit f76b55e into CrocSwap:main Oct 24, 2026
139 of 140 checks passed
Mister-Meeseeks pushed a commit that referenced this pull request Oct 24, 2026
…rd (no scientific change)

The frozen PR2809 loader inside inputs/pr2809.tar authenticates certificates/selected-result.json against the record pinned at this package's base, so every frontier promotion broke the replay (working source drift, flagged in #5417). Vendor those exact bytes (blob b1fea0c, sha256 bb2eaa58...) as inputs/selected-result-pinned.json and let source.py serve them to the loader from a private repository view; every other declared input is copied unchanged and still authenticated. SOURCES.json marks the selected record as provenance and VERIFY.json drops it from the live inputs. Archives, checkers and RESULT.json are unchanged; all eight registered commands reproduce the stored receipt digests.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants