Repository navigation
Build blind packets for sampled pull requests - #1139
Merged
Merged
Conversation
This was referenced Oct 23, 2026
Merged
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
Each sampled pull request now gets a blind packet before its Scoring window is saved.
The sample retains Harness attribution separately. Missing historical issue text fails the Command without advancing its window. Grader sessions remain separate work.
Closes #1025
Evidence
Before:
cargo test --test scoring packets_are_blind_and_keep_the_issue_and_repository_at_mergefailed atsaved packet directory.After: The same test passes for Claude and Codex packets, including removal of commit messages and exclusion of a later fix.
Before review fixes: the reviewers' exact commands failed with
first PR commit missing,packet repository leaked Built with, andblinding rewrote a binary repository blob.After: each exact regression passes and stays in
tests/scoring.rs:cargo test --test scoring packet_diff_includes_every_commit_in_a_rebased_pull_request -- --exact --nocapturecargo test --test scoring packet_repository_removes_attribution_for_every_harness -- --exact --nocapturecargo test --test scoring packet_blinding_preserves_binary_files_with_valid_utf8_bytes -- --exact --nocaptureFocused Scoring coverage also checks paginated history, deleted revisions, private storage, source literals, binary files, symlinks, executable bits and exclusion of earlier base changes.
Before the final fidelity fix:
cargo test --test scoring packet_diff_preserves_trailing_whitespace_in_the_last_changed_line -- --exact --nocaptureshowed the final diff line losing its spaces.After: the same test passes;
cargo test --test scoringpasses all 19 tests (one fixture entry point ignored).cargo checkandcargo clippy --all-targets -- -D warnings: passed.scripts/affected-tests 9ab127320007357c695c5f90593f7417c2312286: site checks passed (43 tests). Broad Rust validation is reused from successful CI on final head3296899, asdocs/testing.mdpermits. Full Rust tests, formatting, Clippy and both browser jobs passed.Timing:
/usr/bin/time -p cargo nextest runreached 985.92 seconds wall time, compilation included, before the duplicate local run was stopped after CI passed its head. This is a partial timing, not a completed full-suite benchmark.Test seams
thirdshift score/thirdshift scores --json, with fakeghedit history and CI and a real local Git origin; inspect the saved Grader packet and repository snapshot.Unaddressed findings
Standards
None. The one maintainability finding was addressed by sharing Issue-branch inference.
Spec
None. All three behavioral findings were reproduced with the reviewers' tests, fixed and kept as regressions; no decision was deferred.
Security
None. Guidance-mode review of
git diff 9ab127320007357c695c5f90593f7417c2312286...HEADplus supporting code found no introduced finding with a demonstrable cross-boundary impact:git/ghrun via argv with no shell, merge/base commits validated to 40 hex, branch-derived issue numbers are digits-only with strictIssueUrlparsing, the fetch host is fixed to github.com, symlinks are never followed, NUL-bearing blobs are preserved, and packet storage is 0700. No proof-of-concept failed, so no fix and no new regression test.cargo test --test scoringpasses 19 tests.Security review outcome
No unaddressed introduced findings.
Review coverage
Standards and Spec ran independently against fetched
issue-978, pinned to9ab127320007357c695c5f90593f7417c2312286, ate37266eand followed up at77da798. Both axes read all 13 changed files, including the generatedsite/docs/index.htmlhunks. No generated files were excluded, and no changed file was left unread. The parent then closed the follow-up binary finding and the final whitespace preservation check insrc/scoring/packet.rsandtests/scoring.rs, retaining both regressions.Merge Danger
Door: two-way
Rollback stops packet generation; existing sample files remain readable.
Blast Radius: Scoring
Scoring now reads issue history and CI and fetches each sampled merge commit. Failure in packet construction fails that Command before saving its window.
Built with codex · gpt-6.1-sol · xhigh