Skip to content

sgns::TransactionLookupResult

Tri-state local lookup verdict + payload (D-03, SURV-02's local half). More...

#include <TransactionManager.hpp>

Public Attributes

Name
PrunedLookup verdict
std::shared_ptr< GeniusTransaction > tx
Set iff a value was found (tracked map or CRDT): the FOUND verdict.
std::optional< SGTransaction::PrunedTransactionRecord > record
Set iff PRUNED: the durable PrunedTransactionRecord payload.

Detailed Description

struct sgns::TransactionLookupResult;

Tri-state local lookup verdict + payload (D-03, SURV-02's local half).

Reuses PruneEligibility's PrunedLookup as the ONE verdict vocabulary (hard invariant 2 — no second enum, no hand-built marker keys). Read the result tx-FIRST: a non-null tx IS the FOUND verdict and outranks any marker (Pitfall-8 value-first ordering — a present value is never reported PRUNED). verdict then carries the marker evidence: NOT_FOUND on a clean found, or VALUE_PRESENT_INVARIANT_VIOLATION when a pruned marker coexists with the found value (reported loudly, never guessed). With tx == nullptr the verdict is the whole answer: PRUNED (record carries the durable payload) / NOT_FOUND (unknown hash) / VALUE_PRESENT_INVARIANT_VIOLATION (the marker claims a value the found-sources cannot see — never fabricated as FOUND, never downgraded to NOT_FOUND).

Public Attributes Documentation

variable verdict

PrunedLookup verdict;

Marker-evidence tri-state (PruneEligibility.hpp — the one home). No default initializer: the enum is opaque here (kept dependency -free), so every construction site MUST set it — LookupTransaction always does.

variable tx

std::shared_ptr< GeniusTransaction > tx;

Set iff a value was found (tracked map or CRDT): the FOUND verdict.

variable record

std::optional< SGTransaction::PrunedTransactionRecord > record;

Set iff PRUNED: the durable PrunedTransactionRecord payload.


Updated on 2026-10-26 at 11:35:32 +0000