feat(plugins): rule the overlap candidates the fixed inventory surfaced - #5648
Conversation
With built-in descriptions now resolved on Claude Code 2.1.285, detect listed 17 new pairs and 12 dismissals whose native text changed. - 12 resurfaced dismissals re-recorded with their original reasons. - 14 new name-only pairs dismissed. - 3 route rows: EnterWorktree and ExitWorktree -> source-control:worktree (description phrase and Boundary), ProposeGoal -> planning:draft-goal-condition (Boundary; the skill proposes the drafted condition through the tool with ask_user left true). source-control 0.69.0, planning 0.55.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 33s —— View job Security review complete
No security issues found. This PR is documentation and plugin-skill metadata only: The |
|
Claude finished @kyle-sexton's task in 6m 3s —— View job Code review complete
This PR is a SummaryThis is primarily generated/data content ( I posted two findings on
I could not execute |
…line Step 4 re-runs the length counter at the tool's 500-character cap before proposing through ProposeGoal, and the paste-ready /goal line is emitted whether or not the tool is used, so Step 4 and the Boundary routing agree. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 6s —— View job Security review complete
No security issues found. This PR is documentation and plugin-skill metadata only, confirmed by diffing The This PR's latest commit ( |
|
Claude finished @kyle-sexton's task in 2m 24s —— View job Code review complete
SummaryThis PR is a New commit Both prior findings are correctly resolved:
New finding posted inline on The Verification note: I could not run |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0acd82a856
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
- source-control:worktree: entering an existing worktree goes through this skill's check-enter claim gate before EnterWorktree(path:); only leaving routes to ExitWorktree directly. Description, Boundary, store row reason, reference, and CHANGELOG updated. - planning:draft-goal-condition: propose through ProposeGoal only from the main thread of an interactive local session outside plan mode, the restrictions the tool enforces. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Claude finished @kyle-sexton's task in 1m 9s —— View job Security review complete
No security issues found. This PR remains documentation and plugin-skill metadata only: The latest commit, Applying the instruction-exception-register lens to this commit and the PR as a whole: no standing instruction, guardrail, or mutation gate is deleted, narrowed, or softened. Both |
|
Claude finished @kyle-sexton's task in 2m 54s —— View job Code review complete
SummaryThis is a
Both of the earlier Claude-lane findings on this file (Step 3's wrong length limit, and the paste-ready-line ambiguity) were already fixed in the prior commit ( One finding from the prior round is not yet resolved — posted inline on New finding, lower severity, posted inline on Verification note: I did not run |
|
@codex review |
reference/native-goal.md gains the four-part record for the cap that Step 4 cites, and the 0.55.0 CHANGELOG entry names every condition the proposal now requires. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ac52778738
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
The tool expands tabs before enforcing its cap, so the raw counter can pass a condition the tool refuses; such a condition gets only the paste-ready /goal line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
# Conflicts: # plugins/planning/.claude-plugin/plugin.json # plugins/planning/CHANGELOG.md # plugins/source-control/.claude-plugin/plugin.json # plugins/source-control/CHANGELOG.md
|
@codex review |
|
Claude finished @kyle-sexton's task in 3m 26s —— View job Code review complete
SummaryThis is a I re-derived the PR's actual commit set rather than trusting Both fixes in this round's two PR-authored commits check out:
New finding, posted inline on The Verification note: I could not run |
|
Claude finished @kyle-sexton's task in 59s —— View job Security review complete
No security issues found. This PR remains documentation and plugin-skill metadata only: HEAD ( Applying the instruction-exception-register lens ( |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1bf500eb77
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
# Conflicts: # plugins/planning/CHANGELOG.md
|
@codex review |
|
Claude finished @kyle-sexton's task in 3m 31s —— View job Code review complete
SummaryThis is a All four findings carried over from prior rounds on this PR are now resolved at
Also now resolved, Codex's P1 finding from the last round ("Add upstream pointers to binary-derived tool records"): both I re-derived Verification note: I could not execute No new findings. · Branch |
|
Claude finished @kyle-sexton's task in 1m 17s —— View job Security review complete
No security issues found. HEAD is
No other PR file changed in this merge: This remains documentation and plugin-skill metadata only: no code execution path, no credential/secret handling, no injection surface (command/SQL/path/template), and no GitHub Actions workflow touched. Applying the instruction-surface lens ( |
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
# Conflicts: # plugins/planning/.claude-plugin/plugin.json # plugins/planning/CHANGELOG.md # plugins/source-control/.claude-plugin/plugin.json # plugins/source-control/CHANGELOG.md
|
@codex review |
|
Claude finished @kyle-sexton's task in 1m 11s —— View job Code review complete
SummaryThis is a I scoped the delta to this PR's own 10 files rather than the whole merge:
Both insertions land in correct descending version order, with no duplicate or out-of-order entries, and I confirmed each The full-PR diff stat ( No new findings. Verification note: I could not execute |
|
Claude finished @kyle-sexton's task in 1m 3s —— View job Security review complete
No security issues found. Skip gate applies (condition 3): this head already has a successful security review that still applies. HEAD is I independently re-derived this rather than trusting the merge:
This PR remains documentation and plugin-skill metadata only: |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 97234334bc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
… check The 2.1.285 binary shows ExitWorktree takes `action`: "keep" leaves the worktree and branch, "remove" deletes both but is refused for a worktree entered by path. EnterWorktree(path:) refuses a lock only in Claude Code's own live-process form. - worktree Boundary: leaving uses ExitWorktree with action "keep"; this skill never passes "remove"; removal stays with cleanup; the intro and routing are conditional on each tool resolving. - reference/native-worktree.md: records for the actions and the lock check; the ExitWorktree recheck trigger fired and is rewritten. - records.json: ExitWorktree reason, evidence, and trigger; the EnterWorktree reason states what each claim check covers. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@codex review |
|
Claude finished @kyle-sexton's task in 1m 49s —— View job Code review complete
SummaryThis is a That commit, The same commit also corrects a substantive accuracy gap:
No new findings. All four prior-round findings on this PR remain resolved and unaffected by this delta (the Verification note: I could not execute |
|
Claude finished @kyle-sexton's task in 38s —— View job Security review complete
No security issues found. Skip gate applies (condition 3): this PR's head already has a successful security review covering everything except its single newest commit. HEAD is The new commit touches The substantive change is a factual correction to the Applying the instruction-exception-register lens ( Branch · |
|
Codex Review: Didn't find any major issues. 👍 Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
…e overlaps (#5726) No related issue: operator ruling on two overlap candidates detect found after desktop-notification:check landed ## Summary `overlap.py detect` on main (Claude Code 2.1.287 extraction) discovered two new native-overlap candidates for `desktop-notification:check`: the `ReadNotifications` tool (score 0.4157) and the `/desktop` command (0.3344). It also resurfaced the `doc` vs `docs-hygiene:setup` dismissal, because #5699 changed that skill's description. Operator ruling (2026-10-01): all three are name-only overlaps. ## Fix Recorded through `overlap.py dismiss`, then regenerated `docs/native-surfaces.md` with `overlap.py generate`: - `ReadNotifications` (builtin-tool) vs `desktop-notification:check`: "Name overlap only: desktop-notification:check is a read-only check that jq resolves for the desktop-notification hooks; the built-in ReadNotifications tool reads queued external notifications (webhooks, triggers). Different jobs, no routing." - `desktop` (builtin-command) vs `desktop-notification:check`: "Name overlap only: desktop-notification:check is a read-only check that jq resolves for the desktop-notification hooks; the user-only /desktop command continues the current session in Claude Desktop. Different jobs, no routing." - `doc` (bundled-skill) vs `docs-hygiene:setup`, re-dismissed with a refreshed component fingerprint: "Creates a document artifact versus checking that markdownlint-cli2 resolves for /docs-hygiene:compress. Shared word only. Ruled 2026-10-01 by operator direction on the orchestrator's recommendation." There's no plugin version bump. Only `docs/` changed, which matches the dismissal-only precedent #5607. ## Verification - `overlap.py detect`: discovered 0, resurfaced 0, suppressed 95 (was 92). Exit 3 (degraded). - `overlap.py self-check`: `SELF-CHECK degraded: 2 advisory(ies), 69 row(s) checked`. The two advisories already existed: recorded extraction versions differ from 2.1.287, and the upstream commit comparison can't be decided locally. - `overlap.py generate --check`: in sync (69 rows, 96 dismissals). `node scripts/generate-catalog.mjs --check`: in sync. - `overlap.test.sh`: 184 tests OK. - Expected and out of scope: detect reports integrity degraded because the local CLI is 2.1.287 and the extractor's validated_against is 2.1.286. It also reports 1 orphaned dismissal (`plugin-types` vs `code-metrics:audit-type-debt`), because `plugin-types` is absent from the 2.1.287 extraction. The 2.1.287 changelog pass handles both. ## Related - #5699 (extracted the docs-naming plugin; changed the `docs-hygiene:setup` description) - #5607, #5648 (earlier rulings PRs) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
No related issue: follow-up to #5619, whose inventory fix exposed new and changed native descriptions on Claude Code 2.1.285.
Summary
After #5619,
overlap.py detecton the 2.1.285 extraction listed 17 unruled pairs plus 12 dismissals that resurfaced because their native description text changed. This PR rules all 29: 12 re-dismissed, 14 dismissed, 3 route rows, 0 defer. Detect now reports 0 unruled and 0 resurfaced.EnterWorktree(builtin-tool)EnterWorktree(path:)ExitWorktree(builtin-tool)cleanup)ProposeGoal(builtin-tool)/goalline; it also proposes through the tool (ask_user true) in an interactive main-thread session outside plan mode, within the tool capClaudeDesign(builtin-tool)ClaudeDesignClaudeDesignDesignSync(builtin-tool)DesignSyncProposeGoalReadNotifications(builtin-tool)ReportFindings(builtin-tool)TestingPermission(builtin-tool)TestingPermissionTestingPermissionTodoWrite(builtin-tool)WaitForMcpServers(builtin-tool)config(builtin-command)Bash(builtin-tool)BashPowerShell(builtin-tool)PowerShellWorkflow(builtin-tool)Workflowcode-review(bundled-skill)configconfigmemory_read(builtin-tool)workflow-authoring(bundled-skill)workflow-authoringFix
docs/native-surfaces/records.json: 3 rows and 26 dismissal records;docs/native-surfaces.mdregenerated.source-control:worktree: description phrase (source-control's route rows carry phrases),## BoundarynamingEnterWorktreeandExitWorktree,reference/native-worktree.md. Version 0.69.0.planning:draft-goal-condition: Boundary extended toProposeGoal, Step 4 pointer, records inreference/native-goal.md. No description phrase, matching planning's other route row. Version 0.56.0.ProposeGoal'sask_user, 500-character cap, and session restrictions were read from the 2.1.285 binary's tool prompt; the tool is not on the tools reference.Verification
overlap.py detect --inventory <2.1.285 json> --repo .: 0 unruled, 0 resurfaced.overlap.py generate --check: in sync (69 rows, 93 dismissals).overlap.py self-check: degraded with the 2 advisories main already carries (recorded versions older than 2.1.286, upstream SHA not checked), no failures.node scripts/generate-catalog.mjs: no change.check-skill.shPASS forworktreeanddraft-goal-condition. markdownlint clean.Related
🤖 Generated with Claude Code