Action Pass
Use this page to understand the bounded execution ticket OSuite uses between requested authority and runtime commit.
What it is
Action Pass is OSuite's bounded execution ticket for agent actions. It is minted by the runtime authorization layer after policy has narrowed or denied the authority requested by a skill, task, workflow, or operator.
An Action Pass is not a broad credential. It is tied to one CAVA action fingerprint, one policy digest, one state digest, optional state predicates, one revocation epoch, one holder/session, one nonce, scoped budget evidence, and a short validity window.
When to use this page
Read this page when you need to explain why OSuite is not only an approval queue or audit log. Action Pass is the object consumed at the execution boundary.
How it fits the OSuite stack
| Layer | Role |
|---|---|
| Skill boundary | Requests authority in a vendor-neutral form |
| Runtime authorization | Narrows, denies, or grants that request |
| Action Pass | Carries the granted authority to the runtime boundary |
| CAVA | Binds the pass to a canonical action fingerprint |
| PCAA | Preserves the route-review-prove control path |
| BAF | Supplies expiry, scope, budget, and bounded reuse constraints |
| AREG | Explains exposure, slow-path reasons, and runtime posture |
Commit-time behavior
| Condition | Result |
|---|---|
| Pass is fresh, hash-valid, policy/state digests match, required state predicates match, revocation epoch is current, action fingerprint matches, nonce unused, holder/session matches, budgets remain, minimized privacy posture holds, and receipt persistence is available | Fast lane execution |
| Policy, state, revocation epoch, state-predicate, privacy, or authority-evidence drift appears | Slow lane review |
| Remote verifier is required | Slow lane review |
| Action differs from the approved fingerprint | Block |
| Pass is explicitly revoked, expired, replayed, malformed, holder/session-mismatched, or out of local or aggregate budget | Block |
Why this matters
The product goal is not to remove governance. The goal is to remove unnecessary waiting from the common path while preserving fail-closed behavior when the action boundary changes.
This is the practical difference between:
- asking every agent action for permission synchronously
- issuing bounded authority once, consuming it locally, and settling proof afterward
Artifacts
docs/research/action-pass/ACTION_PASS_SCHEMA.mddocs/research/action-pass/fast-slow-benchmark/latest.mddocs/research/action-pass/fast-slow-benchmark/latest.jsondocs/research/action-pass/public-runtime-corpus/latest.mddocs/research/action-pass/public-runtime-corpus/latest.jsondocs/research/action-pass/fast-slow-benchmark/load-study.mdnpm run action-pass:benchmarknpm run action-pass:public-corpusnpm run action-pass:load-study
The historical benchmark command contains scenario-model and preset comparison values. It now requires -- --allow-historical-model and an explicit ACTION_PASS_BENCHMARK_OUTPUT_DIR; do not use its output as new empirical validation. Use npm run action-pass:revalidate for the current executable semantic evaluation, with its stated authored-data limitations.