#![forbid(unsafe_code)]
pub mod capability;
pub mod dag;
pub mod events;
pub mod git_snapshot;
pub mod lifecycle;
pub mod stall;
pub mod state_machine;
pub mod task_ledger;
pub mod validation;
#[cfg(feature = "coding-domain")]
pub mod scheduler;
pub use capability::MissionCapability;
pub use dag::{detect_cycle, topological_layers, DagError};
pub use events::{MissionEventError, MissionEventSink};
pub use git_snapshot::{
apply_snapshot, create_snapshot, resolve_repo_toplevel, GitSnapshotError, ShellOutput,
SnapshotApplyResult,
ShellRunner,
};
pub use lifecycle::{MissionLifecycle, MissionLifecycleError};
pub use stall::{is_stalled, StallConfig, StallProgressSource};
pub use state_machine::{
can_transition, transition, StateMachineError, ValidTransition,
};
pub use task_ledger::{read_ledger, write_fact, write_guess, write_plan, LedgerKind, TaskLedgerError};
pub use validation::{
build_scrutiny_features, build_user_testing_features, build_validation_plan,
on_assertion_failed, propose_fix_for_blocking_issue, scrutiny_feature_id,
should_inject_validation_phase, AssertionFailureAction, ValidationPlan,
};
#[cfg(feature = "coding-domain")]
pub use scheduler::{files_overlap, partition_layer, SchedulerError};
pub const CRATE_VERSION: &str = env!("CARGO_PKG_VERSION");