Effect Profiles · v0.50.0
Postcondition semantics must be earned, not inferred from a tool name
Package availability boundary: commands that use published
@ruleoak/*@0.50.0 packages apply only after those exact npm packages are publicly available. The fresh GitHub v0.50.0 source repository remains the canonical source release.An effect profile tells RuleOak how a supported action can be independently checked after execution. A generic tool name never grants effect semantics by itself.
Protection state
| State | Meaning |
|---|---|
| READY_EFFECT_BOUNDARY | The route is currently intercepted and trusted postcondition semantics are available. |
| READY_POLICY_ONLY | Interception/policy is healthy, but at least one route lacks trusted postcondition semantics. |
| ATTENTION | Configuration, evidence, route proof or unresolved-effect state needs operator action. |
Check the route
npx @ruleoak/cli@0.50.0 protect check
npx @ruleoak/cli@0.50.0 protect check --require-effect-boundary
Uncertain effects
When an effect cannot be established, RuleOak keeps the state unresolved rather than automatically replaying the action. Reconciliation only reruns bounded postcondition checks.
npx @ruleoak/cli@0.50.0 effect pending
npx @ruleoak/cli@0.50.0 effect reconcile --limit 20
npx @ruleoak/cli@0.50.0 effect retry-plan --id <effect-id>
A retry requires fresh one-use authority. Reconciliation never replays the original action.