fix(eval): adopt agent-eval 0.135.1 - #139
Conversation
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — ba9b407c
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
tangletools · auto-approval · reason: drewstone_author · 2026-07-28T23:04:03Z
|
| State | Detail |
|---|---|
| Interrupted | webhook restarted |
No review verdict was produced for this run. Trigger a fresh review on the current PR head if the PR is still open.
tangletools · #139 · model: kimi-for-coding · updated 2026-07-28T23:05:24Z
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — ba9b407c
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
tangletools · auto-approval · reason: drewstone_author · 2026-07-28T23:06:20Z
tangletools
left a comment
There was a problem hiding this comment.
🟢 Value Audit — sound
| Verdict | sound |
| Concerns | 0 (none) |
| Heuristic | 0.0s |
| Duplication | 0.0s |
| Interrogation | 77.0s (2 bridge agents) |
| Total | 77.0s |
💰 Value — sound
Forced migration off removed agent-eval prompt-evolution APIs, executed as a clean simplification (the old evolution call was already a no-op ranking pass); no capability lost, no better approach available.
- What it does: Three coupled dep bumps in one PR: (1) pins @tangle-network/agent-eval to 0.135.1 (from ^0.23.0) and rewrites bench/research/webvoyager-agent-eval-loop.mjs to drop runPromptEvolution/JsonlTrialCache/aggregateRunScore in favor of the maintained PairwiseSteeringOptimizer + AxGepaSteeringOptimizer APIs; (2) bumps the optional ai-sdk-provider-claude-code from ^2.2.3 to 3.5.3 and simplifies scripts/pos
- Goals it achieves: Keep the WebVoyager research command working against a current agent-eval (the old prompt-evolution exports were removed upstream), and keep the fail-closed Claude Code process-error patch aligned with the provider's 3.5.x source. Net effect: the command gets simpler (-107 lines), depends only on maintained APIs, and the postinstall patch has fewer fragile needle anchors.
- Assessment: Good change, in the codebase's grain. The key signal: the old runPromptEvolution call (bench/research/webvoyager-agent-eval-loop.mjs:124-125 in HEAD~1) ran with generations:1 and a mutateAdapter.mutate that literally threw — so it was already just a single-generation ranking pass that produced evolution.bestVariant.id. The new code produces the equivalent pairwise.recommendedVariantId (webvoyager-
- Better / existing approach: none — this is the right approach. Searched for a local equivalent to reuse: the only other GEPA-style loop is bench/design/gepa/loop.ts, but it is design-audit-specific and its own header comment (loop.ts:16-17) says it is 'upstreamable to agent-eval' — i.e. the upstream is the canonical home, exactly what this PR migrrates onto. The WebVoyager file correctly stays a thin adapter (help text at :3
- Model: opencode/zai-coding-plan/glm-5.2
- Bridge attempts: 2
- Bridge warning: opencode/kimi-for-coding/k2p7: bridge stream ended without value-audit content
🎯 Usefulness — sound
Forced dependency migration that keeps two already-reachable capabilities (WebVoyager research loop, Claude Code provider patch) working against agent-eval 0.135.1's removed exports; no new surface, no dead code introduced.
- Integration: Both touchpoints are wired and reachable. The WebVoyager loop is exposed as
pnpm research:webvoyager:agent-eval(package.json:50) and itsoptimizesubcommand consumes the newPairwiseSteeringOptimizer().optimize(rows,{weights})return shape fully —recommendedVariantId(line 106),backend(line 124),rankings(line 126). The provider patch runs on every install via thepostinstallsc - Fit with existing patterns: Migration to
PairwiseSteeringOptimizermatches the codebase's own stated direction — the updated help text (line 314) explicitly reframes the script as 'Browser Agent Driver produces and scores variants; agent-eval ranks them,' consistent with the existing thin-adapter pattern shared with extract-google-flights-corpus.mjs. The patch continues the repo's established fail-closed string-anchor patc - Real-world viability: The optimize path degrades gracefully: AxGEPA skips cleanly on <2 variants or missing keys (lines 207-218), and the pairwise ranking still produces a result for the single-variant case (the explicit
variantIds.length < 2branch at line 128). The postinstall patch is fail-closed — if upstream 3.5.3'sreceivedResultMessageanchor or catch-block shape drifts, it throws with a clear message (line - Model: opencode/zai-coding-plan/glm-5.2
- Bridge attempts: 1
No concerns — sound change, no better or existing approach found. ✅
What this audit checks
It judges the change on its merits — not whether it was tasked out in an issue. Unticketed, fast-moving work is fine; the question is whether the change is good and whether a better or existing approach should be used instead.
| Pass | What it asks |
|---|---|
| Heuristic | Vague title? Whitespace-only or cruft-bearing diff? (content signals only) |
| Duplication | Do added function/class names already exist elsewhere in the repo? |
| Value Audit | What does it do? What goal does it achieve? Is it good? Better architecture or already-exists? |
| Usefulness Audit | Does it integrate and fit? Will it hold up in real use and actually get used? |
Findings are concerns, not blocks — the human reviewer decides what to do with them.
✅ No Blockers —
|
tangletools
left a comment
There was a problem hiding this comment.
✅ Approved — 10 non-blocking findings — ba9b407c
Full multi-shot audit completed 5/5 planned shots over 5 changed files. Global verifier still owns final merge decision.
Full immutable report for this review: trace
Summary comment for this run: full summary
tangletools · 2026-07-28T23:13:22Z · immutable trace
tangletools
left a comment
There was a problem hiding this comment.
✅ Auto-approved drewstone PR — 21f345b8
This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.
tangletools · auto-approval · reason: drewstone_author · 2026-07-28T23:17:43Z
Summary
Checks
Security