You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
test(prerequisites): merge probe on a fleet host for the five plugins' reworded degrade commands #13072
#12570 rewords the degrade sentences of discovery, rate-limit-guard, multi-agent, review and context-guard so the command they name runs as written. Its first done-when item asks for proof by a merge probe on a host, which an unattended lane run cannot perform.
Done when
A person whose hook dependency is missing in one of these plugins can reach a command that runs as written, shown by a merge probe on a fleet host.
Proposed work class: work-class: read-only
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Low
Uncertainty: Known
Flags: none
Blocked by: #12570
Understood: this is a follow-up to #12570. Once that change merges, a merge probe on a fleet host should confirm that the reworded degrade commands in discovery, rate-limit-guard, multi-agent, review and context-guard run as written when a hook dependency is missing. The probe needs a host, so it is routed to the host-run path and an unattended lane can't do it. The issue already has the host-run label. No duplicates found.
Not admitted to the issue lane: its done-when asks for what an unattended lane run cannot perform: item 1 (a run on a host the lane is not: "A person whose hook dependency is missing in one of these plugins can reach a..."); no done-when item is left for the lane, so it goes to the host queue (host-run); it carries host-run. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).
Delivered: closing as completed.
Agent choice, not an owner answer.
Merge probe on a fleet host (WSL), on origin/main at 55f8a62, after #13108 merged. Each plugin tree was exported from that commit; one hook dependency was hidden (PATH=/usr/bin:/bin, which holds no node, with the checker's node invoked by absolute path; or a stub claude reporting 2.1.100 put first on PATH); <node> lib/prerequisites.mjs check <root> ran from and against that root; then the command its line names ran exactly as written, from that root, first with the dependency still missing and then with it resolved (node v24.21.0, claude 2.1.318). No check line printed a literal <plugin root>.
discovery: FAIL node line names bash scripts/check-hook-registration.sh; it ran as written: exit 1 with node missing (node FAIL, hook not run), exit 0 with node resolved (node, registration, hook PASS). 55f8a62
multi-agent: FAIL node line names bash scripts/check-hook-registration.sh; it ran as written: exit 1 with node missing, exit 0 with node resolved (node, registration, gate PASS). 55f8a62
review: WARN node line (node is optional here, so the checker exits 0) names bash scripts/check-hook-registration.sh; it ran as written: exit 1 with node missing, exit 0 with node resolved (node, registration, hook PASS). 55f8a62
context-guard: FAIL claude line (2.1.100 below the 2.1.287 floor) names bash scripts/check-mod-load.sh; it ran as written: exit 1 at 2.1.100 (mods-floor FAIL), exit 0 at 2.1.318 (mods-floor PASS). 55f8a62
rate-limit-guard: FAIL claude line names bash scripts/check-mod-load.sh; it ran as written: exit 1 at 2.1.100 (mods-floor FAIL), exit 0 at 2.1.318 (mods-floor PASS). 55f8a62
The node lines print only when node is installed but absent from the PATH the checker sees (the case the notice names: hooks read Claude Code's PATH, not your shell profile); with node absent outright the checker cannot start, which is the emitter gap #12570 accepted as is. The named command also runs with node missing and reports the gap. The five READMEs still spell these commands with a <plugin root> placeholder for the reader to fill in; that is documentation, not a notice or check line.
Activity
github-actions commentedon Nov 4, 2026
Proposed work class: work-class: read-only
Basis: automated intake triage; the lanes App applied this class.
Size: Small
Complexity: Low
Uncertainty: Known
Flags: none
Blocked by: #12570
Understood: this is a follow-up to #12570. Once that change merges, a merge probe on a fleet host should confirm that the reworded degrade commands in discovery, rate-limit-guard, multi-agent, review and context-guard run as written when a hook dependency is missing. The probe needs a host, so it is routed to the host-run path and an unattended lane can't do it. The issue already has the host-run label. No duplicates found.
Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Nov 4, 2026
Not admitted to the issue lane: its done-when asks for what an unattended lane run cannot perform: item 1 (a run on a host the lane is not: "A person whose hook dependency is missing in one of these plugins can reach a..."); no done-when item is left for the lane, so it goes to the host queue (
host-run); it carries host-run. Admission takes the issue once each of those is met, when intake triages it again (.github/actions/resolve-config/admission-rules.json).melodic-automation-lanes commentedon Nov 4, 2026
The latest triage verdict holds nothing: admission moved the issue to
status: confirmed; its comment says why.kyle-sexton commentedon Nov 4, 2026
Delivered: closing as completed.
Agent choice, not an owner answer.
Merge probe on a fleet host (WSL), on
origin/mainat 55f8a62, after #13108 merged. Each plugin tree was exported from that commit; one hook dependency was hidden (PATH=/usr/bin:/bin, which holds no node, with the checker's node invoked by absolute path; or a stubclaudereporting 2.1.100 put first onPATH);<node> lib/prerequisites.mjs check <root>ran from and against that root; then the command its line names ran exactly as written, from that root, first with the dependency still missing and then with it resolved (node v24.21.0, claude 2.1.318). No check line printed a literal<plugin root>.FAIL nodeline namesbash scripts/check-hook-registration.sh; it ran as written: exit 1 with node missing (node FAIL, hook not run), exit 0 with node resolved (node, registration, hook PASS). 55f8a62FAIL nodeline namesbash scripts/check-hook-registration.sh; it ran as written: exit 1 with node missing, exit 0 with node resolved (node, registration, gate PASS). 55f8a62WARN nodeline (node is optional here, so the checker exits 0) namesbash scripts/check-hook-registration.sh; it ran as written: exit 1 with node missing, exit 0 with node resolved (node, registration, hook PASS). 55f8a62FAIL claudeline (2.1.100 below the 2.1.287 floor) namesbash scripts/check-mod-load.sh; it ran as written: exit 1 at 2.1.100 (mods-floor FAIL), exit 0 at 2.1.318 (mods-floor PASS). 55f8a62FAIL claudeline namesbash scripts/check-mod-load.sh; it ran as written: exit 1 at 2.1.100 (mods-floor FAIL), exit 0 at 2.1.318 (mods-floor PASS). 55f8a62The node lines print only when node is installed but absent from the
PATHthe checker sees (the case the notice names: hooks read Claude Code'sPATH, not your shell profile); with node absent outright the checker cannot start, which is the emitter gap #12570 accepted as is. The named command also runs with node missing and reports the gap. The five READMEs still spell these commands with a<plugin root>placeholder for the reader to fill in; that is documentation, not a notice orcheckline.kyle-sexton commentedon Nov 4, 2026
Closing as completed on the delivery record above: the probe passed for all five plugins at main 55f8a62.