Skip to content

docs: eval-return-experiments, the twelve experiments and the scorecard that grades them - #59

Merged
buzzdan merged 6 commits into
mainfrom
claude/ldd-evaluation-artifact-76rpro
Sep 22, 2026
Merged

buzzdan merged 6 commits into
mainfrom
claude/ldd-evaluation-artifact-76rpro

Conversation

@buzzdan

@buzzdan buzzdan commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Summary

Adds docs/eval-return-experiments.md, the design for measuring whether linter-driven development is worth its tokens, and its line in docs/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.sh over the docs: clean on every commit. The wrapper scripts/check-docs.sh could not run in this environment because rsync is missing, so the gate was run directly on the repo root.
  • No generated plugin or handbook files are touched.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FvrtWhSgzg6DGB8kcdUZVN

…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
@buzzdan
buzzdan requested a lite review from Copilot September 21, 2026 16:58
@buzzdan
buzzdan marked this pull request as ready for review September 21, 2026 16:58

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

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 Medium severity · 2 Low severity

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.

Comment thread docs/eval-return-experiments.md Outdated
Comment thread docs/eval-return-experiments.md Outdated
Comment thread docs/eval-return-experiments.md Outdated
buzzdan and others added 5 commits September 21, 2026 17:03
…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
@buzzdan
buzzdan merged commit 2dc467e into main Sep 22, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants