NeoGraph 0.16.0
A C++20 Graph Agent Engine Library — LangGraph for C++
Loading...
Searching...
No Matches
transition_store.h File Reference

Atomic owner-scoped Program transition publication. More...

#include <neograph/api.h>
#include <neograph/program/store_call.h>
#include <neograph/hook_outbox.h>
#include <neograph/program/child_synthesis.h>
#include <neograph/program/command_journal.h>
#include <neograph/program/event.h>
#include <neograph/program/lineage.h>
#include <neograph/program/migration.h>
#include <neograph/program/run_record.h>
#include <neograph/runtime_context.h>
#include <asio/awaitable.hpp>
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for transition_store.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  neograph::program::BlockingProgramTransitionStore
 A ProgramTransitionStore for a caller that cannot suspend: the synchronous Program API, a destructor, a callback. More...
 
struct  neograph::program::ProgramCommandPublicationHead
 One publication head and its newest command from the same committed snapshot. More...
 
struct  neograph::program::ProgramContextPublication
 Exact context evidence selected for one Program transition. More...
 
struct  neograph::program::ProgramEffectiveRuntimeState
 Effective runtime state for one generation, preserving source hook provenance. More...
 
struct  neograph::program::ProgramRecordedReplaySource
 Exact source custody for a recorded replay; this is not a fresh dispatch grant. More...
 
struct  neograph::program::ProgramRunPublicationHead
 A run record and journal from one committed publication, without optional command history. More...
 
class  neograph::program::ProgramTransitionStore
 The durable store of Program transitions, as the runtime uses it (#556). More...
 
class  neograph::program::SyncProgramTransitionStore
 Base of a ProgramTransitionStore whose backend is synchronous: the in-memory store, SQLite and PostgreSQL. More...
 

Enumerations

enum class  neograph::program::ProgramTransitionFaultPoint : std::uint8_t
 One-shot in-memory publication faults used to exercise the strong exception guarantee at each staged publication boundary.
 

Functions

NEOGRAPH_PROGRAM_API bool neograph::program::does_program_child_generation_result_bind (const ProgramRunRecord &parent, const ProgramChildRecord &child, const ProgramRunGeneration &generation, const ProgramRunLineage &lineage, const ProgramRunRecord &result_run) noexcept
 Bind a child result from an admitted replacement generation to its stable relation.
 
NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_hook_history_append (const std::vector< HookOutboxEntry > &old_entries, const std::vector< HookOutboxEntry > &next_entries, const ProgramRunRecord &run)
 Validates an append-only hook-head update.
 
NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_runtime_context_clone (const std::vector< ProgramContextPublication > &source_contexts, const ProgramRunRecord &target_run, const std::optional< ProgramContextPublication > &target_context) noexcept
 Validates a source snapshot cloned into an independent fork lineage.
 
NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_runtime_state_transfer (const std::optional< ProgramRuntimeStateTransferReceipt > &receipt, const ProgramRunGeneration &source_generation, const ProgramRunLineage &source_lineage, const ProgramRunRecord &source_run, const std::vector< ProgramContextPublication > &source_contexts, const std::vector< HookOutboxEntry > &source_hooks, const ProgramRunGeneration &target_generation, const ProgramRunRecord &target_run, const std::optional< ProgramContextPublication > &target_context) noexcept
 Validates exact context and unresolved-hook transfer into one successor.
 
NEOGRAPH_PROGRAM_API void neograph::program::validate_program_hook_outbox_entry (const HookOutboxEntry &entry, const ProgramRunRecord &run)
 Validates a durable hook outbox head before it is attached to a Program run.
 

Detailed Description

Atomic owner-scoped Program transition publication.

Definition in file transition_store.h.

Function Documentation

◆ is_valid_program_hook_history_append()

NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_hook_history_append ( const std::vector< HookOutboxEntry > &  old_entries,
const std::vector< HookOutboxEntry > &  next_entries,
const ProgramRunRecord &  run 
)

Validates an append-only hook-head update.

Entries not present in next retain their prior logical invocation head; a new entry may only advance its own head.

References neograph::program::is_valid_program_hook_history_append().

Referenced by neograph::program::is_valid_program_hook_history_append().