v0.4.0
This release introduces guards, a precondition system for controlling resource reconciliation order within a component.
Added
- Guards for gating resource application on preconditions. Each resource primitive can declare a guard via
WithGuard()on its builder. When a guard evaluates toBlocked, the resource is skipped and all resources registered after it in the component are also skipped. The blocked reason is surfaced in the component's status condition. Guards are not evaluated during suspension, so a component can always be fully deactivated regardless of guard state.- New
Guardableinterface andGuardStatustype inpkg/component/concepts/ WithGuard()builder method available on all primitive categories (static, workload, task, integration)- Guard-blocked resources always participate in status aggregation regardless of participation mode
- New
- Ordered resource reconciliation. Resources are now reconciled sequentially in registration order, which is required for guards to work correctly and provides deterministic reconciliation behavior.
Changed
- CI: Updated
actions/checkoutto v6.