Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions docs/research/git-repository-root-binding.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,32 @@ directory, including an ordinary linked worktree's `.git` file. Existing
stored-object checks still disable replacement refs. Parent-process and
package-verifier environments are unchanged.

## Hosted validation limitation

PR #5102 introduces working-source drift for the frozen
`research/isolated-descendant-bytecode` package: its `SOURCES.json` still pins
`scripts/check_research_commit.py` as an input, while this change updates that
checker. The current package's `--check-only` therefore rejects with
`working source drift: scripts/check_research_commit.py`. This is introduced
by this PR, not a pre-existing failure. Its frozen package, pins and replay
policy remain unchanged; this tooling repair does not establish a green
historical scientific replay.

The first hosted plan run (39932040857, job120342425789) reported eight test
failures. One standalone cp1252 overlap fixture omitted the new shared-helper
dependency; it now copies that dependency. Seven source-role assertions were
masked by the unrelated checker drift. Their disposable fixture now restores
the exact manifest-pinned checker blob, so they continue to test the intended
`research_package.py` and source-history-test role transitions, including
corrupt pins and unrelated input drift. This test setup correction does not
change the actual frozen package's rejection described above.

The affected 37 tests pass under normal and optimized Python after this fixture
follow-up (10 descendant-role and 27 onboarding methods in each mode). The
hosted planner command completes with 2,939 packages in 12 batches. The entire
408-test hosted suite and those scientific replay batches were not rerun
locally; hosted results remain separate from this targeted validation.

## Reproduced failure

At canonical base `81e9bd69e4a5b00ba9c713a1620e36d576d5522e`, two real
Expand Down
6 changes: 6 additions & 0 deletions tests/test_research_descendant_source_roles.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,12 @@ def setUp(self):
target = self.root / name
target.parent.mkdir(parents=True, exist_ok=True)
shutil.copyfile(ROOT / name, target)
# These tests vary HELPER/HISTORY_TEST source roles. Keep the unrelated
# checker input at this package's authenticated historical bytes; a live
# checker successor otherwise masks the predicate each test exercises.
checker = 'scripts/check_research_commit.py'
row = next(row for row in self.original['files'] if row['path'] == checker)
(self.root / checker).write_bytes(git(ROOT, 'cat-file', 'blob', row['git_blob']))
git(self.root, 'init', '-q')
objects = Path(git(ROOT, 'rev-parse', '--git-path', 'objects').decode().strip())
if not objects.is_absolute():
Expand Down
2 changes: 2 additions & 0 deletions tests/test_research_onboarding.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ def test_report_survives_a_cp1252_stdout(self):
script = root / "scripts/find_overlap.py"
script.parent.mkdir(parents=True)
script.write_bytes((ROOT / "scripts/find_overlap.py").read_bytes())
(script.parent / "research_package.py").write_bytes(
(ROOT / "scripts/research_package.py").read_bytes())
readme = root / "research/fixture/README.md"
readme.parent.mkdir(parents=True)
readme.write_text("Fixture contains κ", encoding="utf-8")
Expand Down
Loading