pub struct AxiomMemoryAdmissionRequest {
pub candidate_state: CandidateState,
pub evidence_class: EvidenceClass,
pub phase_context: PhaseContext,
pub tool_provenance: ToolProvenance,
pub source_anchors: Vec<SourceAnchor>,
pub redaction_status: RedactionStatus,
pub proof_state: ProofState,
pub contradiction_scan: ContradictionScan,
pub explicit_non_promotion: bool,
}Expand description
Request to admit AXIOM output as a Cortex memory candidate.
Fields§
§candidate_state: CandidateStateAdmission is permitted only for candidate state.
evidence_class: EvidenceClassWhat kind of evidence AXIOM is submitting.
phase_context: PhaseContextAXIOM phase/context that produced the submitted content.
tool_provenance: ToolProvenanceTool/runtime provenance for the submitted content.
source_anchors: Vec<SourceAnchor>Concrete source anchors backing the proposed memory.
redaction_status: RedactionStatusExplicit redaction posture before durable memory admission.
proof_state: ProofStateCurrent proof closure state for the candidate lineage.
contradiction_scan: ContradictionScanContradiction scan result for the claim or belief slot.
explicit_non_promotion: boolMust be true: admission never promotes to Active, Principle, or Doctrine.
Implementations§
Source§impl AxiomMemoryAdmissionRequest
impl AxiomMemoryAdmissionRequest
Sourcepub fn from_json_envelope(input: &str) -> AdmissionEnvelopeResult<Self>
pub fn from_json_envelope(input: &str) -> AdmissionEnvelopeResult<Self>
Parse a generic ADR 0038 AXIOM memory admission envelope.
This helper is intentionally parse-only: callers must still inspect
Self::admission_decision before any persistence. Malformed JSON,
missing required fields, or unsupported enum values never produce an
admission request.
Sourcepub fn validate(&self) -> AdmissionValidationResult<()>
pub fn validate(&self) -> AdmissionValidationResult<()>
Validate every admission invariant and collect all observed failures.
Sourcepub fn admission_decision(&self) -> AdmissionDecision
pub fn admission_decision(&self) -> AdmissionDecision
Produce the deterministic admission decision for this request.
Sourcepub fn policy_decision(&self) -> PolicyDecision
pub fn policy_decision(&self) -> PolicyDecision
Produce the ADR 0026 policy decision corresponding to this admission decision.
Sourcepub fn proof_closure_report(&self) -> ProofClosureReport
pub fn proof_closure_report(&self) -> ProofClosureReport
Map the envelope’s declared ProofState to a typed core
ProofClosureReport.
ADR 0036 carries the proof-closure axis as a typed report rather
than a free-form enum. The admission envelope reports a
caller-declared ProofState; this helper lifts it into the
typed report so downstream durable-write surfaces (lifecycle,
reflect) compose the same shape they would compose for a
store-derived report.
The mapping is:
ProofState::FullChainVerified-> empty failing edges,cortex_core::ProofState::FullChainVerifiedProofState::Partial-> one missing-edge failure (lineage axis), maps tocortex_core::ProofState::PartialProofState::Broken-> one broken hash-chain edge, maps tocortex_core::ProofState::BrokenProofState::Unknown-> one unresolved lineage edge, maps tocortex_core::ProofState::Partial(Unknown is not a cleanFullChainVerified; the durable gate refuses it the same way it refuses Partial)
Sourcepub fn proof_closure_contribution(&self) -> PolicyContribution
pub fn proof_closure_contribution(&self) -> PolicyContribution
ADR 0036 contributor for AXIOM admission proof closure.
The contributor mirrors ProofClosureReport::policy_decision:
Sourcepub fn require_durable_admission_allowed(
&self,
) -> Result<(), DurableAdmissionRefusal>
pub fn require_durable_admission_allowed( &self, ) -> Result<(), DurableAdmissionRefusal>
Refuse durable promotion if the envelope’s proof closure is not
CoreProofState::FullChainVerified.
ADR 0036 forbids a durable candidate -> active mutation for
AXIOM-origin envelopes when the proof closure is Partial,
Broken, or Unknown. The clean admission decision
(AdmissionDecision::AdmitCandidate) is necessary but not
sufficient: the durable-write boundary is where ADR 0036 fires.
Callers should invoke this immediately before routing an admitted
envelope to a durable-write surface (e.g. the lifecycle layer).
The refusal carries the stable invariant
AXIOM_ADMISSION_PROOF_CLOSURE_INVARIANT and the observed
CoreProofState.
Sourcepub fn semantic_trust_report(
&self,
input: AdmissionSemanticTrustInput,
) -> AdmissionSemanticTrustReport
pub fn semantic_trust_report( &self, input: AdmissionSemanticTrustInput, ) -> AdmissionSemanticTrustReport
Evaluate ADR 0039 semantic trust for the admission request without changing candidate-only admission or explicit non-promotion gates.
Sourcepub fn semantic_provenance_class(&self) -> ProvenanceClass
pub fn semantic_provenance_class(&self) -> ProvenanceClass
Map this AXIOM admission request to the closest ADR 0039 provenance class using only fields already present at the memory-admission boundary.
Trait Implementations§
Source§impl Clone for AxiomMemoryAdmissionRequest
impl Clone for AxiomMemoryAdmissionRequest
Source§fn clone(&self) -> AxiomMemoryAdmissionRequest
fn clone(&self) -> AxiomMemoryAdmissionRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AxiomMemoryAdmissionRequest
impl Debug for AxiomMemoryAdmissionRequest
Source§impl<'de> Deserialize<'de> for AxiomMemoryAdmissionRequest
impl<'de> Deserialize<'de> for AxiomMemoryAdmissionRequest
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl From<PaiAxiomExecutionReceiptV1> for AxiomMemoryAdmissionRequest
impl From<PaiAxiomExecutionReceiptV1> for AxiomMemoryAdmissionRequest
Source§fn from(receipt: PaiAxiomExecutionReceiptV1) -> Self
fn from(receipt: PaiAxiomExecutionReceiptV1) -> Self
Source§impl PartialEq for AxiomMemoryAdmissionRequest
impl PartialEq for AxiomMemoryAdmissionRequest
Source§fn eq(&self, other: &AxiomMemoryAdmissionRequest) -> bool
fn eq(&self, other: &AxiomMemoryAdmissionRequest) -> bool
self and other values to be equal, and is used by ==.impl Eq for AxiomMemoryAdmissionRequest
impl StructuralPartialEq for AxiomMemoryAdmissionRequest
Auto Trait Implementations§
impl Freeze for AxiomMemoryAdmissionRequest
impl RefUnwindSafe for AxiomMemoryAdmissionRequest
impl Send for AxiomMemoryAdmissionRequest
impl Sync for AxiomMemoryAdmissionRequest
impl Unpin for AxiomMemoryAdmissionRequest
impl UnsafeUnpin for AxiomMemoryAdmissionRequest
impl UnwindSafe for AxiomMemoryAdmissionRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.