runIds from each completion receipt when comparing models, prompts, or Agent versions. Do not substitute the latest result for an explicit boundary.
Start with niceeval query discover and build a request from the runs.compare schema. It supports side-by-side, exact, and paired. The result retains each denominator, unmatched, excluded, missing, issues, and Evidence.
exact proves the same member domain and member set. paired uses first-party pairing keys only. If the requested mode cannot apply, the operation returns a named correction or issue instead of treating a gap as zero.
View reads the same published facts, helping people review the Overview and Attempt detail. It does not introduce a second statistics, comparison, or page-assembly system.
When results come from another compatible runtime, copy the canonical .niceeval/record.sqlite. Then pass that copy with --record to show or query; view reads only the current project’s Record.