#pragma once #include #include #include namespace fesa { enum class DiagnosticStage { io, syntax, semantic, model, equation, solver, results, validation }; enum class Severity { warning, error }; struct Diagnostic final { DiagnosticStage stage; Severity severity; std::string code; std::string message; std::optional source; }; } // namespace fesa