Expand description
Apply engine — dependency-safe execution of selected update items.
This module implements:
ApplyStatus— per-item outcome (success, failed, blocked-by-failure, held-back, skipped)ApplyItem— an item in the apply queue with execution statusApplyEngine— executes selected items in dependency order, batches safe items, isolates failures so unrelated work continues
§Execution Model
- Items are sorted in dependency-safe order (topological sort).
- Items with
isolation_safe: trueand no failed dependencies may be batched. - When a guarded item fails, all items that depend on it are marked
BlockedByFailure— but unrelated items continue. - Items that were not selected by the user are marked
HeldBack.
§Failure Isolation (VAL-UPD-015, VAL-UPD-016)
If component B fails and A depends on B:
- A is marked
BlockedByFailurewith a reference to B’s failure. - Unrelated component C (no dependency on B) continues and succeeds/fails independently.
Structs§
- Apply
Engine - Executes selected update items in dependency-safe order with failure isolation.
- Apply
Item - An item that has been processed by the apply engine.
- Apply
Options - Options controlling apply behavior.
- Apply
Summary - Summary of the apply phase, partitioning all components into success / failed / held_back buckets.
- NoOp
Executor - A no-op executor that always succeeds. Used as a default when no real executor is configured.
Enums§
- Apply
Status - Outcome status for a single item after the apply phase.
Traits§
- Apply
Executor - Trait for executing a single component update.