scientific_workflow/execution.rs
1//! Process and filesystem execution boundaries for workflow runs.
2//!
3//! [`ReplicateExecutor`] starts the current executable once per replicate and
4//! gives every worker a [`ReplicateContext`] containing its isolated scope and
5//! lazy seed deriver. [`ExecutionScope`] owns the directory lifecycle:
6//! - creation mode (`open_or_create`, `create_generated`, `create_named`),
7//! - path derivation for per-task recordings,
8//! - and opening of previously used scopes.
9//!
10//! # Boundary
11//!
12//! This module owns only process-level replicate isolation and filesystem
13//! scopes. It does not define task policies, phase scheduling, artifact
14//! identity rules, or payload serialization. The downstream caller owns those
15//! concerns and consumes the contexts and directories this module provides.
16
17mod error;
18mod replicate;
19mod scope;
20
21pub use error::ExecutionScopeError;
22pub use replicate::{ReplicateContext, ReplicateExecutionError, ReplicateExecutor};
23pub use scope::ExecutionScope;