#ifndef FESA_IO_HDF5_NONLINEAR_HDF5_RESULTS_WRITER_H_ #define FESA_IO_HDF5_NONLINEAR_HDF5_RESULTS_WRITER_H_ #include "fesa/results/nonlinear_results_writer.h" namespace fesa { /// @brief Writes authoritative schema-v1 nonlinear HDF5 results atomically. /// @note HDF5 and platform types remain private to the implementation. class NonlinearHdf5ResultsWriter final : public NonlinearResultsWriter { public: /// @brief Writes and self-checks committed nonlinear frames before publish. /// @return Success only after atomic replacement or structured output failure. /// @note Factor-zero state remains metadata and is not an accepted frame. Status Write(const std::filesystem::path& output_path, const Domain& domain, const NonlinearAnalysisState& state, const std::vector& diagnostics) override; }; } // namespace fesa #endif // FESA_IO_HDF5_NONLINEAR_HDF5_RESULTS_WRITER_H_