Repository navigation
Closed
Task
Copy link
Labels
host-runNeeds an unattended run on a host; the host runner takes it, not a person or the issue lane.Needs an unattended run on a host; the host runner takes it, not a person or the issue lane.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Description
Refs: #7585
Parent
Slice 1 of 2 of #7585 (code-tidying: remove-comments and upkeep cadence), filed under the parent's decision record (comment).
Outcome
plugins/code-tidying/skills/dissolve-comments becomes remove-comments, with an audit action and one agent, code-tidying:comment-reviewer, working under the comment postures. dissolve-comments no longer exists.
Decisions (from #7585, D60, D106, Q26, Q39, Q42, Q201)
- Rule split. Absorb pstack's
no-commentsskill and agent rule by rule: copy 3, adapt 23, decline 4, keep ours 9. The 2026-10-20 absorption table is the rule-level spec; re-check its line numbers against main first. - Postures.
none(opt-in),necessary(pipeline default) andexplanatory(interactive default). Edit scope is a separate setting, defaultdiff. - Kept by rule.
TODO(#n), license headers, comment-plus-test pairs and correctness pragmas, per D60. - Agent settings. The comment-reviewer's model and effort come through
/multi-agent:routeoverrides. Encoding a constraint unattended needs a pre-approval setting, default off. - Linked workarounds. A linked workaround comment is still a finding: fix the cause, or
TODO(#n).
Done when
- A behavior probe records, with the Claude Code version, whether a preloaded skill's
!pre-compute lines run inside the agent. It runs before the agent design is final, and the agent is designed around the result. - The
remove-commentsskill (with anauditaction) and thecode-tidying:comment-revieweragent exist.dissolve-commentsdoes not, and every cite of it is swept. - The postures and the edit-scope setting resolve through the convention home (config-cascade: settings resolution and convention home #7571).
- Each skill-body cut ships with before/after evals showing no loss (
/evals:plugin-eval), per the repository's skill criteria. Where a negative control cannot detect a loss, the rule change ships with the gap disclosed and code-tidying: make the remove-comments body rules measurable #12703 covers making it measurable (owner decision, 2026-11-03).
Out of scope
- Upkeep cadence: slice 2 of 2 of code-tidying: remove-comments and upkeep cadence #7585.
- The spread detector (dropped, Q24).
Metadata
Metadata
Assignees
Labels
host-runNeeds an unattended run on a host; the host runner takes it, not a person or the issue lane.Needs an unattended run on a host; the host runner takes it, not a person or the issue lane.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: confirmedA maintainer confirmed the item is real and in scope; ready to be worked.A maintainer confirmed the item is real and in scope; ready to be worked.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Type
Fields
Work status
confirmed
Activity
kyle-sexton commentedon Nov 2, 2026
Behavior probe for #7585's open question: a preloaded skill's
!pre-compute lines DO run inside the agent. The agent design can rely on them.What ran
claude -p --model sonnet --plugin-dir <fixture> --allowedTools="Bash(echo:*)", on 2026-11-02.bang-probe, whose body has the lineMarker: !`echo PRECOMPUTE-RAN-$((6*7))`. Agentbang-agenthasskills: [bang-probe]andtools: Readonly, so it can neither invoke a skill nor run Bash itself.bangprobe:bang-agentand asked it to quote the Marker line from its preloaded skill content. It returnedMarker: PRECOMPUTE-RAN-42.bang-probeskill directly. It returnedMarker: PRECOMPUTE-RAN-42.Reading
The agent saw the command's output (
42), not the literal!`…`text. With no Skill or Bash tool, it could only have seen that output if the pre-compute ran when the skill was injected at agent startup. The sub-agents page says the full content of each listed skill is injected at startup; it does not say whether!lines run first, so this probe answers that.!command that the agent's own permission settings would deny. Recheck it when the comment-reviewer agent's!lines need tools beyond its allowlist, and recheck on a Claude Code release note that changes skill preloading.github-actions commentedon Nov 2, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Medium
Complexity: Medium
Uncertainty: Known
Flags: none
Blocked by: none
#12474 (comment)
I understood this as renaming
dissolve-commentstoremove-commentswith anauditaction and acode-tidying:comment-revieweragent, and sweeping every cite of the old name. The recorded decision settles the open fold-in question:audit-comment-residuestays a separate skill. The probe item is already answered in comment 1. I found no open questions left and no likely duplicates. The #7571 and #12549 numbers weren't in the open-issue list, so I treated neither as a blocker.Automated triage, applied by the lanes App.
melodic-automation-lanes commentedon Nov 2, 2026
Not admitted to the issue lane: its done-when asks for what an unattended lane run cannot perform: item 1 (a live Claude Code CLI run: "A behavior probe records, with the Claude Code version, whether a preloaded s..."); recommended split: keep the other items here as the admissible issue and move these to a child issue for 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 2, 2026
The latest triage verdict holds nothing: admission moved the issue to
status: confirmed; its comment says why.kyle-sexton commentedon Nov 2, 2026
fix(code-tidying): define verified outside constraints; keep hard_exc…
kyle-sexton commentedon Nov 3, 2026
Decision recorded. Owner, in the lane 2 session, 2026-11-03: "Go with whatever this recommends", with the standing direction attached, answering these two questions on #12549.
Fold-in versus no-loss.
audit-comment-residuestays a separate model-invoked skill with its before description, which routes to/code-tidying:remove-comments audit.remove-commentskeeps theauditaction. Basis: two preregistered passes lost only audit requests, andrewrite-a-plugin.mdstep 5 says "When no restore closes the gap, the before text ships". This partly reverses D60's fold-in.Unmeasurable body rules. The rule changes ship with the gap disclosed, and a new issue covers making them measurable. Basis: #7585's decisions approved these rules. This sets aside the runbook's unmeasurable rule for this PR.
The outcome and trigger families run once more on the final head, preregistered in #12549, before the hold lifts.