feat: add .yul-ignore file support to suppress known pins - #25
Closed
algomaster99 wants to merge 1 commit into
Closed
feat: add .yul-ignore file support to suppress known pins#25algomaster99 wants to merge 1 commit into
algomaster99 wants to merge 1 commit into
Conversation
If a user rejects a suggested version bump in manual approval mode, the hook had no way to learn that decision — it only ever sees the manifest diff, never chat history or a permission denial — so it kept re-blocking the same write, pushing Claude toward disabling or editing the hook instead (#22). Mismatch now carries the dependency's version-less PURL, so the hook can match it against .yul-ignore, a project-root file of "<purl>@<version>" entries (# comments and blank lines allowed) the user maintains. The block message prints the exact line(s) to add and tells Claude to ask the user and use that file rather than working around the hook.
Member
Author
|
Closing for now see #22 . |
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.
Allow projects to maintain a
.yul-ignorefile at the root to explicitly suppress the hook's blocking of specific dependency pins the user has already decided to keep. This prevents the hook from repeatedly blocking the same write when a user has intentionally chosen an older version for compatibility or other reasons.Key changes:
pkg/ignorepackage to read and parse.yul-ignorefiles, supporting comments and blank lines for documentationfilterIgnored()function inmain.goto drop mismatches that match entries in the ignore setmismatch.Mismatchstruct to includePURL(version-less package URL) field, enabling exact pin matching via<purl>@<version>keyspkg/githubactions,pkg/util/pins) to populate thePURLfield in mismatches.yul-ignoreentries when blocking a write, guiding users on how to suppress future blocks for the same pin.yul-ignorefile format and usageThe hook now loads
.yul-ignorefrom the session's working directory and filters out any mismatches matching an ignored pin before deciding whether to block. A pin isn't grandfathered in forever — if the manifest is later changed to a different version, that's a fresh write checked against.yul-ignoreanew.https://claude.ai/code/session_018s16QPwCTMVAFDtiZcwitc