Skip to main content

Module solve_report

Module solve_report 

Source
Expand description

Machine-readable JSON solve report (pounce#8).

Bundles the same payload AMPL’s .sol carries (status, primal, dual, suffixes) with FAIR-aligned provenance metadata (solver identity, input descriptor, timestamp) and per-iteration history when requested. Schema is versioned via the top-level schema field so future extensions don’t silently change semantics.

FAIR reference: Wilkinson et al. (2016). The FAIR Guiding Principles for scientific data management and stewardship. Scientific Data, 3, 160018. DOI: 10.1038/sdata.2016.18. Verified via Crossref on 2026-05-14.

§Schema versioning

The current schema tag is pounce.solve-report/v1. Breaking changes bump the major version (v2 etc.). Adding fields without removing or renaming existing ones is non-breaking — JSON consumers should tolerate unknown fields.

§Detail levels

ReportDetail::Summary (default) emits the FAIR metadata, problem dimensions, final solution, and aggregate statistics — equivalent to a .sol plus provenance. ReportDetail::Full additionally emits the per-iteration history (when captured by pounce_algorithm::application::IpoptApplication::enable_iter_history) and any solution.suffixes. Choose Summary for production logs and Full for debug captures.

Structs§

FairMetadata
FAIR-aligned provenance block. The four FAIR principles (Wilkinson et al., 2016) map onto fields here as:
LinearSolverSummaryInfo
Serializable mirror of pounce_linsol::summary::LinearSolverSummary. Lives in the CLI crate (rather than pounce-linsol) so the linsol trait crate stays serde-free. Field shape is identical; serde defaults keep it forward-compatible with future additions.
ProblemInfo
ReportBuilder
Builder collecting the inputs for a SolveReport. The CLI drivers populate one of these as they walk through the solve and finish() it at the end.
SolutionInfo
SolutionSuffix
SolveReport
Top-level report struct. Fields are ordered so the JSON has the most identifying / metadata fields first when pretty-printed.
SolverIdentity
StatisticsInfo
Subset of SolveStatistics projected for the report. Mirrors the fields the existing console summary prints.

Enums§

InputDescriptor
ReportDetail
Verbosity knob for the JSON report. Maps onto the --json-detail CLI flag.

Functions§

write_report_file
Write a SolveReport to path as pretty-printed JSON. Returns bytes written on success.