From 3945167e29dc18a48791c89388df539a1f81f0a5 Mon Sep 17 00:00:00 2001 From: Kyle Sexton <153232337+kyle-sexton@users.noreply.github.com> Date: Tue, 29 Sep 2026 23:06:08 -0400 Subject: [PATCH 1/2] fix(review,implementation): lower effort pins on three binary-criteria checkers to medium phase-verifier, ci-log-auditor and doc-drift-detector move from effort high to medium. security-reviewer and architecture-guardian stay high. Refs #4253. Co-Authored-By: Claude Opus 5.5 --- docs/plugin-philosophy.md | 21 ++++++++++++------- .../implementation/.claude-plugin/plugin.json | 2 +- plugins/implementation/CHANGELOG.md | 8 +++++++ .../implementation/agents/phase-verifier.md | 2 +- plugins/review/.claude-plugin/plugin.json | 2 +- plugins/review/CHANGELOG.md | 9 ++++++++ plugins/review/agents/ci-log-auditor.md | 2 +- plugins/review/agents/doc-drift-detector.md | 2 +- 8 files changed, 35 insertions(+), 13 deletions(-) diff --git a/docs/plugin-philosophy.md b/docs/plugin-philosophy.md index d9ad88ae87..e504df96f9 100644 --- a/docs/plugin-philosophy.md +++ b/docs/plugin-philosophy.md @@ -1310,18 +1310,23 @@ name is not the same underlying value across models): **Pinned `effort: high` agents.** -- **Claim:** Fourteen named agents pin `effort: high` so a session tuned down for cost does not - silently cheapen consequential workers, and one more pins `effort: medium`. There is no +- **Claim:** Eleven named agents pin `effort: high` so a session tuned down for cost does not + silently cheapen consequential workers, and four pin `effort: medium`: `plan-reviewer` by its + recorded exception, and `phase-verifier`, `ci-log-auditor`, and `doc-drift-detector` because + each checks against binary criteria. The lowering is owner-decided Option B, narrow, at + `medium` and not `low`, because a low-effort executor stops detecting that it is stuck. + `security-reviewer` and `architecture-guardian` stay `high`. There is no per-invocation `effort` on Agent-tool dispatch, so a frontmatter pin is what holds a named agent's lane. The `CLAUDE_CODE_EFFORT_LEVEL` environment variable overrides every pin at once for the whole session (the environment variable still wins, per above), and a `maxEffortLevel` or organization effort cap limits any pin above the cap. Both act on the whole session; neither cited page documents a per-lane or per-plugin lever. - **Basis:** The agent definitions on origin/main (2026-09-29). `effort: high`: `implementation` - `implementer` and `phase-verifier`; `discovery` `explorer`, `researcher`, `intent-tracer`, and - `research-verifier`; `review` `code-reviewer`, `architecture-guardian`, `ci-log-auditor`, - `doc-drift-detector`, `ecosystem-specialist`, and `security-reviewer`; `plugin-quality` - `auditor`; `songwriting` `object-writer`. `effort: medium`: `planning` `plan-reviewer`. Issue + `implementer`; `discovery` `explorer`, `researcher`, `intent-tracer`, and + `research-verifier`; `review` `code-reviewer`, `architecture-guardian`, + `ecosystem-specialist`, and `security-reviewer`; `plugin-quality` + `auditor`; `songwriting` `object-writer`. `effort: medium`: `implementation` `phase-verifier`; + `review` `ci-log-auditor` and `doc-drift-detector`; `planning` `plan-reviewer`. Issue [#4253](https://github.com/melodic-software/claude-code-plugins/issues/4253) is the source of the filed list of eleven, which omits `auditor`, `object-writer`, and `research-verifier`. The Agent-tool gap is stated in this section ("a generic Agent-tool dispatch carries no effort @@ -1336,8 +1341,8 @@ name is not the same underlying value across models): tasks ([optimizing for cost and intelligence](https://platform.claude.com/docs/en/about-claude/models/optimizing-for-cost-and-intelligence), [effort](https://platform.claude.com/docs/en/build-with-claude/effort), same fetch date). - **As of:** 2026-09-29. -- **Recheck:** the Agent tool gains a per-invocation `effort` parameter, a maintainer lowers or - drops a named pin, or a plugin ships a `userConfig` effort key that actually reaches the worker. +- **Recheck:** a checker pinned `medium` misses a defect its `high` pin caught, the Agent tool gains + a per-invocation `effort` parameter, a maintainer lowers or drops a named pin, or a plugin ships a `userConfig` effort key that actually reaches the worker. **Effort is one dial of two, and the other is not an effort value.** The `thinking` parameter decides whether Claude reasons in thinking blocks; `effort` decides how hard the whole response works, diff --git a/plugins/implementation/.claude-plugin/plugin.json b/plugins/implementation/.claude-plugin/plugin.json index 21573df344..8063c2a4da 100644 --- a/plugins/implementation/.claude-plugin/plugin.json +++ b/plugins/implementation/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", "name": "implementation", - "version": "0.19.14", + "version": "0.19.15", "description": "Disciplined implementation stage: execute approved plans inline (`/implementation:implement`) or via orchestrated worker subagents (`/implementation:implement-dispatch`) with incremental validation, TDD-by-default cadence, green-checkpoint commits, scope-fence drift detection, and divergence detection that routes back to planning. Build/test/lint, testing, and outcome verification live in the companion `toolchain`, `testing`, and `verification` plugins, invoked when installed.", "author": { "name": "Melodic Software", diff --git a/plugins/implementation/CHANGELOG.md b/plugins/implementation/CHANGELOG.md index 3918e8600e..5ad46b6d4d 100644 --- a/plugins/implementation/CHANGELOG.md +++ b/plugins/implementation/CHANGELOG.md @@ -3,6 +3,14 @@ All notable changes to the `implementation` plugin are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning. +## [0.19.15] - 2026-09-29 + +### Changed + +- **`phase-verifier` pins `effort: medium`, down from `high`.** It checks a phase against binary + criteria, so the extra effort bought cost without changing the verdict. `implementer` stays at + `high`. + ## [0.19.14] - 2026-09-29 ### Added diff --git a/plugins/implementation/agents/phase-verifier.md b/plugins/implementation/agents/phase-verifier.md index fd65638c7d..80dc2f0b0a 100644 --- a/plugins/implementation/agents/phase-verifier.md +++ b/plugins/implementation/agents/phase-verifier.md @@ -6,7 +6,7 @@ skills: - testing:test-value tools: "Read, Grep, Glob, Bash, PowerShell" model: opus -effort: high +effort: medium --- You are the phase verifier: a fresh-context subagent dispatched at a phase boundary to decide diff --git a/plugins/review/.claude-plugin/plugin.json b/plugins/review/.claude-plugin/plugin.json index eb2b099a99..90f4490163 100644 --- a/plugins/review/.claude-plugin/plugin.json +++ b/plugins/review/.claude-plugin/plugin.json @@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/claude-code-plugin-manifest.json", "name": "review", - "version": "0.33.8", + "version": "0.33.9", "description": "Code-review toolkit: six reviewer agents, read-only over the reviewed code (code, security, architecture, doc drift, build/test/lint, CI-log audit), plus orchestration skills for the quality gate, fan-out, and enforceability audit (/review:audit-enforceability), an offered HTML pull-request explainer (/review:pr-explainer), and CI lane commands (/review:code-review, /review:security-review) for org reusable workflows.", "author": { "name": "Melodic Software", diff --git a/plugins/review/CHANGELOG.md b/plugins/review/CHANGELOG.md index b69c5b0bc2..ab279da2b7 100644 --- a/plugins/review/CHANGELOG.md +++ b/plugins/review/CHANGELOG.md @@ -3,6 +3,15 @@ All notable changes to the `review` plugin are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); this plugin uses semantic versioning. +## [0.33.9] - 2026-09-29 + +### Changed + +- **`ci-log-auditor` and `doc-drift-detector` pin `effort: medium`, down from `high`.** Both check + against binary criteria, so the extra effort bought cost without changing the verdict. + `code-reviewer`, `security-reviewer`, `architecture-guardian` and `ecosystem-specialist` stay at + `high`. + ## [0.33.8] - 2026-09-29 ### Security diff --git a/plugins/review/agents/ci-log-auditor.md b/plugins/review/agents/ci-log-auditor.md index c3c0c71558..bd589736e7 100644 --- a/plugins/review/agents/ci-log-auditor.md +++ b/plugins/review/agents/ci-log-auditor.md @@ -3,7 +3,7 @@ name: ci-log-auditor description: "CI run auditor, read-only over the reviewed code by instruction. Detects masked failures, silently-skipped jobs, suspicious 'success' steps, performance outliers, retry loops, and stderr drift, issues NOT raised as ##[error] markers. Use for 'audit run X', 'thorough CI review', 'why did this pass when something looks off', or after a green run the user doubts." tools: "Read, Grep, Glob, Bash" model: sonnet -effort: high +effort: medium maxTurns: 25 memory: local --- diff --git a/plugins/review/agents/doc-drift-detector.md b/plugins/review/agents/doc-drift-detector.md index 8318165868..1552417e09 100644 --- a/plugins/review/agents/doc-drift-detector.md +++ b/plugins/review/agents/doc-drift-detector.md @@ -3,7 +3,7 @@ name: doc-drift-detector description: "Documentation freshness and accuracy specialist. Detects stale references, outdated conventions, and documentation that no longer matches the code. Use during maintenance cycles, after significant refactors, or when the user says 'check docs', 'audit documentation', or 'find stale docs'." tools: "Read, Grep, Glob, Bash" model: sonnet -effort: high +effort: medium maxTurns: 30 memory: local --- From 5b8099f44b4775a048c97a4a47b8802357acc70a Mon Sep 17 00:00:00 2001 From: Kyle Sexton <153232337+kyle-sexton@users.noreply.github.com> Date: Tue, 29 Sep 2026 23:32:37 -0400 Subject: [PATCH 2/2] docs: name the three medium-pinned checkers in the effort lane rule Co-Authored-By: Claude Opus 5.5 --- docs/plugin-philosophy.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/plugin-philosophy.md b/docs/plugin-philosophy.md index e504df96f9..141e318f35 100644 --- a/docs/plugin-philosophy.md +++ b/docs/plugin-philosophy.md @@ -1220,7 +1220,9 @@ name is not the same underlying value across models): tool schema, 2026-07-29), so it structurally inherits the session level and its floor is the session baseline; promoting such a lane to a named agent is how it gains the pin (a required effort pin satisfies the named-agent bar's pin clause). `planning:plan-reviewer` pins `medium` - by the [recorded exception](#named-agent-bar). An orchestrator skill + by the [recorded exception](#named-agent-bar), and `implementation:phase-verifier`, + `review:ci-log-auditor`, and `review:doc-drift-detector` pin `medium` because each checks + against binary criteria ([pinned agents](#effort-tiers)). An orchestrator skill whose consequential work executes in generic dispatches is likewise out of reach: a skill-level pin governs the orchestrating conversation, and whether it propagates to subagents spawned while the skill is active is undocumented, so treat propagation as unknown alongside the cache