Repository navigation
Conversation
SimulationRun.List.Request gains scenario_group_id, to narrow the list to one scenario group, and include_jobs, to return each run's jobs, which the list otherwise omits. Together they let a scenario-group page read every scenario's verdict across its recent runs in one call.
🦋 Changeset detectedLatest commit: d5a0023 The changes in this PR will be included in the next version bump. This PR includes changesets to release 2 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
A list page holds 20 runs of up to 250 jobs, and whole jobs (per-turn metrics, instructions, expectations) can reach several KB each: past NATS' message cap for a large scenario group. The page that sets include_jobs reads only each job's outcome, so that is all the list returns; Get still returns whole jobs.
include_jobs is replaced by include_scenario_outcomes, which fills SimulationRun.scenario_outcomes: one entry per scenario with its sample, passed and failed counts, the first failure's reason and the job to open. A scenario group page reads 20 runs of up to 250 jobs; tallies keep that to tens of bytes per scenario where jobs, even trimmed to their outcome, carried a row per sample.
theomonnom
reviewed
Oct 20, 2026
| optional string scenario_group_id = 8; | ||
| // Populates each run's `scenario_outcomes`. `jobs` stays empty either | ||
| // way; `Get` returns them. | ||
| bool include_scenario_outcomes = 9; |
Member
There was a problem hiding this comment.
Suggested change
| bool include_scenario_outcomes = 9; |
No need for it, check the review on agents-private
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
Two fields on
SimulationRun.List.Request, and one onSimulationRun:optional string scenario_group_id = 8narrows the list to one scenario group (itsSCNG_id).bool include_scenario_outcomes = 9fills each listed run's newrepeated ScenarioOutcome scenario_outcomes = 24: one entry per scenario withsamples,passed,failed, the first failure'sfailure_reason, and thejob_idto open.jobsstays empty onList;Getstill returns whole jobs.Why
The Simulations dashboard is getting a page per scenario group that shows every scenario's verdict across the group's recent runs. Today that would take one
Getper run, sinceListhas no group filter and returns no jobs. With these fields it is oneListcall. A page holds 20 runs of up to 250 jobs; whole jobs (per-turn metrics, scenario text) are several KB each and would pass NATS' 8 MB message cap. Tallies are tens of bytes per scenario, plus a failure reason only where a scenario failed.Runs created before the agent service stored the group id carry none, so a
scenario_group_idfilter never matches them; the field comment says so.Follow-ups
ListSimulationRuns.