pub struct AcquisitionResult {Show 13 fields
pub success: bool,
pub strategy_used: Option<StrategyUsed>,
pub attempted: Vec<StrategyUsed>,
pub final_url: Option<String>,
pub status_code: Option<u16>,
pub html_excerpt: Option<String>,
pub extracted: Option<Value>,
pub failures: Vec<StageFailure>,
pub timed_out: bool,
pub freshness: Option<FreshnessReport>,
pub replay_defense: Option<ReplayDefenseReport>,
pub transport_realism: Option<TransportRealismReport>,
pub interstitial: Option<RouterDecision>,
}Expand description
Terminal acquisition result.
Fields§
§success: booltrue when any stage satisfied success criteria.
strategy_used: Option<StrategyUsed>Stage that produced the terminal success, if any.
attempted: Vec<StrategyUsed>Ordered stage attempts.
final_url: Option<String>Final URL observed from the successful stage.
status_code: Option<u16>HTTP status code observed from the successful stage.
html_excerpt: Option<String>Best-effort HTML excerpt from the successful stage.
extracted: Option<Value>Optional extraction payload.
failures: Vec<StageFailure>Failure bundle collected across stages.
timed_out: booltrue when the wall-clock timeout fired before completion.
freshness: Option<FreshnessReport>Freshness report for the contract (if any) supplied via
AcquisitionRequest::freshness_contract. None when no
contract was supplied. Always populated when a contract was
supplied — Valid if the contract held, an invalid
FreshnessDecision variant if it was rejected.
replay_defense: Option<ReplayDefenseReport>Replay-defense report for the context (if any) supplied via
AcquisitionRequest::replay_defense. None when no
context was supplied. Always populated when a context was
supplied — Valid if the policy held, an invalid
ReplayDefenseDecision
variant otherwise. When forced_refresh = true the runner
has already invalidated the sticky session for the target
host via
BrowserPool::release_context
and short-circuited the run.
transport_realism: Option<TransportRealismReport>Transport-realism report for the context (if any) supplied via
AcquisitionRequest::transport_realism. None when no
context was supplied. Always populated when a context was
supplied — carries the per-target compatibility score,
confidence/coverage markers, and structured mismatch list.
Consumed by downstream policy mapping (T83 / T85 / T89 /
T93) as a strategy hint.
interstitial: Option<RouterDecision>Interstitial routing decision for the context (if
any) supplied via
AcquisitionRequest::interstitial. None when no
context was supplied. Always populated when a
context was supplied — carries the classified
InterstitialKind,
the dedicated
InterstitialSeverity
tier (retryable / requires-solve / terminal), the
dedicated
InterstitialRoute,
and the per-signature evidence. When the decision
is non-Transient and the policy’s
short_circuit_on_classified is true, the runner
has already short-circuited the run with a
StageFailureKind::InterstitialRouted failure
and the decision is the authoritative answer.
Trait Implementations§
Source§impl Clone for AcquisitionResult
impl Clone for AcquisitionResult
Source§fn clone(&self) -> AcquisitionResult
fn clone(&self) -> AcquisitionResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more