|
NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
|
Host-owned strict runtime assembly. More...
#include <strict_runtime.h>
Public Member Functions | |
| void | activate (std::string owner_id, ContextEpoch epoch) |
| See RuntimeInterpositionController::activate: an epoch that claims to extend its predecessor is verified against the given predecessor or the active epoch. | |
Host-owned strict runtime assembly.
Generated graphs and models never receive the raw provider or stores. The trusted host constructs this profile, activates an exact Strict ContextEpoch, and attaches it to a GraphEngine before execution. Built-in provider and tool consumers then share the same interposition and Hook boundaries.
Host-authored custom nodes remain trusted native code; a host that gives such a node a raw Provider has deliberately left this profile's guarantee.
Host-stepped contract: a provider call is built from the active epoch's fixed RAW range, never from the messages a graph or agent presents. The host therefore appends RAW records and activates a new epoch for every provider call: the model's reply and the tool results of the previous turn first, then the epoch that covers them. Attaching the profile to a plain GraphEngine does not do this for a loop inside one run (LLM call, tool dispatch, LLM call, as in create_react_graph). When a call arrives for an epoch whose turn the graph has already advanced, that is, the presented messages hold assistant or tool messages added since the epoch's first dispatch, the call is refused with a std::logic_error that names this contract instead of silently resending the first turn's context. A retry of the same turn (same presented messages) is still accepted, and activating an epoch starts the next turn.
See docs/STRICT_RUNTIME_INTERPOSITION.md for what the messages channel, history::compact_history, the recorded profile and this profile each guarantee.
Definition at line 63 of file strict_runtime.h.