Activation status: Source-ready for exact recorded browser actions, with compatible Worker code deployed. Required production database activation and authenticated approval canaries remain pending. Do not call this mutation until Praxa confirms activation for your tenant.Praxa exposes a public approval only when it can prove render == record == gate-match. You see the exact immutable browser instruction or steps and its target host. The digest you return binds to that same stored action.
Read the pending action
An exact pending browser action appears on the run resource:approval.required on the run event stream.
Render summary exactly as supplied. Do not replace it with a shorter or
client-derived description.
Approve or deny
decision is approve or deny. The key must carry runs:write, and the
run must belong to its tenant. Copy action_digest from the exact
pendingApproval or approval.required projection. The response is the updated
RunResource.
approve records the digest-bound approval and wakes that exact suspended
action. deny records refusal and does not authorize the action. It can move the
run into cancellation and close-out processing; follow the run until you observe
its real terminal status.
What Praxa checks
Praxa re-derives the presentation when it reads the run, emits the event, and receives your decision. Public projection and approval require all of these:- The run is waiting for a pending approval with an approval reference and a 64-character action digest.
- The executor is a browser action using
browse_session_act. - The immutable executor request carries the same action digest.
- The recorded instruction or steps, URL, and target host pass the strict browser-action schema and fit the public presentation unchanged.
- The submitted digest still matches that exact pending presentation.
pendingApproval, emits no
approval.required, and refuses the decision. A stale or mismatched digest
returns 409 conflict. A foreign run is not projected. Expiry, replay, changed
state, and workflow-wake failures also fail closed. Praxa never turns a missing
approval integration or generic summary into approval.