33namespace neograph::graph {
48struct NEOGRAPH_API ValidationReport {
49 std::vector<Diagnostic> diagnostics;
51 bool has_errors()
const;
52 std::vector<const Diagnostic*> errors()
const;
53 std::vector<const Diagnostic*> warnings()
const;
55 std::string summary()
const;
67 const TopologySpec& topology()
const noexcept {
return topology_; }
68 const ValidationReport& report()
const noexcept {
return report_; }
69 TopologySpec release() && {
return std::move(topology_); }
72 friend class GraphValidator;
75 : topology_(std::move(topology)), report_(std::move(report)) {}
78 ValidationReport report_;
109class NEOGRAPH_API GraphValidator {
112 static ValidationReport validate(
const TopologySpec& topology);
118 static ValidationReport validate_local(
const TopologySpec& topology,
122 static ValidationReport validate(
const TopologySpec& topology,
127 static ValidationReport validate_local(
const TopologySpec& topology,
233 static std::map<std::string, std::set<std::string>> routed_successors(
NEOGRAPH_API export/import macro for shared-library builds.
Engine-owned registry of custom graph callables.
Topology proven free of static semantic errors.
JSON → declarative topology parsing and runtime node linking.
Parsed graph definition, ready for the engine to run.
One static-analysis finding, with a machine-readable witness (counterexample) for tooling to highligh...
std::string json_pointer
RFC 6901 pointer; empty means document root.
std::string path
Legacy JSON-ish display path.
std::string message
human-readable, self-contained
std::string severity
"error" | "warning" | "note" (the soundness summary only)
json witness
machine-readable counterexample
std::string code
"E3".."E18", "S1".."S5", "SOUNDNESS"
Declarative graph topology with no live node instances or runtime state.
Rule selection for GraphValidator.
std::size_t soundness_state_cap
States the soundness check visits at most before it reports "not checked".
bool original_rules
Apply only the rules Program bundles have sealed since bundle format v1.
bool require_acyclic
Report every cycle in the routed graph as an E16 error, for hosts that need a DAG (plans,...
bool soundness_check
Opt-in soundness check (X3) of a topology without errors: explore every run the routes allow and repo...