Skip to content

v0.4.0

Choose a tag to compare

@sourcehawk sourcehawk released this 30 Mar 02:37
· 73 commits to main since this release
bbb3d03

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 to Blocked, 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 Guardable interface and GuardStatus type in pkg/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
  • 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/checkout to v6.