feat(eval): batch-evaluation simulate — each example owns its invoker - #2032
Open
jariy17 wants to merge 1 commit into
Open
feat(eval): batch-evaluation simulate — each example owns its invoker#2032jariy17 wants to merge 1 commit into
jariy17 wants to merge 1 commit into
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## refactor #2032 +/- ##
============================================
- Coverage 97.13% 97.10% -0.04%
============================================
Files 381 388 +7
Lines 22786 23160 +374
============================================
+ Hits 22134 22490 +356
- Misses 652 670 +18 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
jariy17
force-pushed
the
feat/eval-invoke-dataset-pr
branch
4 times, most recently
from
August 19, 2026 16:57
3c5bd50 to
7ac54d4
Compare
jariy17
force-pushed
the
feat/eval-invoke-dataset-pr
branch
from
August 19, 2026 17:16
7ac54d4 to
6a2915e
Compare
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.
What
Adds
batch-evaluation simulateto replay a dataset against a runtime and grade the resulting sessions.The invoker seam
A dataset example knows what to send and how to turn the responses into ground truth, but not how to reach the runtime. Its
RunContextowns that runtime-specific invocation:invokeDatasetresolves the runtime once, then builds a distinct invoker for each client-generated session and passes it to that example:The example decides how many times to call
invokeOnceand in what order. Its invoker decides how each call reaches the runtime for that session.Layout
Plus
src/core/invokeRuntime.ts, which extracts runtime invocation fromruntime.tsxfor reuse by bothRuntimeClientandinvokeDataset, andsrc/handlers/eval/batch-evaluation/simulate/index.tsx, which composesinvokeDatasetwithstartBatchEvaluation.Testing
bun run typecheckpasses.bun test: 1544 pass, 0 fail.invokeDataset.test.tsdrives the realEvalClient.invokeDatasetover a fake AWS layer with golden fixtures. Its snapshot covers created sessions and inline ground truth across every supported variation while exercising the loader, example classes, concurrency pool, template rendering, and runtime invocation.simulate.test.tsxsnapshots the handler's wrappedsessionMetadata.