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

StateMeaning
READY_EFFECT_BOUNDARYThe route is currently intercepted and trusted postcondition semantics are available.
READY_POLICY_ONLYInterception/policy is healthy, but at least one route lacks trusted postcondition semantics.
ATTENTIONConfiguration, 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.