Repository navigation
Bind research source reads to original Git objects - #3615
Merged
Mister-Meeseeks merged 2 commits intoOct 20, 2026
Merged
Conversation
roger-sato
marked this pull request as ready for review
October 18, 2026 11:17
roger-sato
marked this pull request as draft
October 18, 2026 11:43
6 of 7 tasks
roger-sato
marked this pull request as ready for review
October 18, 2026 12:02
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
Local Git replacement refs can make the source readers return an original blob ID with a replacement's bytes. Scaffolding can then accept altered working bytes and record pins that fail in a clean checkout; an export can likewise contain replacement bytes under the original publication commit.
Set
GIT_NO_REPLACE_OBJECTS=1for the shared Git readers' subprocesses. Single reads, HEAD inventories, both batch protocols, scaffolding, metadata validation, publication-byte comparison and exports now read the stored objects. Six synthetic Git regressions cover blob and commit replacements, custom replacement namespaces, newline-path fallback, forged live pins and actual exported bytes/receipts. The parent environment and replacement refs are unchanged.The registered
research/isolated-descendant-bytecodeconsumer is also repaired: its helper row inSOURCES.jsonnow saysprovenance, matchingverify.py's existing use of the authenticated historical Git blob. The original base, blob and SHA256 are retained.VERIFY.json,TASK.json,verify.py,RESULT.jsonand all three registered commands are unchanged. The current helper remains a declared replay input and the unchanged third command exercises its bytecode isolation. The README records the correction and preserves Arham Tahir's source credit; no validator exception or regenerated historical evidence is introduced.Six source-role regressions cover the old failure versus corrected success, unchanged historical identities/evidence, corrupted blob/hash rejection, unrelated live-pin rejection, planner/publication coverage and deliberate live-isolation breakage rejected by the registered command. The same correction is included in both #3615 and #3635 so either can integrate first.
This is a
portable-replaysource/byte-binding repair, separate from the optional ancestry check. It does not establish mathematical correctness or a new selected result. Credit Nick Petalas's PR3304 for the preceding immutable-object ancestry policy, Douglas Colkitt for the shared runner/scaffold, and Tekalign for the exporter.Validation
Local macOS arm64, CPython 3.12.14. Final tested commit:
05a7fa8434062016d733c3d92c0a4c4a53e52cc5.OK (skipped=18); seven Linux/procand 11 native Windows tests are inapplicable on this host.PASS_REGISTERED_RESEARCH_PACKAGE.6f100d4bb5083f8c35d96fd95a539811c62f245cretained.git diff --check.python3.12 -B -m unittest discover -s tests -p 'test_research_*.py' -v python3.12 -B scripts/research_package.py --package research/isolated-descendant-bytecode python3.12 -B scripts/check_research_commit.py --package research/isolated-descendant-bytecode --check-source-history git diff --checkCanonical main was rechecked unchanged at
20ecf2891d80b5acf18d980b2164fb44ea7faa90, priority revision 6. The refreshed overlap inventory includes 344 open PRs, 2,964 closed PRs and 2,453 Discussion records, with complete pagination and no warnings. PR3304 left the shared readers unchanged; no equivalent correction was identified. This is not an exhaustive novelty claim.Prepared for roger-sato with substantial OpenAI Codex assistance in diagnosis, implementation, regression tests and writing. Apache-2.0. Same-session agent review is not independent human acceptance.