|
NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
|
Static semantic analysis over declarative or compiled topology. More...
#include <neograph/api.h>#include <neograph/graph/compiler.h>#include <cstddef>#include <map>#include <set>#include <string>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | neograph::graph::Diagnostic |
| One static-analysis finding, with a machine-readable witness (counterexample) for tooling to highlight. More... | |
| class | neograph::graph::ValidatedTopology |
| Topology proven free of static semantic errors. More... | |
| struct | neograph::graph::ValidationOptions |
| Rule selection for GraphValidator. More... | |
Static semantic analysis over declarative or compiled topology.
GraphValidator is the pass layer between parsing (GraphCompiler, M1: every key consumed) and execution (GraphEngine): it checks what the graph means, not what the JSON says — dangling references, unreachable nodes, barriers that can never fire, incomplete conditional routes, and channel effect violations.
Severity philosophy (checker soundness over coverage): a diagnostic is an ERROR only when the construct can never be right under the engine's semantics (dangling name, barrier waiting on a node that has no path to signal it, empty route map = UB at dispatch, write to an undeclared channel = guaranteed runtime throw). Anything a dynamic mechanism could legitimize — Command.goto / Send can reach statically-unreachable nodes — is a WARNING, so a correct graph is never rejected (no false errors), while editors and other tooling can still render every warning as lint.
Definition in file validator.h.