docs: eval-return-experiments, the twelve experiments and the scorecard that grades them - #59
Merged
Merged
Conversation
…rd that grades them Records the design for measuring whether linter-driven development is worth its tokens: eight experiments on the plugin against plain prompts and rules files across models, four on whether clean code pays off for the next agent, the three-layer scorecard (correctness, structure as ISO 25010 via the SIG model, a pairwise design judge), the method rules from the 2023-2026 agent-evaluation literature, a note on Jev as the layer C scorer, and the run order with budgets at five runs per cell. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
Unresolved inconsistencies affect budgets, reproducibility, metric definitions, and experiment scope.
Get a fresh assessment by requesting another Copilot review.
Review effort: Lite
Findings: 1
Open (3)
What changed in this PR
Adds a draft design for evaluating plugin value, downstream code quality, and return on tokens across twelve experiments.
Changes:
- Defines experiments, budgets, metrics, and execution order.
- Adds a correctness, structure, and design scorecard.
- Links the new guide from the documentation index.
| File | Description |
|---|---|
docs/eval-return-experiments.md |
Experimental plan, scoring framework, and execution guidance |
docs/index.md |
Links the new evaluation document |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…from planned tools, R7 is visible Addresses the review: experiment 3 grades a refactor against its oracle and cannot be folded into experiment 8's review cell, so it stays a separate arm gated on 2 and 7; the SIG mapping table now separates the tools the postcheck runs today from the ones to add; R7 (test placement) is read from the tree, so it joins the rules structural metrics can see. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN
Replaces the decisions-per-dollar run list with six gates: the most important experiment runs first with its pass criterion written down before it starts, and nothing further is spent on a fail. Experiment 7's first four cells are gate 1; experiment 4's free accounting moves to the fine-tuning gate since its result only matters once the plugin passes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN
…tor output py-mini-ldd replaces py-mini-clean: py-mini after one full plugin refactor pass, committed as the plugin left it, no hand finishing, with its own review-full count recorded. Part two then proves that code LDD refactored is easier to extend, locate bugs in and read, not that an ideal clean codebase is. The hand-finished twin stays as an optional third arm, and a best-of-five caveat covers refactor variance. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN
…tes, mutation, decay, cost Takes the harness-obsolescence argument as a hypothesis the gates test: the rules-file arm is the generated coding-rules handbook rather than a hand-condensed summary; a handbook-plus-lint-gates arm adds the token-free delivery to experiments 7 and 8; mutation score joins layer A; gate 1 re-runs on each major model release as a decay check; and cost per passing feature within a stated multiple of the plain cell becomes part of gate 1's pass criterion. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN
Puts the token diet's four choreography stages (S1 hunters read the scope once, S2 rules by reference, S3 agent budgets, S4 skill text diet) ahead of gate 1, since the cost bound would fail on the plugin as it stands for a reason the spend report already gave. The proofs run in two pairs, S1 with S2 and S3 with S4, about $100 in total, with a bisect rule and the alternatives priced. Gate 1's three plugin-free cells run in parallel with the diet; its plugin cell waits for the slim plugin. Development and proof are separable. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN
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.


Summary
Adds
docs/eval-return-experiments.md, the design for measuring whether linter-driven development is worth its tokens, and its line indocs/index.md. Nothing in it has run yet; this records the plan so the evals repository can build against it.Part one, is the plugin worth its tokens. Eight experiments that add the arms every baseline has been missing: the same task with no plugin, with the generated coding-rules handbook alone, with the handbook plus the rule greps as lint gates (the token-free delivery), and with the full plugin, across Sonnet, Opus and Fable. Experiment 7 (writing features from a fixed spec, then reviewing the result for the plants it added) starts with four cells and a decision table for which cell comes next. Experiment 8 (the review task on the same grid) separates the twelve rules from the machinery that applies them. Experiment 3 (a cheaper model with the plugin against a stronger one without, on the refactor oracles) stays a separate arm gated on 2 and 7.
Part two, does the code LDD refactored pay off for the next agent. Four experiments on py-mini-ldd, py-mini after one full plugin refactor pass committed as the plugin left it, against the dirty original, with the plugin out of the picture: comprehension questions, adding a feature, fixing an injected bug, five features in sequence. A hand-finished clean twin is an optional third arm.
The scorecard. Three layers every run is graded on: correctness with differential testing, pass^k and an optional mutation score; structure as deltas in ISO 25010 terms via the SIG maintainability model's risk bands, with the tools the postcheck runs today separated from the ones still to add; design as the plugin's plant count labelled rules conformance plus an independent pairwise, blinded judge. The section states which rules structural metrics can see (R3, R4, R5, R7, R8, R11) and which only a review or judge can, lists the measures to avoid on the evidence, and gives the method rules from the 2023 to 2026 agent-evaluation literature, including a decay check that re-runs gate 1 on each major model release. A note covers TypeSafe's Jev as a candidate scorer for the judge, gated on calibration and excluded from any WEKA code.
Ranking and a gated run order. The ranking is by decisions changed per dollar. The run order is six gates: the most important experiment runs first with its pass criterion written down before it starts, including a cost-per-passing-feature bound, and nothing further is spent on a fail. All budgets assume five runs per cell.
Checks
check-repo-brain.shover the docs: clean on every commit. The wrapperscripts/check-docs.shcould not run in this environment becausersyncis missing, so the gate was run directly on the repo root.🤖 Generated with Claude Code
https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN