Skip to content

[pull] main from livekit:main - #492

Merged
pull[bot] merged 1 commit into
erickirt:mainfrom
livekit:main
Sep 23, 2026
Merged

pull[bot] merged 1 commit into
erickirt:mainfrom
livekit:main

Conversation

@pull

@pull pull Bot commented Sep 23, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

…1799)

* agent_simulation: repeat scenarios within a run for pass@k / pass^k

A run today holds exactly one job per scenario, so a single flaky attempt
is indistinguishable from a broken scenario. `Create.Request.repeats` asks
for k attempts of every scenario in one run; each Job carries the
`scenario_id` and 1-based `attempt` it belongs to so jobs group back into
scenarios. `RunMetrics.pass_at_k` (at least one attempt passed) and
`pass_pow_k` (every attempt passed) summarize the run over scenarios.

* agent_simulation: rename repeats to samples

* agent_simulation: rename Job.attempt to sample

* generated protobuf

* agent_simulation: decide a scenario's verdict from a min_sample_pass_rate

A scenario is all-or-nothing today, so repeating it can only ever make it
harder to pass. min_sample_pass_rate is the share of a scenario's samples
that must pass for that scenario to pass, set on Create.Request and
mirrored on SimulationRun so the dashboard can render a verdict without
being told the bar out of band. 0/unset requires every sample, which is
the current behaviour. The run still fails if any scenario fails, and
pass@k / pass^k stay informational.

* generated protobuf

* agent_simulation: rename min_sample_pass_rate to pass_rate

* generated protobuf

* agent_simulation: samples and pass_rate have no unset, only 0

* generated protobuf

* agent_simulation: give samples and pass_rate explicit presence

0 samples means run nothing and a 0 pass rate means require nothing, so
neither zero value can stand for "the caller said nothing" without a
remap that lives only in a comment. Absence carries that instead, and an
explicit 0 becomes a rejectable input. SimulationRun.samples stays plain:
a materialized run always has a real count, 1 when it ran once.

* generated protobuf

* agent_simulation: fold samples and pass_rate into a Sampling message

pass_rate is meaningless without samples > 1, so the two are one
decision and a request carrying only one of them is not a state worth
representing. Inside Sampling both are plain: 0 samples and a 0 pass
rate are naturally invalid, so neither needs a presence bit to stand in
for "the caller said nothing".

* generated protobuf

---------

Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
@pull pull Bot locked and limited conversation to collaborators Sep 23, 2026
@pull pull Bot added the ⤵️ pull label Sep 23, 2026
@pull
pull Bot merged commit 935e69b into erickirt:main Sep 23, 2026
1 check passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant