Repository navigation
Add simplicity-reviewer, a counterweight to over-engineering - #12
Merged
Merged
Conversation
Every reviewer in the process pushes the same way: each finds a gap, and each gap becomes another check, overload, trait or reason text. No agent asks whether an addition earns its cost. Phase 1 grew from 0.5-1 to 6.5-9.5 developer-days once its design and reviews were done, the combinators went from four static_asserts to 18 deleted declarations, and F3 needed three review rounds of protection against malformed client solvers. The new agent weighs each item's cost against how likely the mistake is for an ordinary caller, and recommends keep, simplify, cut or defer, with the simpler alternative, what is lost and what is saved. Its hard limits: it never weakens rule 5, never reopens a §2/§12 decision, keeps std::is_invocable_v false for an ordinary caller's mistakes, keeps portability and determinism, and respects the current phase. Any cut to an approved design, or a narrowed rule, goes to the user as needs a decision. CLAUDE.md: a row in the agent table. Step 3: it always reviews design notes, core notes included. Step 7: it reviews a diff that adds public names, overloads, traits or reason texts to the library, or more than about 300 lines under include/. Checked by docs-auditor, whose four findings are applied. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
The agent’s final instruction incorrectly routes step-7 implementation findings through the step-4 architect workflow.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
Adds a simplicity-focused reviewer to counter over-engineering in design and implementation reviews.
Changes:
- Defines the reviewer’s scope, constraints, workflow, and output.
- Integrates it into design-note and implementation review processes.
| File | Description |
|---|---|
CLAUDE.md |
Registers the agent and its invocation points. |
.claude/agents/simplicity-reviewer.md |
Defines the new reviewer. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
The closing line sent every finding to the architect in step 4, which only fits a design-note review. A step-7 diff review has no architect step: the main session reproduces each finding and gives the fix back to the same reviewer (CLAUDE.md step 7). An approved DESIGN section goes straight to the user. The user still decides every cut. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Why
Every reviewer in the process pushes the same way: each finds a gap, and each gap becomes another check, overload, trait or reason text. No agent asks whether an addition earns its cost. Recent examples:
static_asserts to 18 deleted declarations;This adds the counterweight.
What
.claude/agents/simplicity-reviewer.md, in the project's agent pattern (opus, high; read-only, with Write for scratch probes only). It is "an expert in API and library design specializing in finding the smallest design that meets a requirement".std::is_invocable_vfalse for an ordinary caller's mistakes; keep portability, the compiler floor and determinism; respect the current phase. A cut to an approved design, or a narrowed rule, is markedneeds a decisionfor the maintainer.include/.Verification
docs-auditorchecked the agent and the CLAUDE.md edits against CLAUDE.md's rules, DESIGN and the other agents. Its four findings are applied: the step-3 wording, the approved-DESIGN-section case in the table row, a definition of "large diff", and the Write tool for scratch probes.Next
Run it on the approved phase-1 design (DESIGN §6, [phase 1, approved 2026-10-04; not built]) before B7 is built. Any cut it proposes goes to the maintainer.
🤖 Generated with Claude Code