pub struct RecordedExecutionProtocolV1 {
pub context_plan: ContextPlanProjectionV1,
pub execution_plan: ExecutionPlanV1,
pub invocation: EngineInvocationV1,
pub observation: EngineObservationV1,
pub receipt: ReceiptDocumentV1,
pub published_receipt: PublishedCanonicalReceipt,
pub accepted_outcome: AcceptedOutcomeV1,
pub decision: DecisionRecordV1,
}Expand description
Authoritative artifacts produced by the owners of stages 5 through 13.
This is intentionally attach-only. A surface that only knows an HTTP status, process exit code, or MCP result must not fabricate protocol lineage.
Fields§
§context_plan: ContextPlanProjectionV1§execution_plan: ExecutionPlanV1§invocation: EngineInvocationV1§observation: EngineObservationV1§receipt: ReceiptDocumentV1§published_receipt: PublishedCanonicalReceipt§accepted_outcome: AcceptedOutcomeV1§decision: DecisionRecordV1Implementations§
Source§impl RecordedExecutionProtocolV1
impl RecordedExecutionProtocolV1
Sourcepub fn validated_for(
&self,
task: &TaskEnvelopeV1,
receipt_authority: (&ReceiptSignerAdmissionV1, &VerifyingKey),
decision_authority: (&DecisionSignerAdmissionV1, &VerifyingKey),
actual_context: Option<&TaskAutopilotDecision>,
verified_at: &UtcTimestamp,
) -> Result<ValidatedExecutionProtocolV1<'_>, ExecutionProtocolError>
pub fn validated_for( &self, task: &TaskEnvelopeV1, receipt_authority: (&ReceiptSignerAdmissionV1, &VerifyingKey), decision_authority: (&DecisionSignerAdmissionV1, &VerifyingKey), actual_context: Option<&TaskAutopilotDecision>, verified_at: &UtcTimestamp, ) -> Result<ValidatedExecutionProtocolV1<'_>, ExecutionProtocolError>
Authenticate both purposes and lifecycle lineage before issuing a token.
The host must resolve the signer snapshot and public key from its trusted configuration, never from receipt-supplied key material. Admission must be valid both at issuance and at the host’s verification time. This authenticates the receipt signer’s claims, not independently signed evaluator artifacts.
Sourcepub fn validate_for(
&self,
task: &TaskEnvelopeV1,
) -> Result<(), ExecutionProtocolError>
pub fn validate_for( &self, task: &TaskEnvelopeV1, ) -> Result<(), ExecutionProtocolError>
Validate the complete Task -> Context -> Plan -> Invocation -> Receipt ->
Outcome -> Decision chain without repairing or synthesizing any artifact.
This structural check does not establish signer trust; use validated_for
before admitting an outcome to learning.
Trait Implementations§
Source§impl Clone for RecordedExecutionProtocolV1
impl Clone for RecordedExecutionProtocolV1
Auto Trait Implementations§
impl Forget for RecordedExecutionProtocolV1
impl Freeze for RecordedExecutionProtocolV1
impl Move for RecordedExecutionProtocolV1
impl RefUnwindSafe for RecordedExecutionProtocolV1
impl Send for RecordedExecutionProtocolV1
impl Sync for RecordedExecutionProtocolV1
impl Unpin for RecordedExecutionProtocolV1
impl UnsafeUnpin for RecordedExecutionProtocolV1
impl UnwindSafe for RecordedExecutionProtocolV1
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more