Protect and reproduce frozen research evidence - #8
Open
abrahamabel wants to merge 1 commit into
Open
abrahamabel wants to merge 1 commit into
abrahamabel wants to merge 1 commit into
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
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.
Reproducing a completed experiment previously defaulted to overwriting its retained result, and repository checks allowed a completed claim without runnable evidence or references. This change adds a safe reproduction command that verifies frozen inputs, runs each registered experiment through
--stdout, and compares every deterministic JSON field with precise mismatch paths. Optional fresh outputs must be outside the repository and cannot overwrite existing files.The registry records the unchanged canonical engine as
canonical-gng-v1and hashes all completed experiment files. Validation now connects completed manifests to registered evidence, checks references and predecessor IDs, and catches changed or unregistered frozen files. CI runs the complete registered experiments; CODEOWNERS routes evidence and lab changes to maintainers. The roadmap records the capacity-controlled successor and later evidence gates.Related issue: #7 (preparation only; the new experiment follows in a separate PR).
Validation
python3 scripts/validate_repository.py— passed.python3 -m unittest discover -s tests -p 'test_*.py'— 43 tests passed.python3 scripts/reproduce_experiments.py— both complete historical experiments matched every deterministic field; only declared environment/timing/allocation fields were excluded.git diff --check— passed.src/atmai_gng/gng.pyare byte-identical to the base revision.Boundaries
No new algorithm is promoted. The historical reference's parameter/numerical limitations remain unchanged and require a separately evidenced successor. Exact comparisons may expose Python/platform differences; those are failures to investigate, not silently tolerated deviations. Updating a registry hash does not justify rewriting a completed claim.
Repository-owned MIT code and synthetic evidence only; no third-party implementation code or external datasets introduced. Maintainer/code-owner review remains the merge gate.
Note
Medium Risk
CI now executes full scientific experiments with strict byte-exact checks; platform/Python drift can fail builds, and the registry becomes the gate for any change to completed evidence or the canonical engine path.
Overview
Adds a frozen evidence pipeline so completed experiments can be re-run without overwriting retained results. Root
reproducibility.jsonregisters both completed labs, SHA-256 hashes for every frozen file, thecanonical-gng-v1engine, and per-experiment JSON paths to ignore (host/timing only).scripts/reproduce_experiments.pyverifies hashes before and after execution, runs each entrypoint withpython -B … --stdout, and compares fresh JSON to retained artifacts with exact, pointer-level diffs (no float tolerance). Optional--output-dirmust live outside the repo and cannot overwrite existing files.validate_repository.pynow ties complete manifests to the registry (EXP016), validates reference URLs and predecessor IDs, and surfaces registry/hash problems (REPRO001/REPRO002). CI runs the full reproduction step and bumps the job timeout to 20 minutes. CODEOWNERS coversreproducibility.json,labs/, and related docs; README,docs/reproduction.md, anddocs/roadmap.mddocument usage and the issue #7 successor gates.Unit tests cover reproduction safety, comparison semantics, and the new validation rules. Historical experiment bytes and
src/atmai_gng/gng.pyare unchanged in this PR.Reviewed by Cursor Bugbot for commit c573947. Bugbot is set up for automated code reviews on this repo. Configure here.