Skip to content

refactor(prerequisites): five plugins' notices have no emitter, and degrade text prints a literal plugin root - #13108

Merged
kyle-sexton merged 1 commit into
mainfrom
work-resolve-issue/issue-12570-41770817015-1
Nov 4, 2026
Merged

kyle-sexton merged 1 commit into
mainfrom
work-resolve-issue/issue-12570-41770817015-1

Conversation

@melodic-automation-lanes

Copy link
Copy Markdown
Contributor

Closes #12570

Summary

Opened by the work-resolve-issue lane from work-resolve-issue/issue-12570-41770817015-1, which an earlier run left with commits and no report. The model did not run again, and the earlier run's outcome could not be read, so this body carries none of its text.

Fix

The diff shows the changes.

Files the branch changes, from the compare listing; a denied path, which the merge lane refuses, is marked and listed first:

  • .changes/context-guard/work-resolve-issue-issue-12570-41770817015-1-69987c1d.md
  • .changes/discovery/work-resolve-issue-issue-12570-41770817015-1-a53fbd19.md
  • .changes/multi-agent/work-resolve-issue-issue-12570-41770817015-1-383738ef.md
  • .changes/rate-limit-guard/work-resolve-issue-issue-12570-41770817015-1-179affa3.md
  • .changes/review/work-resolve-issue-issue-12570-41770817015-1-aeca7585.md
  • plugins/context-guard/evals/ck-notice-runs-bundled-checker/prompt.md
  • plugins/context-guard/prerequisites.json
  • plugins/discovery/evals/ck-notice-alone-installs-nothing/case.yaml
  • plugins/discovery/prerequisites.json
  • plugins/multi-agent/evals/ck-notice-runs-bundled-checker/prompt.md
  • plugins/multi-agent/prerequisites.json
  • plugins/rate-limit-guard/prerequisites.json
  • plugins/review/evals/ck-notice-runs-bundled-checker/prompt.md
  • plugins/review/prerequisites.json

Verification

The earlier run reported no checks here.

The runner ran each check from the base copy against a676ff1:

  • scripts/check-changelog-fragments.sh --check: passed
  • scripts/check-changed-skills.sh --merge-base: passed

The runner's leak scan read everything the branch changes since its merge base with the default branch and found nothing credential-shaped.

Left out: every check; ci-status, pr-verify and the security review lane check the head before it merges.

Related

#12570

Lane-Activity: work-resolve-issue/resolve-issue
@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

claude-security-review reviewed a676ff1901d6a2f96276bc225505ff3ed5ee7a68: read 14 of 14 changed file(s); 0 finding(s), 0 as inline comments.

Security review: PR #13108

No security issues found.

I read every hunk of the diff. The change is text only:

  • Five degrade strings. In plugins/{context-guard,discovery,multi-agent,rate-limit-guard,review}/prerequisites.json, each string swapped the literal bash <plugin root>/scripts/check-*.sh for "run bash scripts/check-*.sh from the plugin root, the directory passed to prerequisites.mjs check".
  • Matching eval prompts. Four eval prompt or case files were updated to the new wording.
  • Changelog fragments. Five fragments were added.

What I checked:

  • No check or install fields changed. No session_probe, hook, manifest, userConfig or workflow file is touched either. Each prerequisites.json hunk changes only the human-readable degrade sentence, which userNotice prints as it stands.
  • No new command or input path. The script each notice names is the same bundled script as before (scripts/check-mod-load.sh or scripts/check-hook-registration.sh). The wording now points the user at the plugin root, which the notice's own diagnose with: tail already prints. No consumer-controlled value is added to any command.
  • Eval cases are unchanged apart from the wording. In plugins/discovery/evals/ck-notice-alone-installs-nothing/case.yaml, only the prompt text changed. allowed_tools, max_turns and timeout_seconds are the same.
  • No trusted paths matched. None of the changed files matches a TRUSTED PATHS: glob. In particular, plugins/review/evals/ck-notice-runs-bundled-checker/ is not under plugins/review/evals/security-review-*/**.
  • No guardrail removed. The diff deletes or softens no standing instruction.
  • Identical copies. Their paths are .changes/ fragments with no executing role. I read the first path of each identical group and skipped the copies.
  • PR context. It contains no embedded instructions aimed at this lane.

No prior findings apply; this is round 0 of 3 and the cap did not apply.

critical-findings: 0

@github-actions

github-actions Bot commented Nov 4, 2026

Copy link
Copy Markdown
Contributor

claude-review reviewed a676ff1901d6a2f96276bc225505ff3ed5ee7a68: read 14 of 14 changed file(s); 1 finding(s), 0 as inline comments.

Code review: PR #13108

The PR does what closing issue #12570's recorded decision (option 2) asks. Each of the five degrade sentences used to say bash <plugin root>/scripts/.... They now say to run bash scripts/<probe>.sh "from the plugin root, the directory passed to prerequisites.mjs check". That is the directory the diagnose with: command already prints, so the command works as written. The four eval prompts that quote these notices have been updated to the new text.

What I checked myself (read-only, no commands run):

  • Every probe the new text names exists in its plugin: plugins/{discovery,multi-agent,review}/scripts/check-hook-registration.sh and plugins/{context-guard,rate-limit-guard}/scripts/check-mod-load.sh.
  • Each probe works out its own root from BASH_SOURCE (for example discovery/scripts/check-hook-registration.sh#L15), so running it from the plugin root works.
  • No prerequisites.json in the repository still holds a literal <plugin root>.
  • The five changelog fragments use bump: patch, which fits a text-only fix. Three pairs of fragments are identical copies of each other; I read the first of each and the wording fits each plugin.
  • No plugin.json or marketplace.json changed, so the manifest checks do not apply.

Closing-issue criteria:

Out of scope, for information: the plugin READMEs still use bash "<plugin root>/scripts/...", for example discovery/README.md#L120. That is documentation prose, not notice or check output, so the criterion does not cover it.

Author-claimed, not verified by me: the PR body says scripts/check-changelog-fragments.sh --check and scripts/check-changed-skills.sh --merge-base passed.

No embedded instructions were found in the PR context. There are no prior findings from this lane (round 0 of 3). The PR adds no spend.

@kyle-sexton
kyle-sexton added this pull request to the merge queue Nov 4, 2026
Merged via the queue into main with commit c77c7a0 Nov 4, 2026
45 checks passed
@kyle-sexton
kyle-sexton deleted the work-resolve-issue/issue-12570-41770817015-1 branch November 4, 2026 06:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

refactor(prerequisites): five plugins' notices have no emitter, and degrade text prints a literal <plugin root>

1 participant