Package-level declarations
Types
Canonical filenames for the auto-written artifacts. Centralised so any UI shell can list and offer to open them without re-deriving the conventions.
Result of an artifact-write attempt. Per-artifact flags let callers (and tests) verify that a partial set landed even when individual writes failed.
Single-row CSV of the best solution found by an optimization run.
Convergence plot for a simulation-optimization run.
Convenience helpers around ConvergencePlot for writing a PNG sibling artifact in the run directory. The interactive embed in the HTML report is handled by the report DSL — this writer only produces the static PNG for users who want an image they can drop into slides or share without a browser.
HTML report writer for a finished optimization run.
Wide-format CSV of the full iteration history.
Minimal projection of a RunEvent.IterationCompleted used when building a partial RunSummary. Decoupled from the substrate type so callers don't need to construct a real RunEvent.
Coordinator that writes the full artifact set on a successful run completion. Each writer is best-effort — a single failure (e.g. lets-plot PNG export failing because the JVM can't find its native renderer) doesn't abort the rest.
Status of a finished run, embedded in RunSummary so a partial artifact set (cancelled / failed runs) is still self-describing.
Machine-readable summary of a finished optimization run.
Writer + builder for RunSummary.