Skip to main content
After a run finishes, show presents results in the terminal and view presents them locally in a browser. Both commands read the .niceeval/record written by exp by default, so you do not need --record. They use the same data path:
A Sample determines the comparison scope and denominator. A projector interprets one RecordAttachment for one explicit owner. A Report organizes projected values into one immutable ReportExecution and does not read files directly.

Select Runs to inspect

Select one explicit Run:
To view every result that still matches the current project’s source and configuration, run show directly. --experiment narrows the current-project target by a complete ID:
Without a locator or --run, the command uses project-current. It scans every published Run and keeps every slot whose Experiment, Eval, attempt ordinal, evaluation kind, input identity, and config identity still match the current project. It does not choose one Run by time. After source or configuration changes, stale results leave the current Sample but are not deleted. Use a complete --run ID to audit those historical results.

Inspect results in the terminal

show renders the default Report as text. Supplying a page or custom Report still creates one execution from the same selection.
--json emits the niceeval.report-show/v1 document for the same execution. It includes pages, calculations, projection summaries, and problems. It does not create another data path.

Inspect results in the browser

Each successful view rebuild creates a new fixed ReportExecution and replaces the revision on screen. Changes to the Report, configuration, theme, or Record trigger the next rebuild. A failed rebuild keeps the last-good execution and shows the problem. Opening, navigating, or refreshing a page does not reread the Record behind a fixed execution. To see a newly published Run, let view finish a rebuild or run the command again. Pass --record <root> only when you explicitly need to read another Record root.

Read denominators and Attachment states

An explicit --run Sample preserves each named Run’s complete expected-slot denominator; project-current first materializes only slots whose identities still match the current target. Within the framework established by selection, each slot can be: Pages and Calculations also show requested Attachment states. unavailable means the Attachment is absent. migration-required or migration-unavailable means historical schemas need attention. unsupported means the current feature does not recognize it. invalid means its envelope, payload, or blob is invalid. These data states do not silently shrink the Sample denominator after selection. An unrequested bad Attachment does not affect an unrelated page. Each Calculation defines its own business observed and denominator; it cannot infer them from Attachment counts.

Record publication boundary

A Record stores published facts only. Published Runs are immutable. Run a new Invocation to create a different result. A directory without complete does not belong to a Sample. The reader freezes the visible set of published Runs, so a Run completed afterward appears only after reopening the reader.

Next steps