Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
bump: minor
Comment on lines +1 to +2

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: this fragment repeats a change that has already been released. plugins/docs-hygiene/CHANGELOG.md L3-L7 on head already has ## [2.5.0] - 2026-11-03 with this exact change: the Certain bucket no longer asks, the report gives the count, examples and one-by-one route, and the gate, Chain-context and Ambiguous buckets are unchanged (#12593, #12592). Main shipped it after this branch was cut.

If this fragment is merged, the next release will:

  • bump docs-hygiene to 2.6.0 (bump: minor), though nothing new reaches users. The only remaining apply.md edits are the heading and the Phase 5 sentence, which add no behaviour;
  • add a second, near-identical ### Changed entry under 2.6.0.

Fix: delete the fragment. If you want the Phase 5 wording recorded, use a bump: patch fragment that describes just that wording change.

claude-lane: claude-review

---

### Changed

- `/docs-hygiene:rename-references` apply mode no longer asks before applying the Certain bucket.
It applies those matches by default and reports the count, one or two example matches, and how
to review the bucket one match at a time instead. The proceed/abort gate, the Chain-context
prompt and the per-match Ambiguous prompts are unchanged. (#12592)
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Classify per [triage.md](triage.md) into Certain / Chain-context / Ambiguous / E

Present bucket counts via the report template from [triage.md](triage.md) "Reporting bucket counts." Then gate the proceed/abort decision via `AskUserQuestion`.

Per-bucket confirmation flow:
Per-bucket flow:

**Certain bucket:**

Expand Down Expand Up @@ -75,7 +75,7 @@ If user picks "abort" at any prompt, halt and report partial state (no matches e

### Phase 5: Apply

For each accepted match (from Phase 4 user confirmations):
For each accepted match (every Certain match not moved to one-by-one review, plus the matches accepted at the Phase 4 prompts):

- Use Edit tool with exact old/new substitution
- For matches where the form requires partial replacement (e.g., chain prose `→ confirm →` becomes `→ verify →`), construct precise old_string and new_string
Expand Down
12 changes: 12 additions & 0 deletions plugins/docs-hygiene/skills/rename-references/evals/evals.json
Original file line number Diff line number Diff line change
Expand Up @@ -610,6 +610,18 @@
"Both Certain edits are applied after the proceed answer",
"The one-by-one route uses the per-match format with a \"skip remaining Certain\" option"
]
},
{
"id": 50,
"name": "certain-bucket-auto-applies-and-reports",
"prompt": "Rename the skill /deploy-docs to /publish-docs. The sweep finds only slash-token and path references.",
"expected_output": "Every match is a Form 1 slash-token or Form 3 path, so all of them land in the Certain bucket. The skill reports the bucket counts with the Certain count and one or two example matches, says the user can answer \"review Certain one-by-one\" to review them per match instead, and gates only the proceed/abort decision. It asks no separate \"auto-apply N matches?\" question for the Certain bucket; on proceed, Phase 5 edits every Certain match.",
"files": [],
"expectations": [
"No `AskUserQuestion` asks whether to auto-apply the Certain bucket",
"The report gives the Certain count, one or two example matches, and how to review the bucket one by one instead",
"The proceed/abort gate still runs before any edit"
]
Comment on lines +614 to +624

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Advisory: eval 50 repeats eval 49 with weaker checks. Eval 49 at L600-L613 (from main) already tests the same scenario: every hit is Certain, no Certain-specific AskUserQuestion, the report shows the count, 1-2 examples and the "review Certain one-by-one" route, and the edits happen after the proceed gate. It also checks the "skip remaining Certain" option and that the example lines appear only when the count is above 0.

Eval 50's three expectations are all covered by eval 49. If eval 50 fails, it can only fail for a reason eval 49 also catches, so it adds run cost and nothing new.

This eval was meant to replace eval 49's /verify token (see the PR description). The merge with main instead kept eval 49 as it was and added this as a new case.

Fix: either

  • drop eval 50, or
  • move its /deploy-docs → /publish-docs prompt into eval 49 and delete this entry, if you still think the /verify blocklist risk is real. triage.md L83 and L115 suggest it isn't for slash and path forms.

claude-lane: claude-review

}
]
}
Loading