NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
Loading...
Searching...
No Matches
neograph::program::MigrationPlan Class Referencefinal

Immutable proof of whether an admitted run may move to another version. More...

#include <migration.h>

Public Member Functions

bool semantically_matches (const MigrationPlan &expected) const noexcept
 Accepts an exact retry or a verified schema-v1 prefix of a v2 plan.
 

Static Public Member Functions

static MigrationPlan between (const ProgramVersion &source, const ProgramBundle &source_bundle, const ProgramVersion &target, const ProgramBundle &target_bundle)
 Builds a field-level proof from the admitted bundles.
 
static MigrationPlan between (const ProgramVersion &source, const ProgramVersion &target)
 Builds a conservative version-only proof.
 

Static Public Attributes

static constexpr std::uint32_t LEGACY_STORAGE_SCHEMA_VERSION = 0
 Explicit legacy input marker accepted by parse().
 

Detailed Description

Immutable proof of whether an admitted run may move to another version.

This plan never mutates a store or a live run. A runtime can safely apply only a plan whose compatibility is ForkCompatible; all other outcomes carry explicit blockers rather than silently falling back to a restart.

Definition at line 161 of file migration.h.

Member Function Documentation

◆ between() [1/2]

static MigrationPlan neograph::program::MigrationPlan::between ( const ProgramVersion &  source,
const ProgramBundle &  source_bundle,
const ProgramVersion &  target,
const ProgramBundle &  target_bundle 
)
static

Builds a field-level proof from the admitted bundles.

It permits a budget-declaration change only when the fork invocation is separately checked against the source remainder and target admitted bounds.

◆ between() [2/2]

static MigrationPlan neograph::program::MigrationPlan::between ( const ProgramVersion &  source,
const ProgramVersion &  target 
)
static

Builds a conservative version-only proof.

Distinct bundle identities remain incompatible because their execution-relevant fields are absent.

Member Data Documentation

◆ LEGACY_STORAGE_SCHEMA_VERSION

constexpr std::uint32_t neograph::program::MigrationPlan::LEGACY_STORAGE_SCHEMA_VERSION = 0
staticconstexpr

Explicit legacy input marker accepted by parse().

Legacy records are converted to a fail-closed modern plan; aliases and missing evidence are never accepted in the v1 schema.

Definition at line 170 of file migration.h.


The documentation for this class was generated from the following file: