RunComparison
junjo.studio.RunComparison
Kind: Class
SDK version: 0.69.0
Documentation channel: Stable release
Comparison of two revisions evaluated against one locked dataset.
Use the aligned case outcomes before requesting larger trace payloads. An unchanged status does not mean the output or execution was identical.
comparison = await studio.compare_runs(baseline_id, candidate_id)for row in comparison.rows: print(row.case.case_key, row.transition, row.duration_delta_ms)print(comparison.transition_counts.regressed)print(comparison.transition_counts.newly_errored)Members
Section titled “Members”dataset
Section titled “dataset”dataset: DatasetReadDataset metadata, including its immutable identity and lock status.
scope: RunScopeConjunctive case filters used to select the comparison rows.
baseline_run
Section titled “baseline_run”baseline_run: RunReadBaseline run metadata and its clean committed application revision.
candidate_run
Section titled “candidate_run”candidate_run: RunReadCandidate run metadata and its clean committed application revision.
baseline_summary
Section titled “baseline_summary”baseline_summary: RunComparisonSummaryOutcome totals for the baseline cases selected by the comparison scope.
candidate_summary
Section titled “candidate_summary”candidate_summary: RunComparisonSummaryOutcome totals for the candidate cases selected by the comparison scope.
transition_counts
Section titled “transition_counts”transition_counts: RunComparisonTransitionCountsCounts of status transitions across the aligned cases.
rows: tuple[RunComparisonRow, ...] = Field(max_length=MAX_CASES_PER_DATASET)Comparison rows aligned by immutable case identity and ordered by dataset ordinal.