v0.18.0 — how many runs before a difference is real - #16
Merged
Conversation
agent-evals shipped 315 lines about what to assert with no references/ directory at all, and said nothing anywhere about how many times to run anything. A skill whose job is answering "did it get better" could not tell a result from noise. references/statistics.md, every figure recomputed rather than quoted: - SE(p)=sqrt(p(1-p)/n); at n=100,p=0.70 the 95% band is +-8.98pp, so 73 vs 70 on a hundred cases is inside its own noise, and the remedy is more tasks - pass@k and pass^k differ by 91 points on one agent (99.0% vs 7.8% at p=0.6,k=5) - trials are NOT independent: tau-bench airline runs 0.460/0.326/0.263/0.225 where independence predicts 0.460/0.212/0.097/0.045. pass^k cannot be exponentiated from pass^1. This came out of recomputing the table, not from the source that prompted the work. - pairing on the same tasks and 3-5 seeds; the harness as a 6pp variable needing a floor AND a ceiling; the ladder ending on "4/4 on a slice is not 100%" Section 5's trajectory rule moved BETWEEN its two measured edges rather than flipping: Anthropic calls exact tool-order assertions "too rigid", and a trajectory-blind grader misses 44% of safety violations. It now reads "read the trajectory; do not match it" — a set and a forbidden list, never an order. B-124, ST-1..6. Gate: npm test rc=0. Co-Authored-By: Claude Opus 5 (1M context) <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.
agent-evalsshipped 315 lines of doctrine with noreferences/directory at all, and said nothing anywhere about how many times to run anything. A skill whose entire job is answering did it get better had no way to tell a result from noise.grep -niE 'pass@|pass\^|variance|significance|seeds?'over its SKILL.md returned one hit — about escalation, unrelated.references/statistics.mdEvery figure recomputed before it was written, never quoted:
SE(p)=√(p(1−p)/n), n=100, p=0.70pass@5vspass^5at p=0.60.75³And one finding that is ours, from recomputing rather than restating.
pass^k = p^kassumes independent trials. τ-bench's published airline curve says otherwise:0.460^kif independentThe observed curve falls far slower — successes cluster by task, not by trial. So
pass^kcannot be computed frompass^1, and0.75³ ≈ 42%is the right shape for an argument and the wrong number for a release gate.Also in the file: pairing on the same tasks and 3–5 seeds (McNemar / paired bootstrap), the harness as a 6 pp variable on Terminal-Bench 2.0 needing a floor and a ceiling because two caps measure two different agents, and an evidence ladder ending on the rule people skip — 4/4 on a slice is not 100% system-wide.
§5 moved between its two measured edges
It read "Judge the trajectory, not just the answer. Right tools, right order, right arguments."
So the rule did not flip to "grade the final answer". It now reads read the trajectory; do not match it — assert what was produced and what changed, and use the trajectory as a set and a forbidden list for the claims an outcome cannot carry. §2's axis table lost its
→sequence example for the same reason.The single-step example keeps "must call
find_meeting_timesfirst", now with a sentence saying why: at that granularity the fixture is one decision, so ordering is the subject rather than a proxy for it.Evidence
npm test→rc=0. The gate's references↔SKILL.md two-way check binds the new file — a link to a missing reference and an unlinked orphan both fail it. Body ~4343 tokens, inside the 4750 working limit.Board B-124. Ledger ST-1 … ST-6.
🤖 Generated with Claude Code