Skip to content

sgns::BlockGateResult

Structured verdict of the multi-element block gate (PRUNE-03). More...

#include <PruneEligibility.hpp>

Public Attributes

Name
std::string cid
bool erasable
std::vector< PruneReason > reasons
Every failed per-key check (deduplicated); empty iff erasable.

Detailed Description

struct sgns::BlockGateResult;

Structured verdict of the multi-element block gate (PRUNE-03).

A delta block is erasable only when EVERY key it carries — elements AND tombstones, parsed from the block itself at evaluation time — is allowlist-conformant and inside the eligible set (D-C3). Kept SEPARATE from the per-candidate eligible flag: a transaction can be eligible (PRUNE-01) while its block is held by a non-eligible sibling (PRUNE-03) — two verdicts, one report each.

Public Attributes Documentation

variable cid

std::string cid;

CID string of the gated delta block — or the sentinel "<unresolved for <tx path>>" when an ELIGIBLE candidate's CID could not be resolved (CID_UNRESOLVED; the verdict is then not-erasable by construction, WR-05).

variable erasable

bool erasable = false;

True only when every carried key passed both checks — reasons is then empty — OR when the block's bytes are ABSENT while an otherwise-eligible candidate still names it (reasons then carries the affirmative BLOCK_ALREADY_ERASED evidence; the verdict completes the stranded candidate's erase).

variable reasons

std::vector< PruneReason > reasons;

Every failed per-key check (deduplicated); empty iff erasable.


Updated on 2026-10-22 at 19:28:22 +0000