Intervention Execution Mode¶
Use intervention_execution when a session needs explicit execution semantics in addition to intervention computation.
Scope¶
intervention_executionis synchronized control-plane state.- It is carried by
SESSION_INITand may be updated byBUNDLE_UPDATE. - It changes execution semantics only after the final intervention is known.
- It does not change tripwire, CTQ, threshold, flag, trust-debt, or posture-floor computation.
Canonical Capability Surface¶
Advertise execution support only through the canonical enumerated capability field:
Do not replace this field with multiple booleans.
Session State¶
The synchronized object is intentionally narrow in v1:
modeis required and usespassiveoractive.nudge_behavioris frozen toacknowledge_and_proceedoracknowledge_and_retry.allow_local_auto_applyapplies only to activenudgeplus modifications.
Passive And Active Meaning¶
passive: final interventions remain advisory for execution.active: final interventions are execution-authoritative after the decision is already formed.- Local signed-bundle terminal decisions may be execution-authoritative in active mode within the protocol bounds.
Downgrade Handling¶
If a session transitions from active to passive:
- the transition must be audit-visible
- the update must carry a reason
- subsequent evaluations observe the downgraded mode only after the update is accepted
HITL And Nudge¶
- Active
escalaterequires durable pending state. - If pending state cannot be persisted safely, the runtime must fail closed.
modify_and_approveremains finalnudgewith modifications.- The final
nudgebehavior follows synchronizednudge_behaviorandallow_local_auto_apply.
TypeScript Note¶
The TypeScript SDK in this release accepts and preserves intervention_execution fields for protocol interoperability.
It does not implement local execution-authoritative runtime behavior. Use the Python runtime or a supported evaluator service for enforcement semantics.