pub enum OracleResult {
Golden(ValidatedTrace),
Consensus {
trace: ValidatedTrace,
agreement_ratio: f32,
},
Unverified {
reason: String,
trace: ValidatedTrace,
},
Failed {
reason: String,
diff: Option<String>,
trace: ValidatedTrace,
},
}Expand description
Outcome of oracle validation for a single REPL session.
Each variant carries the full ValidatedTrace so
downstream consumers always have the raw data regardless
of the verdict.
§Examples
ⓘ
match result {
OracleResult::Golden(t) => export_golden(&t),
OracleResult::Failed { reason, .. } => warn!("{reason}"),
_ => {}
}Variants§
Golden(ValidatedTrace)
Deterministically verified — safe for training data.
Consensus
Verified via multi-run agreement with a confidence ratio.
Fields
§
trace: ValidatedTraceThe validated trace snapshot.
Unverified
No oracle could verify; kept for manual review.
Fields
§
trace: ValidatedTraceThe unverified trace snapshot.
Failed
Oracle actively disagrees with the answer.
Implementations§
Source§impl OracleResult
impl OracleResult
Sourcepub fn to_record(&self) -> OracleTraceRecord
pub fn to_record(&self) -> OracleTraceRecord
Flatten the verdict enum into a serialisable record.
Copies the inner super::super::trace_types::ValidatedTrace
and maps the variant to a verdict string suitable for
JSON export and S3 key partitioning.
§Examples
ⓘ
let record = result.to_record();
serde_json::to_string(&record).unwrap();Trait Implementations§
Source§impl Clone for OracleResult
impl Clone for OracleResult
Source§fn clone(&self) -> OracleResult
fn clone(&self) -> OracleResult
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for OracleResult
impl RefUnwindSafe for OracleResult
impl Send for OracleResult
impl Sync for OracleResult
impl Unpin for OracleResult
impl UnsafeUnpin for OracleResult
impl UnwindSafe for OracleResult
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
Converts
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>
Converts
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 moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::RequestSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ServiceExt for T
impl<T> ServiceExt for T
Source§fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
fn map_response_body<F>(self, f: F) -> MapResponseBody<Self, F>where
Self: Sized,
Apply a transformation to the response body. Read more
Source§fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
fn trace_for_http(self) -> Trace<Self, SharedClassifier<ServerErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using HTTP status codes. Read more
Source§fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
fn trace_for_grpc(self) -> Trace<Self, SharedClassifier<GrpcErrorsAsFailures>>where
Self: Sized,
High level tracing that classifies responses using gRPC headers. Read more