pub struct CompletedRecord {
pub task: TaskId,
pub source: RunSource,
pub state: RunState,
pub exit_status: Option<ExitStatus>,
pub stdout_hash: [u8; 32],
pub stderr_hash: [u8; 32],
pub materialised_outputs: Vec<CanonicalPath>,
}Expand description
Run-record fields produced by one run_task invocation: the
observation of a task that the scheduler admitted into the
lookup-then-spawn pipeline and that reached a run classification
(EXEC-009).
Carries enough information for a scheduler layer to feed the
per-TaskId predecessor_streams map that
crate::cache_key::build_cache_key consumes: stdout_hash and
stderr_hash are always present, whether the run was a cache
hit (sourced from the manifest’s recorded hashes per
CACHE-011) or a fresh run (computed from the captured byte
buffers under the cache’s active HashAlgo).
A scheduler-level cascade decision produces
RunOutcome::Skipped instead (EXEC-010 / EXEC-011);
run_task itself never produces a Skipped because skipped
tasks never enter the pipeline.
Fields§
§task: TaskIdThe task this record describes.
source: RunSourceWhether the success came from a cache hit or a fresh run.
state: RunStateTerminal classification per EXEC-009.
exit_status: Option<ExitStatus>Process exit status for a fresh run, None for a cache
hit (no process ran).
stdout_hash: [u8; 32]Hash of the run’s captured stdout under the cache’s
HashAlgo. For RunSource::CacheHit this is read from
the manifest; for RunSource::FreshRun it is computed
from the captured byte buffer.
stderr_hash: [u8; 32]Hash of the run’s captured stderr under the cache’s
HashAlgo.
materialised_outputs: Vec<CanonicalPath>Workspace-absolute paths the task materialised on disk.
Populated only for RunState::Succeeded; empty for
RunState::Failed and RunState::Cancelled. The
source is the executor’s output-resolution pass for a
fresh run and haz_cache::Manifest::outputs for a
cache hit.
Consumed by the scheduler’s runtime DAG validation pass
(EXEC-019 runtime cycle detection and EXEC-020 runtime
output-overlap detection) to derive runtime producer-
matching edges and to populate the output-claim tracker.
Trait Implementations§
Source§impl Clone for CompletedRecord
impl Clone for CompletedRecord
Source§fn clone(&self) -> CompletedRecord
fn clone(&self) -> CompletedRecord
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CompletedRecord
impl Debug for CompletedRecord
Source§impl PartialEq for CompletedRecord
impl PartialEq for CompletedRecord
Source§fn eq(&self, other: &CompletedRecord) -> bool
fn eq(&self, other: &CompletedRecord) -> bool
self and other values to be equal, and is used by ==.