Skip to content

Bind shared Git source and publication reads to the requested repository - #5102

Merged
Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
JoyboyBrian:brian/r9-git-repository-root-binding
Oct 23, 2026
Merged

Mister-Meeseeks merged 2 commits into
CrocSwap:mainfrom
JoyboyBrian:brian/r9-git-repository-root-binding

Conversation

@JoyboyBrian

@JoyboyBrian JoyboyBrian commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

Archived version and separate fixture correction

This PR was archived at 1f477eda068420788b5b36ef682bc588317d1400 (two commits). Its first hosted plan job had eight fixture failures. The later fixture correction was not included in this merge and is submitted separately as PR #5123, head 95f875490c9d8d198ac594991962c4b2ebc8e017.

The separate correction adds the standalone fixture helper and restores the exact historical checker only inside disposable source-role fixtures. All37 affected tests pass normal/optimized, and37 optimized tests pass on fresh20a1. PR5123 hosted plan now passes; two historical replay jobs fail at inherited source-pin checks, independently reproduced against exact parent20a1 bytes. No frozen package or pin is changed.

This PR introduces a real historical-package source-drift rejection: research/isolated-descendant-bytecode --check-only now rejects scripts/check_research_commit.py, which remains a pinned input. Expected SHA256 ecf206a82bf1f4e748efb6cc639919582050d173b3537ec12f7265a4f7b55ead; current SHA256 28fed1e156fe8601633ed453f682a158cb15e94981e6c89ed96ae72ffc9d0c6f. This is not a pre-existing failure and is not suppressed by the fixture correction. No green historical scientific replay is claimed.

An inherited GIT_DIR could make the publication checker compare one checkout's working bytes with another repository's HEAD. A dirty checker then passed if those bytes matched the foreign publication; export also selected the foreign commit. Bind the shared Git source/publication subprocesses to the repository discovered from their explicit working directory.

The policy reuses the existing package-local approach in research/t74-2530-source-partner-audit/audit_common.py. It removes inherited repository/index/object-directory selection and command-line configuration injections while retaining the existing replacement-ref guard. The history helper and local overlap inventory use the same policy. Actual linked worktrees still work; parent and package-verifier environments remain unchanged. No frozen sources, source pins, selected metadata or mathematical claims change.

Validation on macOS/Darwin27.0 arm64, CPython3.12.7, Git2.44.0:

  • Eight new real-Git methods fail against the original code and pass after the fix. They cover dirty-publication and foreign-pin rejection; exact exported commit/payload; history; shared readers/scaffolding; HEAD/planner/overlap inventories; a real linked worktree; inherited selection channels; and unchanged parent/verifier environments.
  • All143 targeted compatibility methods pass under normal and optimized Python, with no platform skips: Git readers/replacements/deadlines/spelling, source history, committed-byte checks, exporters, overlap CLI and sparse/plan checks. Normal was132+11 methods; optimized was143 together.
  • A nine-file archive from exact committed bytes passes24 tests in each mode from a read-only directory without .git. All exported bytes remain unchanged. Git is still available for the tests' disposable repository fixtures; this is not Git-absent execution. Restoring the old Git environment helper in a disposable copy makes the optimized dirty-publication regression fail again.

The shared-tooling change has no registered research-package manifest, so the package exporter is inapplicable; the handoff records a git archive closure with every file checked against its committed blob. Native Windows was not executed, nor were scientific packages or the whole archive replayed. The existing isolated-runner-successor stale selected-result pin remains outside scope and is not repinned or suppressed.

Policy, evidence, caller inventory and open questions. Canonical claim.

Prepared by JoyboyBrian with substantial OpenAI Codex assistance; Apache-2.0. Retains Douglas Colkitt's shared runner/scaffold, Tekalign's exporter, Nick Petalas's PR3304 history checks, roger-sato's stored-object policy, and the PR2530 package-local environment-isolation prior art. This is a publication correctness repair, not a new scientific result or kappa.

Submission checkpoint: canonical main81e9bd69e4a5b00ba9c713a1620e36d576d5522e and governing guidance unchanged. Complete09:25–09:26UTC coverage:320openPRs,4233Discussionrecords,6824localHEADnotes. Claims are advisory; unpublished work is outside that coverage.

@Mister-Meeseeks
Mister-Meeseeks merged commit bf5519a into CrocSwap:main Oct 23, 2026
1 of 2 checks passed
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