Repository navigation
MultiEdit sweep: repo-wide leftovers outside guardrails and context-budget #5810
Description
Activity
- addedneeds-triageNot yet classified. Floor until a type and one priority tier are set.Not yet classified. Floor until a type and one priority tier are set.
on Oct 2, 2026 - added a commit that references this issue
on Oct 2, 2026 This was generated by AI during triage.
Triage
Routing: delegable, priority low (documentation and comment hygiene, no behavior change), work class scoped (each hit needs a classify-and-act judgment). The precondition has landed: #5806 closed via #5822 (merged 2026-10-02).
Current hits on main (
git grep -n MultiEditexcluding CHANGELOGs, ate3bef1210), beyond what the issue lists:plugins/session-flow/skills/audit-sessions/scripts/collect.py:64, an edit-tool set namingMultiEditwith no pointer or check date.plugins/guardrails/README.md:1050and:1174, release-narrative mentions of the oldWrite|Edit|MultiEdit|NotebookEditmatcher.- Line numbers have shifted for the listed ones (for example the parser comment is now at
parse_transcript.py:102-108, the criteria row atcriteria.md:334). - No live hook matcher names
MultiEdit(that acceptance item is already met; keep it as a regression check).
Basis: verified,git grep -n MultiEdit origin/main -- . ':!**/CHANGELOG.md'.
Agent Brief
Type: Task
Summary: Classify and tidy every remaining non-CHANGELOG mention of the legacyMultiEdittool.Current behavior:
After #5822 removed the live hook matchers,MultiEditis still named in plugin READMEs, a performance reference, a permission-lint rule with its criteria row and test, transcript parsers and collectors with their tests, and a telemetry schema. Some carry an upstream pointer, check date and recheck trigger; some do not.Desired behavior:
Every mention falls in exactly one class: dated record with a recheck trigger, upstream pointer, kept for legacy input (old transcripts, old telemetry rows), or removed. Every kept mention carries a permissions-docs or tools-reference pointer and a check date. Transcript parsers and collectors keep acceptingMultiEditbecause older transcripts contain it. CHANGELOG entries are release history and stay.Key interfaces:
- The permission-plane lint's uncovered-path rule, its criteria row and its test: fetch the current permissions page first; retire all three only if that page no longer names legacy
MultiEdit, otherwise keep them with a refreshed check date. - The edit-tool sets in the retro transcript parser, the audit-sessions collector and the discovery re-read counter.
- The hook-telemetry schema for the drive-root temp guard (historical rows still carry the value).
Acceptance criteria:
- Re-run the grep on current main; the closing PR lists every non-CHANGELOG hit with its class.
- No hook matcher anywhere names
MultiEdit. - Every kept mention has a pointer and a check date; the audit-sessions collector's set gains one.
- The repository's affected-tests run and the changelog parity bump check pass; each touched plugin is bumped with a CHANGELOG entry.
Out of scope:
- CHANGELOG entries.
- Removing
MultiEditsupport from any transcript parser or collector. - Hook matcher changes beyond confirming none names
MultiEdit.
- addedpriority: lowNice-to-have, cosmetic, or speculative; opportunistic.Nice-to-have, cosmetic, or speculative; opportunistic.agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.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.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.and removedneeds-triageNot yet classified. Floor until a type and one priority tier are set.Not yet classified. Floor until a type and one priority tier are set.
on Oct 4, 2026 This was generated by AI during work-loop.
Approve this for autonomous dispatch, or keep it for a human?
Triage marked this delegable as a feature-shaped C3 (
work-class: scoped). The work-loop admission gate human-gates feature-shaped C3 work, so the lane removedagent-readyand appliedneeds-human. To dispatch it, flip it back through/work-items:attend-queue.Lane: work-loop, instance melo-worker-1, cycle 1.
- addedneeds-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.Human-in-the-loop required; autonomous sessions must not resolve items carrying this.and removedagent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.
on Oct 4, 2026
Problem
MultiEditappears in 25 files at681ca49e6. #5806 (D7, narrowed by decision Q36) removesonly the live hook matchers in guardrails and context-budget and the prose that describes them. It
deliberately keeps the legacy permission rule and the transcript parsers, because the permissions
docs still document legacy
MultiEditand old transcripts still contain it. This issue coverswhat that PR leaves.
Evidence (at
681ca49e6)Files that Phase 7 leaves untouched:
plugins/harness-ops/skills/audit-performance/reference/known-performance-issues.md:197:names "the legacy
MultiEdit" in a path-rule list.plugins/markdown-format/README.md:110-113and
plugins/typos-format/README.md:99-103:dated records with a recheck trigger. These are correct today.
plugins/guardrails/README.md:515,528: a dated transcript-evidence record.plugins/harness-config/skills/audit-permission-state/scripts/permission-plane-lint.test.sh:194and
plugins/session-flow/skills/retro/scripts/test_parse_transcript.py:752-762.Kept by Phase 7, each with a pointer to the permissions docs:
plugins/harness-config/skills/audit-permission-state/scripts/permission-plane-lint.sh:259andplugins/harness-config/skills/audit-permission-state/reference/criteria.md:326;parse_transcript.py:96andplugins/discovery/tests/count-rereads.py:30;docs/conventions/hook-telemetry/data/block-windows-drive-tmp.schema.json.The CHANGELOG mentions in guardrails, context-budget, markdown-format and typos-format are release
history and stay (Q42).
Proposed fix / scope
git grep -n MultiEdit -- . ':!**/CHANGELOG.md'and list any new hits.upstream docs, or remove it. In any file touched, remove dated or obsolete material (Q36).
legacy
MultiEdit, retire the kept lint rule, itscriteria.mdrow and its test. Keep thetranscript parsers while old transcripts may still carry the tool.
Acceptance
MultiEdithit on main is classified (dated record, upstream pointer,kept for legacy input, or removed), and the classification is listed in the closing PR.
MultiEdit.scripts/affected-tests.sh --runandcheck-changelog-parity.sh --check-bumppass.