Capabilities¶
Source of truth: src/assync/core/enums.py::Capability and
HIGH_RISK_CAPABILITIES.
All capabilities¶
| Capability | Value |
|---|---|
| Repository Read | repository_read |
| Repository Write | repository_write |
| Runtime Read | runtime_read |
| Runtime Write | runtime_write |
| Test Execute | test_execute |
| Analysis Execute | analysis_execute |
| Report Write | report_write |
| Finding Create | finding_create |
| Synthesis Create | synthesis_create |
| Decision Recommend | decision_recommend |
| Commit Prepare | commit_prepare |
| Commit Execute | commit_execute |
| Push Prepare | push_prepare |
| Push Execute | push_execute |
| PR Prepare | pr_prepare |
| PR Create | pr_create |
| Merge Prepare | merge_prepare |
| Merge Execute | merge_execute |
| Release Prepare | release_prepare |
| Release Execute | release_execute |
| Production Read | production_read |
| Production Write | production_write |
| Secret Read | secret_read |
High-risk capabilities¶
These must never be inferred from a role title or granted implicitly by a
mission's authorization type alone. No built-in role's
allowed_capabilities may include any of these —
roles/validation.py::PROHIBITED_IN_ROLE_DEFINITION (defined as
core.enums.HIGH_RISK_CAPABILITIES plus production_read, minus
commit_execute — see below) rejects a role registry that tries:
push_executepr_createmerge_executerelease_executeproduction_writeproduction_readsecret_read
No adapter in this codebase supports any of the above operations at all — they are unreachable by omission, not merely by this check (see Known MVP Limitations).
commit_execute is the one exception, and is not rejected from a
role's allowed_capabilities — it is the one HIGH_RISK_CAPABILITIES
member this codebase actually supports executing, subject to real
central enforcement rather than blanket unreachability. Only an explicit
role grant intersected with an authorization that also carries it (only
COMMIT_GO's canonical grant does; no other AuthorizationType does) —
and, in practice, an escalated COMMIT_GO authorization minted via a
resolved human Decision — may enable it. No built-in role currently
grants commit_execute (a separate, human-gated product decision); this
only keeps that decision possible. See
Capability Enforcement.
How a capability actually becomes available¶
See Authorization Model for the full rule, and Authorization Types for what each authorization type grants.