Run Summary
Machine-readable summary of a finished optimization run.
Written as summary.toml alongside the other run-output artifacts. Lets a future "compare runs" feature ingest the metadata without parsing HTML or scraping CSV headers.
Field declaration order is the encoded file's key order — tomlkt emits fields in declaration order — so the leading fields are the human-friendly identifiers users want to see first, followed by termination metadata, the headline numeric outcomes, and the substrate's UUID-based cross-reference last. The two map-valued fields (bestInputs, solverConfiguration) are emitted as TOML tables after the scalar block.
Per-field @TomlComment annotations show up as #-prefixed lines above each key in the encoded file, so the artifact is self-documenting for anyone opening it cold in a text editor. This mirrors the convention OptimizationRunConfiguration already uses for the document format.
Optional fields (bestEstimatedObjective, bestPenalizedObjective, bestFoundAtIteration, bestInputs) are null on partial / failed runs where no completed best snapshot is available. Those keys are omitted from the encoded file via explicitNulls = false rather than written as key = null.