Repository navigation
fix: boundary hook checks NotebookEdit + resolves ..; AC convention actually auto-loads (0.20.1) - #23
Merged
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCp4cMxLbQXy83ZZv9RDXp
…s ac-convention at every root (#21, #22) - boundary hook: NotebookEdit's tool_input.notebook_path is checked when file_path is absent; . and .. are resolved lexically before matching, so src/x/../../docs/y is matched as docs/y (and a path resolving outside the project stays unpoliced) - doctor: plugins have no rules/ component, so the AC rule only auto-loads from .claude/rules/ac-convention.md — missing/wrong-root copy now WARNs at the default root (FAIL at a non-default root, as before); root matched with grep -F - test fixture: the branch switch-back used checkout on an unborn branch and failed silently, so every later boundary case ran with nothing active; now symbolic-ref + asserted, and the placeholder-only case really is placeholder-only Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCp4cMxLbQXy83ZZv9RDXp
…ing plugin auto-load; boundary split survives newlines (#21, #22) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCp4cMxLbQXy83ZZv9RDXp
…he glob-literal split (evaluator) Root 'docs' (or 'spec') was a substring of the stock docs/lcd copy, so doctor reported OK for globs that never match docs/work/<slug>/spec.md. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VCp4cMxLbQXy83ZZv9RDXp
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 #21, fixes #22.
#21 — edit-boundary hook
NotebookEditsendstool_input.notebook_path. The hook now reads it whenfile_pathis absent, so notebook edits outside the boundary are denied..and..are resolved lexically before matching.src/x/../../docs/yis checked asdocs/y, and a path that resolves outside the project stays unpoliced. The split doesn't useread, which would stop at a newline, and runs underset -f, so a*segment stays literal.#22 — AC convention auto-load
docs/lcd/**/spec.mddid not load the rule. A control project with the rule in.claude/rules/did load it..claude/rules/ac-convention.md. It rewritespaths:for a custom root. If an existing copy doesn't cover the root (for example a vendored seed), onboard rewrites only that line and logs it./lcd:onboard) and a FAIL on a custom root, as before. Coverage is judged on thepaths:globs, not a substring of the file.rules/lcd.md, theac-convention.mdheader, README anddoctor.mdno longer claim the plugin copy auto-loads.Also
git checkouton an unborn branch, which failed silently. Every later case ran with no active work-item and passed without testing anything. It now usessymbolic-ref, asserted. The "placeholder-only" case really is placeholder-only now.Verification
/bin/bash3.2.claude plugin validatepasses.set -f, default-root WARN, the regex grep, and substring coverage.set -fregression no test would catch. Both are fixed in the last commit.🤖 Generated with Claude Code
https://claude.ai/code/session_01VCp4cMxLbQXy83ZZv9RDXp