pub struct MembershipObservationRequest<'a> { /* private fields */ }Expand description
Immutable ephemeral request derived from the original plan and exact operation.
The integration supplies a fresh unpredictable challenge and owns its uniqueness, current observation timing, coherent custody and separately approved observation spending. The call ceiling is descriptive, not an allowance or journal reservation. This type has no serialization, persistence or default-provider admission.
Implementations§
Source§impl<'a> MembershipObservationRequest<'a>
impl<'a> MembershipObservationRequest<'a>
Sourcepub fn new(
plan: &'a OperationPlanRecord,
operation_sequence: u64,
challenge: ArtifactChecksumRecord,
boundary: MembershipBoundary,
max_remote_observations: u32,
) -> Result<Self, MembershipRequestError>
pub fn new( plan: &'a OperationPlanRecord, operation_sequence: u64, challenge: ArtifactChecksumRecord, boundary: MembershipBoundary, max_remote_observations: u32, ) -> Result<Self, MembershipRequestError>
Bind a challenge, explicit boundary and bounded call ceiling to original intent.
Zero remote calls permits a qualified local integration; it cannot authorize a paid probe. Original mutation/reconciliation allowances are never changed.
§Errors
Rejects unknown operations or an excessive descriptive call ceiling.
Sourcepub const fn binding(&self) -> &OperationBindingRecord
pub const fn binding(&self) -> &OperationBindingRecord
Read original intent, operation, context, target and mutation-payload identity.
Sourcepub const fn inventory(&self) -> &InventoryRecord
pub const fn inventory(&self) -> &InventoryRecord
Read the full expected declared inventory, including unselected parents.
Sourcepub fn selected_targets(&self) -> &[String]
pub fn selected_targets(&self) -> &[String]
Read exact canonical selected principals; this is not lifecycle order.
Sourcepub const fn challenge(&self) -> &ArtifactChecksumRecord
pub const fn challenge(&self) -> &ArtifactChecksumRecord
Read the integration-owned challenge; its value alone establishes no freshness.
Sourcepub const fn boundary(&self) -> MembershipBoundary
pub const fn boundary(&self) -> MembershipBoundary
Read the explicit effect boundary.
Sourcepub const fn max_remote_observations(&self) -> u32
pub const fn max_remote_observations(&self) -> u32
Read the descriptive remote-call ceiling, not a dispatch or spending permit.
Sourcepub fn digest(&self) -> ArtifactChecksumRecord
pub fn digest(&self) -> ArtifactChecksumRecord
Hash original full plan intent, operation, challenge, boundary and call ceiling.
Encoding uses the NUL-terminated ASCII v1 domain, canonical 64-byte ASCII intent, big-endian u64 sequence, canonical 64-byte ASCII challenge, boundary byte (before=0, after=1), then big-endian u32 descriptive call ceiling. Context/inventory/selection/request/original allowances bind through full original intent. Observation results, revision and evidence are excluded.