Enum SpikeError
#[non_exhaustive]pub enum SpikeError {
Overlay(String),
Materialize(String),
Oniro(String),
Segment(String),
Timeout(String),
ResourceCap(String),
Protocol(String),
Atune(Error),
Io(Error),
}Expand description
An error from the oniro tuning spike harness.
The spike composes several fallible layers — TOML materialization, the
oniro_cli handshake, and the atune study loop — so its error keeps the
three apart rather than flattening them into strings a caller cannot match
on.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Overlay(String)
The search-space overlay could not be parsed.
Materialize(String)
A trial configuration could not be materialized from the base config and the sampled values.
Oniro(String)
The oniro_cli (or mock) handshake failed: a non-zero exit, an output
the contract does not permit, or a missing objective.
Segment(String)
A segmented trial could not be planned or run: a
degenerate or unbounded SegmentPlan, a
fidelity parameter that is not a step count, or a segment below the
trainer’s learn floor (RungFloor).
Timeout(String)
A segment’s oniro process (or the eval after it) exceeded its
per-segment timeout and was
killed.
A wedged oniro process would otherwise block the whole study forever
(run_segment waits on the child); this turns that hang into a failed
trial the study loop can record and move past
(docs/design/04-rl-and-oniro.md §A.4).
ResourceCap(String)
An explicit resource cap was exceeded.
Distinct from Timeout, which bounds work that had
already started, and from Materialize, which means
a configuration is malformed: this variant means a quantity — bytes
of config text, concurrent trial processes, evaluation episodes — crossed
a stated ceiling, so a caller can tell “too big” from “wrong” and a
runaway input is refused rather than silently truncated to fit.
Protocol(String)
The multi-seed protocol and the rest of the configuration disagree.
The one case today: an Oniro scheduler with a multi-seed fan. Core sends aligned aggregate reports to the scheduler, but Oniro’s replicates produce distinct run-directory checkpoints while pause/fork recovery accepts one reference. Refusing avoids an ambiguous resume.
Atune(Error)
A study operation (atune) failed.
Io(Error)
An I/O operation failed.
Trait Implementations§
§impl Debug for SpikeError
impl Debug for SpikeError
§impl Display for SpikeError
impl Display for SpikeError
§impl Error for SpikeError
impl Error for SpikeError
§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()