Repository navigation
Source converge: read historical patch sets byte-exactly (srv8 arm A tree, digest 0f979787) - #12418
Merged
Merged
Conversation
…srv8 arm A, digest 0f979787) git.Core.Show carries a blob through the shell stdout channel, which is trailing-whitespace trimmed. The 034aef0 set (the one main 77193e6 carried, srv8's arm A tree) ends engram_storage_backed.patch in two blank context lines; the re-appended newline left the hunk short, git apply refused it as corrupt in the scratch worktree, and the set contributed no digest, so a tree that is ours was refused as not ours. Members are now restored byte-exactly (git.Core.RestoreBlobTo, index untouched) and read with Filesystem.Read. RED: red5 derives the 034aef0 set from history at blob-exact bytes. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…rol: RED on the Show route, GREEN on RestoreBlobTo Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…itory history, not a mock Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…the unbalanced source) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
Fixes the #12336 source-converge ownership-by-content defect that refused srv8's arm A tree (production build run 36326156975).
Why the history match missed
LogPathCommitsover the two patch paths includes 034aef0, whose bytes are the set main 77193e6 carried (arm A, run 36207135528).--indexwas fine. The scratch worktree applies withgit apply --index, the same as the real converge.v41_known_patch_set_atread each historical blob withgit.Core.Show. Itscontentcomesfrom "stdout", and the shell channel's retained text istrim_end()ed (bounded_shell_host_drainretained_utf8_lossy_trimmed). In 034aef0,engram_storage_backed.patchends in two blank context lines ((__name__)\n \n \n). After the trim and one re-appended\n, the hunk was two lines short,git applyrefused it (corrupt patch at line 22, reproduced), and the set contributed no digest. So the tree's digest matched no set, and the converge refused it as not ours.Wet re-derivation: a fresh vllm checkout at d2d649e674c7, with both 034aef0 blobs applied via
git apply --index, givesgit diff --binary HEADsha256 = 0f979787aa2a52e0…, which is srv8's digest.Fix
git.Core.RestoreBlobTo(git --work-tree=<dir> restore --source=<ref> --worktree -- <path>). It writes the blob byte-exactly and leaves the index untouched.Filesystem.Read, the same read the declared patch already takes. It removes the scratch dir afterwards. A scratch dir that can't be created derives no sets, which can only make the fold refuse more.RED
red5_the_arm_a_set_srv8_carried_is_derived_byte_exactly_from_historyderives the 034aef0 set from history. It asserts the hook member keeps its trailing blank context, and that both members' sha256 equal the git blob contents at that commit. The patch paths are supplied as values; DigestFile is not re-run.gunbc run --claim-run: FAIL with the pre-fix fold swapped in, PASS with the fix. All 19 claims in the module PASS live.claim_batchis hermetic and reports a route gap, not a verdict, for this claim and for the two pre-existing effectful claims in the module (digestfile_inhabits…,empty_diff…).fetch-depth: 0).Not changed, and worth knowing: every other
git.Core.Showconsumer gets trimmed content. Show is fine for text whose trailing whitespace carries no meaning. Byte-exact consumers should useRestoreBlobTo.🤖 Generated with Claude Code