Repository navigation
feat(pr-pipeline): admit Knowable issues and keep lane fixes out of plugin control files - #9559
Conversation
…lugin control files Owner decisions 2026-10-24 (Q1, Q3): - admission-rules.json takes Uncertainty knowable as well as known; the run lane already runs Knowable research-first (pr-pipeline.yaml:664-669). - thread-scope.mjs's plugin-wide arm, and feedback-thread.sh's mirror, now exclude CONTROL_PATH (.claude-plugin/, hooks/, monitors/, bin/, .mcp.json, .lsp.json, AGENTS.md, CLAUDE.md, .claude/), as prPathAllowed already did. A thread's own path and named paths are unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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. |
|
claude-security-review reviewed No security issues found in this pull request. critical-findings: 0 What I checked (diff in
I did not run the tests or read the instruction exception register. The review rests on reading the diff and the |
|
claude-review reviewed No findings on this pull request. Checked
Hold: none. The change doesn't add a model call, schedule or trigger, and it doesn't touch trusted-actors, |
No related issue: owner decisions Q1 and Q3 of 2026-10-24 (lane-stop audit answers, recorded in Issue Triage's session: "accept all").
Summary
admission-rules.json:7), while the run lane already runs Knowable issues research-first (pr-pipeline.yaml:664-669). That cut supply for no lane reason. It now admits both.thread-scope.mjs:99) let a review-fix edit a plugin's control and instruction files (.claude-plugin/plugin.json,.mcp.json,hooks/hooks.json,AGENTS.md,CLAUDE.md,bin/) whenever a kept thread sat on any other file in that plugin. The pull-request-files arm already excluded these (prPathAllowed,CONTROL_PATH). The plugin arm now excludes them too. A thread on a control file still reaches that file through its own path, and named paths are unchanged.Fix
.github/actions/resolve-config/admission-rules.json:uncertaintyis["known", "knowable"]..github/scripts/pr-unblock/thread-scope.mjs: the plugin arm adds!CONTROL_PATH.test(path).plugins/source-control/skills/pull-request/scripts/feedback-thread.sh: the jq mirror gets the same$controlexclusion.admit.test.mjsadds a positive Knowable admit case, and its criterion-3 refusal case now uses Unknown.thread-scope.test.mjsasserts that the control files are out of the plugin-wide scope.feedback-thread.test.shmoves those paths to the refused list and adds a check-paths case on a committed plugin.source-controlpatch,pr-pipelineminor.Verification
node --test .github/scripts/pr-unblock/thread-scope.test.mjs .github/scripts/intake-triage/admit.test.mjs: 113/113 pass.bash plugins/source-control/skills/pull-request/scripts/feedback-thread.test.sh: 0 failures.shellcheckon both shell files: clean.Related
#9212 (Q51 admission criteria), #9444 (control paths in the PR-files arm), #9551
🤖 Generated with Claude Code