fix(hooks): a fold does not make the signal partial - #780
Merged
Conversation
…distiller [Partial signal] says the pipeline recognised some of the output and not all of it. That is a statement about the distiller, and it was being read off a route computed from final_out, which the ledger has already folded. So a payload the distiller never touched could land in Soft on the strength of a fold and collect a banner over an answer nothing was lost from. Reproduced: 16 of 40 lines seen earlier, the fold announced with a handle, 24 lines verbatim, and [Partial signal] underneath. route is left alone. It describes the delivered reply and that is right for the accounting that reads it. Only the banner moves to the ratio it is about.
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.
The second half of #775.
[Partial signal]says the pipeline recognised some of the outputand not all of it, which is a claim about the distiller, and it was being read off a route
computed from
final_outafter the ledger has folded it.So a payload the distiller never touched could reach
Softon the strength of a fold andcollect a banner over an answer nothing was lost from.
Reproduced, after three earlier attempts failed. The failures were the useful part:
both my first fixtures folded the whole payload, which lands in
Keep, so the bannernever fired. The condition needs a partial fold. Sixteen of forty lines seen earlier:
The fold is announced and retrievable, the other 24 lines are present, and the reply calls
itself partial.
routeis left exactly as it is: it describes the delivered reply, which is what theaccounting that reads it wants. Only the banner moves to the ratio it is a claim about.
The other door was checked rather than assumed.
hooks::piperuns its ledger atpipe.rs:364, after the banner at:328, so its ratio is already the distiller's and itnever had this. That is written into the changelog so the next person does not go looking.
Verification:
make cigreen,smoke_test.sh70/70, and the reproduction re-run againstthe release binary, where the banner is gone and the fold survives. Break-tested: putting
the delivered route back fails the new test with the full reply printed.
Closes #775
Greptile Summary
This PR makes the post-tool partial-signal banner depend on the distiller’s pre-ledger compression ratio rather than the delivered reply’s post-fold ratio.
Confidence Score: 5/5
The PR appears safe to merge, with no actionable correctness or security issues identified.
The banner now reflects the distiller’s own reduction rather than a later ledger fold, while the existing delivered-route, guardrail, recovery, and passthrough behavior remains intact.
Important Files Changed
Reviews (1): Last reviewed commit: "docs(changelog): record the partial-sign..." | Re-trigger Greptile