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

Atomic, content-addressed Program continuation journal. More...

#include <neograph/program/result.h>
#include <cstdint>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
Include dependency graph for journal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  neograph::program::ProgramJournalRecord
 Deep-owned stored journal value. More...
 
struct  neograph::program::ProgramJournalRecordData
 Mutable construction input for a journal record. More...
 

Functions

NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_journal_reservation_release (const ProgramJournalRecord &previous, const ProgramJournalRecord &next, const ProgramUsage &usage) noexcept
 True when next releases previous's reservation for a CallCore that was interrupted rather than completed.
 
NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_journal_reservation_settlement (const ProgramJournalRecord &previous, const ProgramJournalRecord &next, const ProgramUsage &usage) noexcept
 Validates release of an explicit in-flight reservation against measured usage.
 
NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_journal_transition (const ProgramJournalRecord &previous, const ProgramJournalRecord &next) noexcept
 Shared transition predicate used by atomic Program publication backends.
 

Detailed Description

Atomic, content-addressed Program continuation journal.

Definition in file journal.h.

Function Documentation

◆ is_valid_program_journal_reservation_release()

NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_journal_reservation_release ( const ProgramJournalRecord &  previous,
const ProgramJournalRecord &  next,
const ProgramUsage &  usage 
)
noexcept

True when next releases previous's reservation for a CallCore that was interrupted rather than completed.

usage is the attempt's terminal usage, which also counts work an earlier command in the same attempt already settled. Each usage-bearing resource may therefore come back anywhere from reservation minus usage up to the whole reservation, never more; every other resource returns exactly.

References neograph::program::is_valid_program_journal_reservation_release().

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

◆ is_valid_program_journal_reservation_settlement()

NEOGRAPH_PROGRAM_API bool neograph::program::is_valid_program_journal_reservation_settlement ( const ProgramJournalRecord &  previous,
const ProgramJournalRecord &  next,
const ProgramUsage &  usage 
)
noexcept

Validates release of an explicit in-flight reservation against measured usage.

The next record must clear the reservation and expose exactly the unused capacity, with overflow rejected.

References neograph::program::is_valid_program_journal_reservation_settlement().

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