From 3eb513743ac629609f2bd58e919ec02261be4c47 Mon Sep 17 00:00:00 2001 From: Jim-jimu <49069997+bmh201708@users.noreply.github.com> Date: Wed, 7 Oct 2026 21:07:46 +0800 Subject: [PATCH] fix(benchmark): align metric comparisons with their scale Signed-off-by: Jim-jimu <49069997+bmh201708@users.noreply.github.com> --- .../smoke/benchmark-study-contract-smoke.ts | 21 ++ .../dashboard/src/data/benchmark-study.ts | 10 +- .../src/views/benchmark-study-page.tsx | 8 +- .../metric-comparison-after.png | Bin 0 -> 110254 bytes .../metric-comparison-before.png | Bin 0 -> 110200 bytes ...ashboard-benchmark-study-browser-smoke.mjs | 23 ++ .../capabilities/benchmark_toolkit/README.md | 14 ++ .../benchmark_toolkit/experiment_board.py | 17 +- .../benchmark_toolkit/factorial_contrast.py | 101 +++++++-- .../benchmark_toolkit/study_projection.py | 23 +- .../test_benchmark_experiment_board.py | 211 ++++++++++++++++++ .../test_benchmark_study_projection.py | 122 ++++++++++ 12 files changed, 517 insertions(+), 33 deletions(-) create mode 100644 docs/assets/benchmark-study/metric-comparison-after.png create mode 100644 docs/assets/benchmark-study/metric-comparison-before.png diff --git a/apps/presentation/dashboard/smoke/benchmark-study-contract-smoke.ts b/apps/presentation/dashboard/smoke/benchmark-study-contract-smoke.ts index b34dd59e3f..b3d86812cf 100644 --- a/apps/presentation/dashboard/smoke/benchmark-study-contract-smoke.ts +++ b/apps/presentation/dashboard/smoke/benchmark-study-contract-smoke.ts @@ -26,6 +26,27 @@ if (packet.contrasts.goal_hint?.binary_metric_transitions.reward?.same !== 2) th if (packet.cases[1]?.largest_eligible_primary_contrast?.metric_deltas.feature?.delta !== 2) throw new Error("case-level eligible contrast missing"); if (packet.cases[0]?.arms.some((cell) => cell.score_countable && !cell.metrics.preservation)) throw new Error("countable cell guardrail missing"); +const ratioFixture = structuredClone(fixture); +const ratioMetric = ratioFixture.cases[1]!.largest_eligible_primary_contrast!.metric_deltas.feature; +Object.assign(ratioMetric, { delta: -41, delta_rate: 0.4, direction: "improved" }); +const ratioPacket = parseBenchmarkStudyDashboard(ratioFixture); +if (ratioPacket.cases[1]?.largest_eligible_primary_contrast?.metric_deltas.feature?.delta_rate !== 0.4) throw new Error("ratio comparison scale lost"); +const unavailable = structuredClone(ratioPacket); +const unavailableMetrics = unavailable.cases[1]!.largest_eligible_primary_contrast!.metric_deltas; +unavailableMetrics.preservation = { + baseline_value: 1, candidate_value: 2, comparison_unavailable_reason: "unit_mismatch", +}; +unavailable.runs[0]!.metrics.feature!.total = 0; +parseBenchmarkStudyDashboard(unavailable); +unavailableMetrics.preservation.delta = 1; +if (parseUnexpectedComparison(unavailable)) throw new Error("unavailable comparison exposed a numeric conclusion"); +Object.assign(ratioMetric, { delta_rate: Number.POSITIVE_INFINITY }); +if (parseUnexpectedComparison(ratioFixture)) throw new Error("non-finite ratio accepted"); + +function parseUnexpectedComparison(value: unknown) { + try { parseBenchmarkStudyDashboard(value); return true; } catch { return false; } +} + const resolved = resolveBenchmarkStudyDashboardUrl("/study.json", "http://127.0.0.1:5173/benchmarks/study"); if (resolved !== "http://127.0.0.1:5173/study.json") throw new Error("local readback URL drifted"); const packaged = resolveBenchmarkStudyDashboardUrl("/chat/benchmark-study.example.json", "http://127.0.0.1:5173/chat/benchmarks/study"); diff --git a/apps/presentation/dashboard/src/data/benchmark-study.ts b/apps/presentation/dashboard/src/data/benchmark-study.ts index ffda1dc700..ef085b20f7 100644 --- a/apps/presentation/dashboard/src/data/benchmark-study.ts +++ b/apps/presentation/dashboard/src/data/benchmark-study.ts @@ -2,7 +2,7 @@ import { z } from "zod"; const metricValueSchema = z.object({ value: z.number().finite(), - total: z.number().finite().positive().optional(), + total: z.number().finite().nonnegative().optional(), unit: z.string().optional(), higher_is_better: z.boolean(), }).passthrough(); @@ -97,9 +97,13 @@ const armSchema = z.object({ const metricDeltaSchema = z.object({ baseline_value: z.number().finite(), candidate_value: z.number().finite(), - delta: z.number().finite(), + delta: z.number().finite().optional(), + delta_rate: z.number().finite().optional(), + comparison_unavailable_reason: z.string().optional(), direction: z.enum(["improved", "flat", "regressed"]).optional(), -}).passthrough(); +}).passthrough().refine((metric) => metric.comparison_unavailable_reason + ? metric.delta === undefined && metric.delta_rate === undefined && metric.direction === undefined + : metric.delta !== undefined, "Metric comparison must contain a delta or an unavailable reason"); const matchedComparisonSchema = z.object({ comparison_id: z.string(), diff --git a/apps/presentation/dashboard/src/views/benchmark-study-page.tsx b/apps/presentation/dashboard/src/views/benchmark-study-page.tsx index a4928bee29..91eba5ef1d 100644 --- a/apps/presentation/dashboard/src/views/benchmark-study-page.tsx +++ b/apps/presentation/dashboard/src/views/benchmark-study-page.tsx @@ -67,11 +67,13 @@ function metricAggregate(arm: BenchmarkStudyArm, metricName: string) { function largestContrastLabel(item: BenchmarkStudyCase, primaryMetric: string) { const contrast = item.largest_eligible_primary_contrast; const metric = contrast?.metric_deltas[primaryMetric]; - if (!contrast || !metric) return null; - const prefix = metric.delta > 0 ? "+" : ""; + if (!contrast || !metric || metric.comparison_unavailable_reason) return null; + const value = metric.delta_rate == null ? metric.delta : metric.delta_rate * 100; + if (value == null) return null; + const prefix = value > 0 ? "+" : ""; return { direction: metric.direction, - text: `${contrast.candidate_arm_id}: ${prefix}${compactNumber(metric.delta)}`, + text: `${contrast.candidate_arm_id}: ${prefix}${compactNumber(value)}${metric.delta_rate == null ? "" : " pp"}`, }; } diff --git a/docs/assets/benchmark-study/metric-comparison-after.png b/docs/assets/benchmark-study/metric-comparison-after.png new file mode 100644 index 0000000000000000000000000000000000000000..69a9712bafd44d96696cc2a9b810f33caab2b0e2 GIT binary patch literal 110254 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

j8~l$;Ue!3FbVOJ=U7s{oBC((=o=d?g=ydr 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 VgHO_b3;|DsoE=>pXs5js{{?eW4nhC` literal 0 HcmV?d00001 diff --git a/examples/dashboard-benchmark-study-browser-smoke.mjs b/examples/dashboard-benchmark-study-browser-smoke.mjs index 00f7a07b30..4218a610f0 100644 --- a/examples/dashboard-benchmark-study-browser-smoke.mjs +++ b/examples/dashboard-benchmark-study-browser-smoke.mjs @@ -142,6 +142,28 @@ async function assertCaseScopedRunSelection(page, url) { await page.getByRole("complementary").getByText("case-state-transition ยท goal_plain", { exact: true }).waitFor(); } +async function assertRatioComparisonReadback(page, url) { + // Synthetic projection isolates formatting from Python's independently tested selection. + const packet = JSON.parse(readFileSync(resolve(dashboardDir, "public/benchmark-study.example.json"), "utf8")); + const metric = packet.cases[1].largest_eligible_primary_contrast.metric_deltas.feature; + await page.route("**/ratio-comparison.json", (route) => route.fulfill({ json: packet })); + const target = new URL(url); + target.search = new URLSearchParams({ dashboardUrl: "/ratio-comparison.json", view: "cases" }).toString(); + for (const [delta, rate, direction, label, className] of [ + [-41, 0.4, "improved", "goal_hint: +40 pp", "benchmark-positive"], + [10, -0.2, "regressed", "goal_hint: -20 pp", "benchmark-negative"], + [50, 0, "flat", "goal_hint: 0 pp", ""], + ]) { + Object.assign(metric, { delta, delta_rate: rate, direction }); + await page.goto(target.toString(), { waitUntil: "networkidle" }); + const cell = page.getByRole("cell", { name: label, exact: true }); + await cell.waitFor(); + if ((await cell.getAttribute("class") ?? "") !== className) { + throw new Error(`ratio comparison direction style is inconsistent: ${label}`); + } + } +} + async function main() { const { chromium } = loadPlaywright(); const server = process.env.LOOPX_BENCHMARK_STUDY_URL ? null : startDashboardServer(); @@ -195,6 +217,7 @@ async function main() { await rejected.getByText("Benchmark dashboard source must use same-origin local readback", { exact: true }).waitFor(); await assertCaseScopedRunSelection(desktop, url); + await assertRatioComparisonReadback(desktop, url); if (pageErrors.length) throw new Error(`browser errors: ${pageErrors.join(" | ")}`); console.log("benchmark study browser smoke passed"); } finally { diff --git a/loopx/capabilities/benchmark_toolkit/README.md b/loopx/capabilities/benchmark_toolkit/README.md index 0f647c9220..ef972c1bdb 100644 --- a/loopx/capabilities/benchmark_toolkit/README.md +++ b/loopx/capabilities/benchmark_toolkit/README.md @@ -924,6 +924,20 @@ metric, comparison protocol, score countability, and treatment fidelity. Exact protocol revisions remain visible as a warning even when a declared comparison protocol says an older credible score remains semantically comparable. +Metric comparisons preserve the raw `delta` (candidate value minus baseline +value). When both metrics have positive totals, `delta_rate` determines improvement +and the dashboard's largest eligible contrast; Markdown and dashboard labels show +this change in percentage points (`pp`). Scalar metrics use the raw delta. +Units, improvement direction, and the presence of a denominator must agree. +A mismatch, zero denominator, or non-finite difference retains the endpoint values +with `comparison_unavailable_reason`, without a delta or direction. An unavailable +primary metric excludes the matched pair; an unavailable auxiliary metric does +not invalidate an otherwise eligible primary comparison. Optional unit and +direction metadata may remain absent on both sides of historical board rows. +Factorial interactions use the same scale across all four cells and retain the +existing fixed-total requirement for their primary metric. The study dashboard +does not rank a mixture of scalar and ratio contrasts against one another. + Full post-run analysis stays in private `benchmark_case_insight_v0` storage. The board records only its compact status or handle, so reading the board cannot widen the solving agent's evidence boundary. diff --git a/loopx/capabilities/benchmark_toolkit/experiment_board.py b/loopx/capabilities/benchmark_toolkit/experiment_board.py index 3e4bc9f00b..9eced596f6 100644 --- a/loopx/capabilities/benchmark_toolkit/experiment_board.py +++ b/loopx/capabilities/benchmark_toolkit/experiment_board.py @@ -14,6 +14,7 @@ experiment_token_text as _token, ) from .factorial_contrast import ( + benchmark_metric_comparison_value, build_benchmark_factorial_contrasts, build_benchmark_metric_delta, ) @@ -636,6 +637,10 @@ def _build_comparison( metric_deltas[name] = build_benchmark_metric_delta( anchor_metrics[name], candidate_metrics[name] ) + if metric_deltas.get(candidate.get("primary_metric"), {}).get( + "comparison_unavailable_reason" + ): + reasons.append("primary_metric_definition_mismatch") return { "comparison_id": ( @@ -944,9 +949,11 @@ def render_benchmark_experiment_board_markdown(payload: Mapping[str, Any]) -> st else {} ) primary_delta = deltas.get(item.get("primary_metric")) - delta_value = ( - primary_delta.get("delta") if isinstance(primary_delta, Mapping) else "n/a" - ) + delta_value: str | float = "n/a" + if isinstance(primary_delta, Mapping): + value = benchmark_metric_comparison_value(primary_delta) + if value is not None: + delta_value = f"{value * 100:g} pp" if "delta_rate" in primary_delta else value reasons = ( ", ".join(str(value) for value in item.get("reason_codes", []) or []) or "none" @@ -997,10 +1004,12 @@ def render_benchmark_experiment_board_markdown(payload: Mapping[str, Any]) -> st ) primary = metrics.get(item.get("primary_metric")) interaction_value = ( - primary.get("difference_in_differences") + primary.get("difference_in_differences", "n/a") if isinstance(primary, Mapping) else "n/a" ) + if isinstance(primary, Mapping) and "difference_in_differences_rate" in primary: + interaction_value = f"{primary['difference_in_differences_rate'] * 100:g} pp" reasons = ( ", ".join(str(value) for value in item.get("reason_codes", []) or []) or "none" diff --git a/loopx/capabilities/benchmark_toolkit/factorial_contrast.py b/loopx/capabilities/benchmark_toolkit/factorial_contrast.py index 2c641f30be..52ef54d82e 100644 --- a/loopx/capabilities/benchmark_toolkit/factorial_contrast.py +++ b/loopx/capabilities/benchmark_toolkit/factorial_contrast.py @@ -3,6 +3,7 @@ from __future__ import annotations from collections.abc import Iterable, Mapping +import math from typing import Any from .experiment_identity import experiment_token_text as _token @@ -23,17 +24,38 @@ def _optional_token(value: Any, *, field: str) -> str | None: return _token(value, field=field) +def _metric_comparison_issue( + baseline: Mapping[str, Any], candidate: Mapping[str, Any] +) -> str | None: + """Check metric meaning, without imposing a study's fixed-total policy.""" + + if baseline.get("unit") != candidate.get("unit"): + return "unit_mismatch" + if baseline.get("higher_is_better") != candidate.get("higher_is_better"): + return "direction_mismatch" + if ("total" in baseline) != ("total" in candidate): + return "denominator_presence_mismatch" + if "total" in baseline and any(metric["total"] <= 0 for metric in (baseline, candidate)): + return "non_positive_denominator" + return None + + def build_benchmark_metric_delta( baseline: Mapping[str, Any], candidate: Mapping[str, Any] ) -> dict[str, Any]: """Compare two normalized experiment-board metric values.""" - delta = float(candidate["value"]) - float(baseline["value"]) result: dict[str, Any] = { "baseline_value": baseline["value"], "candidate_value": candidate["value"], - "delta": delta, } + issue = _metric_comparison_issue(baseline, candidate) + if issue is not None: + return {**result, "comparison_unavailable_reason": issue} + delta = float(candidate["value"]) - float(baseline["value"]) + if not math.isfinite(delta): + return {**result, "comparison_unavailable_reason": "non_finite_difference"} + result["delta"] = delta baseline_total = baseline.get("total") candidate_total = candidate.get("total") if ( @@ -46,6 +68,15 @@ def build_benchmark_metric_delta( ): baseline_rate = float(baseline["value"]) / float(baseline_total) candidate_rate = float(candidate["value"]) / float(candidate_total) + if not all( + math.isfinite(value) + for value in (baseline_rate, candidate_rate, candidate_rate - baseline_rate) + ): + return { + "baseline_value": baseline["value"], + "candidate_value": candidate["value"], + "comparison_unavailable_reason": "non_finite_difference", + } result.update( { "baseline_total": baseline_total, @@ -60,15 +91,25 @@ def build_benchmark_metric_delta( isinstance(higher_is_better, bool) and baseline.get("higher_is_better") == higher_is_better ): - if delta == 0: + directional_delta = result.get("delta_rate", delta) + if directional_delta == 0: result["direction"] = "flat" - elif (delta > 0) == higher_is_better: + elif (directional_delta > 0) == higher_is_better: result["direction"] = "improved" else: result["direction"] = "regressed" return result +def benchmark_metric_comparison_value(metric: Mapping[str, Any]) -> float | None: + """Read the comparison scale while retaining the raw delta in the packet.""" + + if metric.get("comparison_unavailable_reason"): + return None + value = metric.get("delta_rate", metric.get("delta")) + return float(value) if isinstance(value, (int, float)) and math.isfinite(value) else None + + def _normalize_four_arm_design(contract: Mapping[str, Any]) -> dict[str, Any]: if not isinstance(contract, Mapping): raise TypeError("four-arm contract must be an object") @@ -252,6 +293,9 @@ def _interaction_metric( anchor_effect: Mapping[str, Any], higher_is_better: bool | None, ) -> dict[str, Any]: + for effect in (candidate_effect, anchor_effect): + if effect.get("comparison_unavailable_reason"): + return {"comparison_unavailable_reason": effect["comparison_unavailable_reason"]} candidate_delta = candidate_effect.get("delta") anchor_delta = anchor_effect.get("delta") result: dict[str, Any] = { @@ -263,12 +307,6 @@ def _interaction_metric( ): difference = candidate_delta - anchor_delta result["difference_in_differences"] = difference - if difference == 0: - result["direction"] = "flat" - elif isinstance(higher_is_better, bool): - result["direction"] = ( - "improved" if (difference > 0) == higher_is_better else "regressed" - ) candidate_rate = candidate_effect.get("delta_rate") anchor_rate = anchor_effect.get("delta_rate") if isinstance(candidate_rate, (int, float)) and isinstance( @@ -277,6 +315,17 @@ def _interaction_metric( result["candidate_effect_delta_rate"] = candidate_rate result["anchor_effect_delta_rate"] = anchor_rate result["difference_in_differences_rate"] = candidate_rate - anchor_rate + if any(not math.isfinite(value) for value in result.values()): + return {"comparison_unavailable_reason": "non_finite_difference"} + difference = result.get( + "difference_in_differences_rate", result.get("difference_in_differences") + ) + if difference == 0: + result["direction"] = "flat" + elif isinstance(higher_is_better, bool): + result["direction"] = ( + "improved" if (difference > 0) == higher_is_better else "regressed" + ) return result @@ -353,17 +402,18 @@ def build_benchmark_factorial_contrasts( design=design, effect_by_pair=effect_by_pair, ) + primary_metric = ( + next(iter(selected.values())).get("primary_metric") if selected else None + ) + if interaction_metrics.get(primary_metric, {}).get("comparison_unavailable_reason"): + reasons.append("primary_metric_definition_mismatch") contrasts.append( { "schema_version": BENCHMARK_FACTORIAL_CONTRAST_SCHEMA_VERSION, "benchmark_id": benchmark_id, "study_id": study_id, "case_id": case_id, - "primary_metric": ( - next(iter(selected.values())).get("primary_metric") - if selected - else None - ), + "primary_metric": primary_metric, "factorial_contrast_countable": not reasons, "qualification_scope": "declared_factor_design_and_board_results", "reason_codes": sorted(set(reasons)), @@ -454,7 +504,13 @@ def reject_cell(arm_id: str, reason: str) -> None: } for row in selected_rows ] - if any(signature != metric_signatures[0] for signature in metric_signatures[1:]): + if ( + any(signature != metric_signatures[0] for signature in metric_signatures[1:]) + or build_benchmark_metric_delta( + selected_rows[0]["metrics"][primary_metric], + selected_rows[0]["metrics"][primary_metric], + ).get("comparison_unavailable_reason") + ): reasons.append("primary_metric_definition_mismatch") @@ -504,6 +560,19 @@ def _interaction_metrics( interaction_metrics: dict[str, Any] = {} for name in sorted(set(candidate_metrics) & set(anchor_metrics)): metric_source = selected[candidate_effect["candidate_arm_id"]]["metrics"][name] + # Conditional effects can each be valid while using different units or + # scales. Check all four cells before subtracting those effects. + issue = next( + ( + reason + for row in selected.values() + if (reason := _metric_comparison_issue(metric_source, row["metrics"][name])) + ), + None, + ) + if issue is not None: + interaction_metrics[name] = {"comparison_unavailable_reason": issue} + continue interaction_metrics[name] = _interaction_metric( candidate_effect=candidate_metrics[name], anchor_effect=anchor_metrics[name], diff --git a/loopx/capabilities/benchmark_toolkit/study_projection.py b/loopx/capabilities/benchmark_toolkit/study_projection.py index 76db741896..85d1dc586b 100644 --- a/loopx/capabilities/benchmark_toolkit/study_projection.py +++ b/loopx/capabilities/benchmark_toolkit/study_projection.py @@ -23,6 +23,7 @@ normalize_benchmark_experiment_board_row, preview_benchmark_experiment_board_upsert, ) +from .factorial_contrast import benchmark_metric_comparison_value from .experiment_identity import ( ARM_ROLES, experiment_run_key, @@ -1240,16 +1241,22 @@ def build_benchmark_study_dashboard( ranked = [ comparison for comparison in eligible - if isinstance( - comparison.get("metric_deltas", {}) - .get(primary_metric, {}) - .get("delta"), - (int, float), + if ( + benchmark_metric_comparison_value( + comparison.get("metric_deltas", {}).get(primary_metric, {}) + ) + is not None ) ] + # A raw count and a rate have no meaningful shared magnitude ordering. + scales = {"delta_rate" in item["metric_deltas"][primary_metric] for item in ranked} + if len(scales) > 1: + ranked = [] largest = max( ranked, - key=lambda item: abs(item["metric_deltas"][primary_metric]["delta"]), + key=lambda item: abs( + benchmark_metric_comparison_value(item["metric_deltas"][primary_metric]) or 0 + ), default=None, ) case["eligible_comparisons"] = eligible @@ -1276,7 +1283,9 @@ def build_benchmark_study_dashboard( directions[direction] += 1 for metric_name, transitions in binary_transitions.items(): binary_delta = item.get("metric_deltas", {}).get(metric_name) - if not isinstance(binary_delta, Mapping): + if not isinstance(binary_delta, Mapping) or binary_delta.get( + "comparison_unavailable_reason" + ): continue before, after = ( binary_delta.get("baseline_value"), diff --git a/tests/capabilities/test_benchmark_experiment_board.py b/tests/capabilities/test_benchmark_experiment_board.py index 30319fe82b..a566ef0b98 100644 --- a/tests/capabilities/test_benchmark_experiment_board.py +++ b/tests/capabilities/test_benchmark_experiment_board.py @@ -128,6 +128,217 @@ def _running_baseline(**overrides: object) -> dict[str, object]: return payload +@pytest.mark.parametrize( + "before,after,higher,expected", + [ + (50, 60, True, "regressed"), + (50, 100, True, "flat"), + (50, 120, True, "improved"), + (50, 60, False, "improved"), + (50, 100, False, "flat"), + (50, 120, False, "regressed"), + ], +) +def test_metric_direction_uses_ratio_scale(before, after, higher, expected): + baseline = _baseline() + candidate = _baseline( + run_id="candidate", + arm_id="treatment", + arm_role="treatment", + treatment_fidelity="qualified", + comparison_anchor_run_id=baseline["run_id"], + ) + baseline["metrics"]["feature_pass"] = { + "value": before, + "total": 100, + "higher_is_better": higher, + } + candidate["metrics"]["feature_pass"] = { + "value": after, + "total": 200, + "higher_is_better": higher, + } + comparison = build_benchmark_experiment_board([baseline, candidate])["comparisons"][ + 0 + ] + metric = comparison["metric_deltas"]["feature_pass"] + assert comparison["matched_pair_countable"] is True + assert metric["delta"] == after - before + assert metric["delta_rate"] == pytest.approx(after / 200 - before / 100) + assert metric["direction"] == expected + rendered = render_benchmark_experiment_board_markdown( + build_benchmark_experiment_board([baseline, candidate]) + ) + assert f"{(after / 200 - before / 100) * 100:g} pp" in rendered + + +@pytest.mark.parametrize( + "before,after,reason", + [ + ({"value": 1000, "unit": "ms"}, {"value": 2, "unit": "s"}, "unit_mismatch"), + ({"value": 1, "unit": "ms"}, {"value": 2}, "unit_mismatch"), + ( + {"value": 1, "higher_is_better": True}, + {"value": 2, "higher_is_better": False}, + "direction_mismatch", + ), + ({"value": 1, "higher_is_better": True}, {"value": 2}, "direction_mismatch"), + ({"value": 1, "total": 10}, {"value": 2}, "denominator_presence_mismatch"), + ( + {"value": 1, "total": 10}, + {"value": 0, "total": 0}, + "non_positive_denominator", + ), + ], +) +def test_primary_metric_incompatibility_excludes_pair(before, after, reason): + baseline = _baseline() + candidate = _baseline( + run_id="candidate", + arm_id="treatment", + arm_role="treatment", + treatment_fidelity="qualified", + comparison_anchor_run_id=baseline["run_id"], + ) + baseline["metrics"]["feature_pass"] = before + candidate["metrics"]["feature_pass"] = after + comparison = build_benchmark_experiment_board([baseline, candidate])["comparisons"][ + 0 + ] + assert comparison["matched_pair_countable"] is False + assert "primary_metric_definition_mismatch" in comparison["reason_codes"] + metric = comparison["metric_deltas"]["feature_pass"] + assert metric["comparison_unavailable_reason"] == reason + assert "delta" not in metric and "direction" not in metric + + +def test_incompatible_auxiliary_metric_preserves_primary_pair(): + baseline = _baseline() + candidate = _baseline( + run_id="candidate", + arm_id="treatment", + arm_role="treatment", + treatment_fidelity="qualified", + comparison_anchor_run_id=baseline["run_id"], + ) + candidate["metrics"]["preservation_pass"]["unit"] = "seconds" + comparison = build_benchmark_experiment_board([baseline, candidate])["comparisons"][ + 0 + ] + assert comparison["matched_pair_countable"] is True + assert comparison["metric_deltas"]["feature_pass"]["direction"] == "flat" + assert ( + comparison["metric_deltas"]["preservation_pass"][ + "comparison_unavailable_reason" + ] + == "unit_mismatch" + ) + # Historical scalar rows need not acquire optional metadata to remain readable. + baseline["metrics"]["feature_pass"] = {"value": 1} + candidate["metrics"]["feature_pass"] = {"value": 2} + comparison = build_benchmark_experiment_board([baseline, candidate])["comparisons"][ + 0 + ] + assert comparison["matched_pair_countable"] is True + assert comparison["metric_deltas"]["feature_pass"] == { + "baseline_value": 1, + "candidate_value": 2, + "delta": 1.0, + } + + +def test_factorial_ratio_interaction_uses_one_scale(): + rows = _four_arm_rows() + for row, value, total in zip(rows, [50, 60, 50, 55], [100, 200, 100, 100]): + row["metrics"]["preservation_pass"] = { + "value": value, + "total": total, + "higher_is_better": True, + } + contrast = build_benchmark_experiment_board( + rows, + four_arm_contract=_four_arm_contract(), + )["factorial_contrasts"][0] + assert contrast["factorial_contrast_countable"] is True + interaction = contrast["interaction_contrast"]["metric_contrasts"][ + "preservation_pass" + ] + assert interaction["difference_in_differences"] == -5 + assert interaction["difference_in_differences_rate"] == pytest.approx(0.25) + assert interaction["direction"] == "improved" + # Two individually compatible effects still cannot be subtracted across units. + for row in rows[2:]: + row["metrics"]["preservation_pass"]["unit"] = "different-unit" + contrast = build_benchmark_experiment_board( + rows, + four_arm_contract=_four_arm_contract(), + )["factorial_contrasts"][0] + assert contrast["factorial_contrast_countable"] is True + assert contrast["interaction_contrast"]["metric_contrasts"][ + "preservation_pass" + ] == { + "comparison_unavailable_reason": "unit_mismatch", + } + + +def test_factorial_zero_primary_denominator_is_not_countable(): + rows = _four_arm_rows() + for row in rows: + row["metrics"]["feature_pass"].update(value=0, total=0) + contrast = build_benchmark_experiment_board( + rows, + four_arm_contract=_four_arm_contract(), + )["factorial_contrasts"][0] + assert contrast["factorial_contrast_countable"] is False + assert "primary_metric_definition_mismatch" in contrast["reason_codes"] + + +@pytest.mark.parametrize("total", [None, 1e-308]) +def test_non_finite_comparison_does_not_publish_a_direction(total): + baseline = _baseline() + candidate = _baseline( + run_id="candidate", + arm_id="treatment", + arm_role="treatment", + treatment_fidelity="qualified", + comparison_anchor_run_id=baseline["run_id"], + ) + for row, value in [(baseline, -1e308), (candidate, 1e308)]: + row["metrics"]["feature_pass"] = {"value": value, "higher_is_better": True} + if total is not None: + row["metrics"]["feature_pass"].update( + value=1 if row is baseline else 2, total=total + ) + comparison = build_benchmark_experiment_board([baseline, candidate])["comparisons"][ + 0 + ] + assert comparison["matched_pair_countable"] is False + assert comparison["metric_deltas"]["feature_pass"] == { + "baseline_value": baseline["metrics"]["feature_pass"]["value"], + "candidate_value": candidate["metrics"]["feature_pass"]["value"], + "comparison_unavailable_reason": "non_finite_difference", + } + + +@pytest.mark.parametrize("metric_name", ["feature_pass", "preservation_pass"]) +def test_factorial_non_finite_raw_interaction_is_unavailable(metric_name): + rows = _four_arm_rows() + for row, value in zip(rows, [1e308, 0, 0, 1e308]): + row["metrics"][metric_name] = { + "value": value, + "total": 1e308, + "higher_is_better": True, + } + contrast = build_benchmark_experiment_board( + rows, + four_arm_contract=_four_arm_contract(), + )["factorial_contrasts"][0] + assert contrast["factorial_contrast_countable"] is (metric_name != "feature_pass") + assert contrast["interaction_contrast"]["metric_contrasts"][metric_name] == { + "comparison_unavailable_reason": "non_finite_difference", + } + + def _four_arm_contract() -> dict[str, object]: return compact_benchmark_four_arm_contract( build_benchmark_four_arm_contract( diff --git a/tests/capabilities/test_benchmark_study_projection.py b/tests/capabilities/test_benchmark_study_projection.py index a51e479734..42c55ffca2 100644 --- a/tests/capabilities/test_benchmark_study_projection.py +++ b/tests/capabilities/test_benchmark_study_projection.py @@ -157,6 +157,128 @@ def _five_mode_manifest() -> dict[str, object]: return manifest +def test_ratio_comparisons_round_trip_and_rank_on_the_same_scale(tmp_path: Path): + manifest = _manifest() + manifest["factors"][0]["levels"].append("alternative") + manifest["arms"].append( + { + "arm_id": "alternative", + "arm_role": "treatment", + "factor_assignments": {"orchestrator": "alternative"}, + } + ) + baseline = _row(arm_id="goal_plain", arm_role="baseline", feature=50, reward=0) + candidate = _row( + arm_id="loopx_plain", + arm_role="treatment", + feature=600, + reward=1, + anchor=baseline["run_id"], + ) + alternative = _row( + arm_id="alternative", + arm_role="treatment", + feature=9, + reward=1, + anchor=baseline["run_id"], + ) + store = tmp_path / "uploads.jsonl" + for row, total in zip([baseline, candidate, alternative], [100, 1000, 10]): + row["metrics"]["requirements_passed"]["total"] = total + simulate_benchmark_upload( + store, + _envelope( + row, + record_kind="experiment_board_row", + key=row["run_id"], + ), + execute=True, + ) + manifest_path = tmp_path / "manifest.json" + manifest_path.write_text(json.dumps(manifest), encoding="utf-8") + packet = _loopx_json( + "benchmark", + "study-dashboard", + "--manifest-json", + str(manifest_path), + "--store", + str(store), + "--format", + "json", + ) + assert packet == build_benchmark_study_dashboard( + manifest, read_benchmark_local_upload_records(store) + ) + largest = packet["cases"][0]["largest_eligible_primary_contrast"] + assert largest["candidate_arm_id"] == "alternative" + assert largest["metric_deltas"]["requirements_passed"]["delta"] == -41 + assert largest["metric_deltas"]["requirements_passed"][ + "delta_rate" + ] == pytest.approx(0.4) + assert packet["contrasts"]["alternative"]["primary_metric_directions"] == { + "improved": 1, + "flat": 0, + "regressed": 0, + } + + +def test_dashboard_does_not_rank_mixed_comparison_scales(): + manifest = _manifest() + baseline = _row(arm_id="goal_plain", arm_role="baseline", feature=5, reward=0) + candidate = _row( + arm_id="loopx_plain", + arm_role="treatment", + feature=9, + reward=1, + anchor=baseline["run_id"], + ) + scalar_baseline, scalar_candidate = ( + copy.deepcopy(baseline), + copy.deepcopy(candidate), + ) + scalar_baseline["run_id"] = "scalar-baseline" + scalar_candidate["run_id"] = "scalar-candidate" + scalar_candidate["comparison_anchor_run_id"] = scalar_baseline["run_id"] + for row in [scalar_baseline, scalar_candidate]: + del row["metrics"]["requirements_passed"]["total"] + packet = build_benchmark_study_dashboard( + manifest, + [ + _envelope(row, record_kind="experiment_board_row", key=row["run_id"]) + for row in [baseline, candidate, scalar_baseline, scalar_candidate] + ], + ) + assert len(packet["cases"][0]["eligible_comparisons"]) == 2 + assert packet["cases"][0]["largest_eligible_primary_contrast"] is None + + +def test_unavailable_auxiliary_metric_is_not_counted_as_a_binary_transition(): + baseline = _row(arm_id="goal_plain", arm_role="baseline", feature=5, reward=0) + candidate = _row( + arm_id="loopx_plain", + arm_role="treatment", + feature=9, + reward=1, + anchor=baseline["run_id"], + ) + baseline["metrics"]["reward"]["total"] = 0 + packet = build_benchmark_study_dashboard( + _manifest(), + [ + _envelope(row, record_kind="experiment_board_row", key=row["run_id"]) + for row in [baseline, candidate] + ], + ) + contrast = packet["contrasts"]["loopx_plain"] + assert contrast["matched_pair_denominator"] == 1 + assert contrast["primary_metric_directions"]["improved"] == 1 + assert contrast["binary_metric_transitions"]["reward"] == { + "0_to_1": 0, + "1_to_0": 0, + "same": 0, + } + + def _row( *, arm_id: str,