pub struct AcceptCandidateRequest<'a> {
pub candidate: &'a MemoryCandidate,
pub audit: &'a MemoryAcceptanceAudit,
pub policy: &'a PolicyDecision,
pub proof_closure: &'a ProofClosureReport,
}Expand description
Request to accept a candidate already materialized by the caller.
ADR 0026 §2 requires every candidate -> active mutation to compose through
the policy lattice. The composed PolicyDecision is supplied by the
caller (lifecycle layer assembles AXIOM admission, proof closure, conflict
resolution, and operator temporal-authority contributors) and forwarded to
the store boundary.
ADR 0036 also requires the caller to supply a typed
ProofClosureReport for the candidate’s lineage. The lifecycle layer
refuses durable promotion when the report is not
ProofState::FullChainVerified; the gate fires under the stable
invariant LIFECYCLE_ACCEPT_PROOF_CLOSURE_INVARIANT.
Fields§
§candidate: &'a MemoryCandidateCandidate row to insert and activate.
audit: &'a MemoryAcceptanceAuditRequired audit row supplied by the caller.
policy: &'a PolicyDecisionComposed acceptance policy decision (ADR 0026 §2). Must satisfy
MemoryRepo::accept_candidate’s contributor envelope.
proof_closure: &'a ProofClosureReportTyped proof closure report (ADR 0036 §3). The lifecycle layer fails
closed when this is not ProofState::FullChainVerified. The
caller is responsible for computing the report from real lineage
(e.g. cortex_store::verify_memory_proof_closure) — the lifecycle
layer never invents a “trusted” report on the caller’s behalf.
Trait Implementations§
Source§impl<'a> Clone for AcceptCandidateRequest<'a>
impl<'a> Clone for AcceptCandidateRequest<'a>
Source§fn clone(&self) -> AcceptCandidateRequest<'a>
fn clone(&self) -> AcceptCandidateRequest<'a>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more