Skip to main content

Diff Run Row

GET 

/runs/diff/row

Return the full content behind a single row of GET /runs/diff.

A diff row carries only per-scorer scores under an input_id whose underlying join column — input_id for text runs, image_id for CV runs — is resolved server-side and never exposed. This endpoint re-runs that same join narrowed to one identifier and returns what is actually being compared: the golden-dataset input, each run's own output, and the row's per-scorer scores and deltas.

The input/output split follows the Parquet layout's declared columns, so it is fixed per run pair and every row of one diff comes back with the same shape. Each input column carries both runs' values and a shared flag, true only where the two hold the same value for this row — a column they disagree on (a user-invented passthrough, or two runs staging the same image at different paths) stays under its own key with both sides visible rather than moving to the outputs. Content is returned as stored, with no CV-specific rendering, except that binary cells are reported as a size descriptor rather than a lossy decode of the bytes.

Access rules are GET /runs/diff's: same workspace, both runs completed evaluation runs. An input_id present in neither run is 404; one that matches several rows — a run repeating an identifier the diff assumes is unique — is 409, because no single row is the one behind the click.

A trace run pair is addressed by the scope_ref GET /runs/diff emits for it. An occurrence has no golden-dataset input, so input is empty and output_a/output_b carry the run's verdict — rationale, error and decoded metadata — one entry per (metric, config variant), keyed as scores is.

Request​

Responses​

Successful Response