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
hook::notice_once keys on agent, so skip notice re-fires per subagent #4612
Problem: hook::notice_once (vendored hook-utils.sh across markdown-format, typos-format, bash-format, biome-format, go-format, actionlint, context-guard, autonomy, desktop-notification, powershell-format, and other consumers) keys the skip-notice dedup marker on session and agent. Every subagent in a multi-subagent run gets its own full first notice (2,098 bytes), instead of the notice firing once per session. The CHANGELOG (#3128) records this per-agent keying as intended, but the README text in the affected plugins (L93-96, L124) still says "once-per-session", so the docs and the behavior disagree.
Done when: either (a) the marker key drops the agent component so dedup is session-only and a skip notice fires once per session, not once per subagent, or (b) the README wording is corrected to describe the per-agent behavior if it is kept intentionally. Re-measure by counting full notice rows across a multi-subagent run against the #4260 baseline (14 notice rows, 2,098 bytes each).
Reopening: this issue was closed as completed by #4737, but that PR fixed READMEs only. The review comments on #4737 listed setup SKILL.md bodies that the merged diff never touched. This comes from the 2026-09-29 audit of the Cursor run.
What landed
README wording and actionlint 0.9.4.
What did not land
Setup SKILL.md bodies still say "once-per-session".
Other plugins' setup skills (bash-format, desktop-notification, eol-normalizer, powershell-format, ruff-format, typos-format): each fix group's own PR.
dim-9 row: the conventions group's PR.
Note on wording
Prerequisite-class notices (biome-format, go-format, markdown-format, and actionlint once #5264 lands) are session-only, shared across agents. The other classes are once per session and agent. The wordings differ by class on purpose.
Next
This stays open until every sibling PR is merged. The owner closes it.
PR #5745 is merged (b1f3e08). It rewords the jq-class skip-notice cadence to "once per session and agent" in the setup skills, evals, hook tests, hook script comments and lib/hook-utils.sh (all 18 carriers resynced). Sibling PRs, all merged: #4737#5250#5251#5264#5245#5246#5271#5275#5468. Lines left as they were: missing-binary (prerequisite-class) notices, which latch on session alone; the frozen judge-calibration fixtures; and test-file comments for non-jq, non-binary notices. This issue stays open for the owner to decide on closing.
Triage: the work looks done. The 2026-10-01 comment leaves closing to the owner, so this is routed to the owner to confirm.
Question: close #4612 as completed? Recommended: yes.
Done-when option (b) is delivered. The skip-notice marker stays keyed on session and agent for the jq-class notices, on purpose, and every carrier now says so: "once per session and agent, renewed every eighth skip". Missing-binary (prerequisite-class) notices latch on the session alone and correctly say "once per session". A repository-wide search on current main finds no jq-class carrier still saying "once per session". The fixes landed in #4737, #5745, #5250, #5251, #5264, #5245, #5246, #5271, #5275 and #5468, all merged.
Reopen-worthy evidence: a multi-subagent run showing a jq-class carrier that still says "once per session". Option (a), session-only dedup for every class, would be a new behavior change and its own item.
Basis: verified, lib/hook-utils.sh (marker key and the prerequisite-class session override) and the hook-observability convention's skip-notice line on main; repository grep; linked PR states.
Decision recorded. The owner approved applying independently verified recommendations (high-risk set, reviewed) on 2026-10-13.
Docs said skip notices fire once per session while the marker keyed on session and agent. Every carrier was reworded (#4737, #5745 and siblings), and #6267 changed hook::notice_once so the user notice fires once per session and the model notice once per session and agent.
Verification notes:
Risk high only because the delivered change sits in lib/hook-utils.sh (hook surface); the close itself is reversible
Verified by an independent fresh-context check (confirmed, risk high): gh issue view 4612 (OPEN; 2026-10-04 triage recommends close); gh pr view 6267 MERGED 2026-10-04; origin/main lib/hook-utils.sh:278-300 hook::notice_once (model marker per session+agent, user marker per session); git grep 'every eighth' origin/main: only CHANGELOGs and a stay-quiet test (lib/hook-utils.test.sh:1381); git grep 'once per session and agent' in setup SKILL.md/evals on origin/main
Closing: Done-when option (b) shipped across all carriers; #6267 then made the user-channel notice once per session
Activity
docs(plugins): bump manifests for the once-per-session skip notice (#…
docs(plugins): say skip notices fire once per session and agent (#4612)
docs(plugins): bump manifests for the once-per-session skip notice (#…
docs(plugins): say skip notices fire once per session and agent (#4612)
docs(plugins): bump manifests for the once-per-session skip notice (#…
docs(plugins): say skip notices fire once per session and agent (#4612)
docs(plugins): bump manifests for the once-per-session skip notice (#…
fix(autonomy): cite #4612 without naming the org in the changelog
docs(actionlint): state the real notice cadence and report actionlint…
kyle-sexton commentedon Sep 29, 2026
Reopening: this issue was closed as completed by #4737, but that PR fixed READMEs only. The review comments on #4737 listed setup SKILL.md bodies that the merged diff never touched. This comes from the 2026-09-29 audit of the Cursor run.
What landed
README wording and actionlint 0.9.4.
What did not land
docs/conformance-dimensions.md:31(dim-9 row) says "once-per-session".Where each is fixed
fix/audit-actionlint), which references this issue withRefs #4612.Note on wording
Prerequisite-class notices (biome-format, go-format, markdown-format, and actionlint once #5264 lands) are session-only, shared across agents. The other classes are once per session and agent. The wordings differ by class on purpose.
Next
This stays open until every sibling PR is merged. The owner closes it.
docs(actionlint): declare node, restore scope matching, date the hook…
fix(bash-format): cover the gitignored option in setup skill and READ…
2 remaining items
fix(powershell-format): correct the 0.8.5 changelog entry to what shi…
docs(hooks): state the jq notice cadence in the remaining hook comments
docs(hooks): state the notice cadence in the markdown-format, lane-st…
docs(guardrails): state the notice cadence in the comments that wrap …
fix: state the jq skip-notice cadence as once per session and agent (#…
kyle-sexton commentedon Oct 1, 2026
PR #5745 is merged (b1f3e08). It rewords the jq-class skip-notice cadence to "once per session and agent" in the setup skills, evals, hook tests, hook script comments and
lib/hook-utils.sh(all 18 carriers resynced). Sibling PRs, all merged: #4737 #5250 #5251 #5264 #5245 #5246 #5271 #5275 #5468. Lines left as they were: missing-binary (prerequisite-class) notices, which latch on session alone; the frozen judge-calibration fixtures; and test-file comments for non-jq, non-binary notices. This issue stays open for the owner to decide on closing.kyle-sexton commentedon Oct 4, 2026
This was generated by AI during triage.
Triage: the work looks done. The 2026-10-01 comment leaves closing to the owner, so this is routed to the owner to confirm.
Question: close #4612 as completed? Recommended: yes.
Done-when option (b) is delivered. The skip-notice marker stays keyed on session and agent for the jq-class notices, on purpose, and every carrier now says so: "once per session and agent, renewed every eighth skip". Missing-binary (prerequisite-class) notices latch on the session alone and correctly say "once per session". A repository-wide search on current main finds no jq-class carrier still saying "once per session". The fixes landed in #4737, #5745, #5250, #5251, #5264, #5245, #5246, #5271, #5275 and #5468, all merged.
Reopen-worthy evidence: a multi-subagent run showing a jq-class carrier that still says "once per session". Option (a), session-only dedup for every class, would be a new behavior change and its own item.
Basis: verified,
lib/hook-utils.sh(marker key and the prerequisite-class session override) and the hook-observability convention's skip-notice line on main; repository grep; linked PR states.kyle-sexton commentedon Oct 13, 2026
Decision recorded. The owner approved applying independently verified recommendations (high-risk set, reviewed) on 2026-10-13.
Docs said skip notices fire once per session while the marker keyed on session and agent. Every carrier was reworded (#4737, #5745 and siblings), and #6267 changed hook::notice_once so the user notice fires once per session and the model notice once per session and agent.
Verification notes:
Verified by an independent fresh-context check (confirmed, risk high): gh issue view 4612 (OPEN; 2026-10-04 triage recommends close); gh pr view 6267 MERGED 2026-10-04; origin/main lib/hook-utils.sh:278-300 hook::notice_once (model marker per session+agent, user marker per session); git grep 'every eighth' origin/main: only CHANGELOGs and a stay-quiet test (lib/hook-utils.test.sh:1381); git grep 'once per session and agent' in setup SKILL.md/evals on origin/main
Closing: Done-when option (b) shipped across all carriers; #6267 then made the user-channel notice once per session