{
  "schemaVersion": 1,
  "generator": "scripts/gen-self-describe.mjs",
  "verbCount": 542,
  "verbs": [
    {
      "verb": "access.breakGlass",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "access:break-glass"
      ],
      "description": "Request time-boxed elevation (default role `admin`). Audit-ledger signed on grant and on revoke/expiry."
    },
    {
      "verb": "access.breakGlass.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "access:break-glass"
      ],
      "description": "List break-glass grants, optionally filtered by principal and active-only."
    },
    {
      "verb": "access.breakGlass.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "access:break-glass"
      ],
      "description": "Revoke a still-active break-glass grant before its expiry."
    },
    {
      "verb": "actions.describe",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Describe one action by id. Unknown ids fail validation with the list of valid actions."
    },
    {
      "verb": "actions.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List agent-performable actions (intent → canonical RPC + required gates), optionally filtered by entity."
    },
    {
      "verb": "agent.invoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Internal agent-to-agent (A2A) invoke: run a registered agent by id and return its output. Same governance as a run (runs:write + real-mode provider gate)."
    },
    {
      "verb": "agent.toolApproval.decide",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "hitl:decide"
      ],
      "description": "Approve or deny a pending agent tool call (RFC-0028)."
    },
    {
      "verb": "agent.toolApproval.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List tool-approval requests awaiting a human decision (RFC-0028)."
    },
    {
      "verb": "agentGen.parse",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Parse a natural-language description into a structured AgentIntent."
    },
    {
      "verb": "agents.applyOverride",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Apply a per-session provider+model override for a copilot role; emits an audit event."
    },
    {
      "verb": "agents.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:delete"
      ],
      "description": "Remove an inline agent from the active workspace."
    },
    {
      "verb": "agents.fromNL",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Generate a draft AgentConfig from a natural-language description (deterministic v1: keyword/heuristic intent, no LLM). Returns the Phase-3 compiler envelope (artifact + assumptions/warnings/missing/blockedBy/nextActions/confidence) with calibrated model-tier/tools/system-prompt defaults."
    },
    {
      "verb": "agents.generate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Generate a draft agent from a natural-language description; gates ambiguous prompts via RFC-0009 clarity questions."
    },
    {
      "verb": "agents.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "Fetch a single inline agent by id; null when absent."
    },
    {
      "verb": "agents.import",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Parse + validate an agent manifest (file or URL). dryRun=true returns the parsed definition without persisting."
    },
    {
      "verb": "agents.importFromRegistry",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Fetch a ready agent from the AgentsKit registry by id, translate it to an inline agent, and (dryRun=false) persist it to the workspace."
    },
    {
      "verb": "agents.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "List inline agents declared in the active workspace."
    },
    {
      "verb": "agents.overrides.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Clear the persisted override for (sessionId, role)."
    },
    {
      "verb": "agents.overrides.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "Get the active override for (sessionId, role), or null."
    },
    {
      "verb": "agents.overrides.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "List persisted per-session agent overrides."
    },
    {
      "verb": "agents.registry.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "List the agents available in the configured AgentsKit registry (empty when AKOS_AGENT_REGISTRY is unset/unreachable)."
    },
    {
      "verb": "agents.setProductionStatus",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Enable or disable an agent (RFC-0048 productionStatus); 'paused' blocks execution. Appends an audit event."
    },
    {
      "verb": "agents.transition",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Move an agent between ADR-0020 lifecycle states; appends an audit event."
    },
    {
      "verb": "agents.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Insert or update an inline agent."
    },
    {
      "verb": "agents.validateDetailed",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "Semantic validation of an agent draft against the live tool/skill/provider catalogs. Returns self-correctable AuthoringIssues (where/what/how-to-fix/route) so a weak LLM can fix its own output."
    },
    {
      "verb": "agents.versions.diff",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "Diff two agent version snapshots. Defaults toVersionId=live."
    },
    {
      "verb": "agents.versions.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "Fetch a specific agent version snapshot by id; null when absent."
    },
    {
      "verb": "agents.versions.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agents:read"
      ],
      "description": "List immutable version snapshots for an agent (newest first) + the live pointer."
    },
    {
      "verb": "agents.versions.rollback",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:rollback"
      ],
      "description": "Pin the live pointer back to a prior snapshot by minting a new version with its payload."
    },
    {
      "verb": "anomalies.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Remove an anomaly rule."
    },
    {
      "verb": "anomalies.list",
      "sideEffectTier": "read",
      "stability": "stable",
      "capsRequired": [
        "observability:read"
      ],
      "description": "List anomaly detections, optionally filtered to active ones."
    },
    {
      "verb": "anomalies.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Insert or update an anomaly rule."
    },
    {
      "verb": "assets.compare",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Field-level diff between two artifact versions; null when either id is unknown."
    },
    {
      "verb": "assets.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Delete one or more artifacts by id. Returns the count removed."
    },
    {
      "verb": "assets.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Get one artifact with its full renderable view. Null when absent."
    },
    {
      "verb": "assets.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Paginated, filterable list of artifacts across runs — the cross-vertical Asset Gallery feed."
    },
    {
      "verb": "assets.versions",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List every version of one logical asset (shared lineageKey), ordered oldest → newest."
    },
    {
      "verb": "audit.batchHash",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "audit:read"
      ],
      "description": "Compute the canonical sha256 digest of an audit batch."
    },
    {
      "verb": "audit.entries.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "audit:read"
      ],
      "description": "List audit ledger entries with optional actor / kind / time filters."
    },
    {
      "verb": "audit.entries.verify",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "audit:read"
      ],
      "description": "Verify the signed audit chain end-to-end and report the first break."
    },
    {
      "verb": "audit.signedBatch",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "audit:admin"
      ],
      "description": "Sign an audit batch with the workspace Ed25519 audit key."
    },
    {
      "verb": "audit.verifyIntegrity",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "audit:read"
      ],
      "description": "Verify a signed audit batch against a public key."
    },
    {
      "verb": "auth.device.poll",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Poll for the verdict of an in-flight device-code flow."
    },
    {
      "verb": "auth.device.refresh",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Exchange a refresh token for a fresh access token (CLI session renewal)."
    },
    {
      "verb": "auth.device.start",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Start an OAuth device-code flow for CLI login."
    },
    {
      "verb": "authoring.clarify",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Turn validation issues into actionable clarification questions (with suggested answers / screen routes) so missing inputs can be resolved in chat. Applies nothing."
    },
    {
      "verb": "authoring.dryRun",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Side-effect-free simulation of an authoring action: what it would create/modify, external calls, estimated cost, missing inputs. Gate before apply."
    },
    {
      "verb": "authoring.plan",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Deterministic planner: derive entities/actions needed, missing inputs/capabilities, and whether it is safe to continue in chat — before any artifact is generated. Applies nothing."
    },
    {
      "verb": "authoring.preview",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Human-readable, deterministic preview of an artifact (agent/flow/pipeline/config) before apply: title, summary, sections, risks, side effects, outputs. Pure projection; no external calls."
    },
    {
      "verb": "authoring.repair",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Integrated repair loop: deterministically apply self-heal patches to resolve auto-fixable validation issues, explain each change, and report remaining blockers. Re-validates the draft end-to-end. No external calls, no LLM."
    },
    {
      "verb": "backup.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Create a consistent online disaster-recovery backup from the live sidecar."
    },
    {
      "verb": "billing.invoices.list",
      "sideEffectTier": "read",
      "stability": "stable",
      "capsRequired": [
        "billing:read"
      ],
      "description": "List historical invoices when cloud sync is enabled."
    },
    {
      "verb": "billing.plan.get",
      "sideEffectTier": "read",
      "stability": "stable",
      "capsRequired": [
        "billing:read"
      ],
      "description": "Fetch the current billing plan when cloud sync is enabled."
    },
    {
      "verb": "billing.portal.create",
      "sideEffectTier": "mutating",
      "stability": "stable",
      "capsRequired": [
        "billing:read"
      ],
      "description": "Mint a Stripe Billing Portal session for tenant self-service."
    },
    {
      "verb": "bundles.diff",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Compute a key-level diff between two bundle JSON files."
    },
    {
      "verb": "bundles.export",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "sdlc:write"
      ],
      "description": "Export the current workspace as a bundle JSON file."
    },
    {
      "verb": "bundles.import",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "sdlc:write"
      ],
      "description": "Import a bundle JSON file. Use dryRun:true for a preview without applying."
    },
    {
      "verb": "bundles.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List bundles available in the workspace bundles dir."
    },
    {
      "verb": "capabilities.catalog.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "List the deterministic capability catalog (capabilities + vendor equivalences)."
    },
    {
      "verb": "capabilities.resolve",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Resolve a capability to a connected vendor for the active workspace."
    },
    {
      "verb": "cloud-sync.conflicts.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List pending sync conflicts."
    },
    {
      "verb": "cloud-sync.conflicts.resolve",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Resolve a sync conflict by picking local or remote."
    },
    {
      "verb": "cloud-sync.history",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Recent sync events (persisted, paginated)."
    },
    {
      "verb": "cloud-sync.pause",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Pause cloud sync."
    },
    {
      "verb": "cloud-sync.resume",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Resume cloud sync."
    },
    {
      "verb": "cloud-sync.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Current cloud-sync state and last-synced timestamp."
    },
    {
      "verb": "cloud.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Report whether the workspace is configured against a cloud control plane and which endpoint it points at."
    },
    {
      "verb": "cloud.syncVault",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cloud:admin"
      ],
      "description": "Push the local vault to the configured cloud control plane."
    },
    {
      "verb": "cloud.toggleRemoteCron",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cloud:admin"
      ],
      "description": "Enable or disable cloud-side scheduling for the active workspace."
    },
    {
      "verb": "cloud.vaultHistory",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cloud:admin"
      ],
      "description": "List recent vault snapshots from the cloud control plane (newest first)."
    },
    {
      "verb": "cloud.vaultRestore",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cloud:admin"
      ],
      "description": "Restore the local vault from a prior cloud snapshot and move HEAD."
    },
    {
      "verb": "cmdk.commands.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List the static palette commands (Navigate / Create / Run / Manage / Help)."
    },
    {
      "verb": "cmdk.search",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Universal palette search. Returns ranked, dispatch-tagged hits across entity stores + the static command catalogue."
    },
    {
      "verb": "coding.benchmark",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "Run the same coding task against multiple providers and report per-provider rows. Defaults to dry-run; pass `dryRun:false` to actually apply edits."
    },
    {
      "verb": "coding.cancelTask",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "Cooperatively cancel an in-flight coding-agent task by runId. Returns `cancelled:false` when no such run exists or the provider does not support cancellation."
    },
    {
      "verb": "coding.delegate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "Run a coordinator-led delegation: each shard is sent to its named provider; returns per-shard rows. Sequential by default; pass `parallel:true` to fan out."
    },
    {
      "verb": "coding.permissionProfiles",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "List sandbox permission profiles available to the coding-agent runner."
    },
    {
      "verb": "coding.permissionProfiles.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "Remove a coding-agent permission profile."
    },
    {
      "verb": "coding.permissionProfiles.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "Insert or update a coding-agent permission profile."
    },
    {
      "verb": "coding.providers",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "List built-in coding-agent providers with availability + capability info."
    },
    {
      "verb": "coding.runConformance",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "Run the conformance suite (#374) against a coding-agent provider. Returns the structured report used for marketplace verification. Emits `coding.conformance.started`, `coding.conformance.check`, and `coding.conformance.finished` events."
    },
    {
      "verb": "coding.runTask",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "coding:write"
      ],
      "description": "Run a one-shot coding-agent task with the named provider and permission profile. Emits `coding.task.started` / `coding.task.finished` notifications on the events channel."
    },
    {
      "verb": "collab.accept",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "collab:write"
      ],
      "description": "Accept an invite."
    },
    {
      "verb": "collab.invite",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "collab:write"
      ],
      "description": "Send a teammate invite."
    },
    {
      "verb": "collab.invites.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "collab:write"
      ],
      "description": "List pending teammate invites."
    },
    {
      "verb": "collab.shares.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "collab:write"
      ],
      "description": "Create an outbound collab share for a resource."
    },
    {
      "verb": "collab.shares.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "collab:read"
      ],
      "description": "List inbound / outbound collab shares."
    },
    {
      "verb": "collab.shares.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "collab:write"
      ],
      "description": "Revoke an outbound collab share."
    },
    {
      "verb": "compliance.dsar.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "compliance:write"
      ],
      "description": "Queue a Data Subject Access or Erasure request. Erasure refuses on active legal hold."
    },
    {
      "verb": "compliance.dsar.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "compliance:read"
      ],
      "description": "List Data Subject Access / Erasure requests."
    },
    {
      "verb": "compliance.dsar.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:read"
      ],
      "description": "Get the status of a DSAR request by id."
    },
    {
      "verb": "compliance.export",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:export"
      ],
      "description": "Build a signed compliance export bundle for a regulatory regime."
    },
    {
      "verb": "compliance.gc.run",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:write"
      ],
      "description": "Run the cloud-retention GC sweep."
    },
    {
      "verb": "compliance.gc.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:read"
      ],
      "description": "Read the last cloud-retention GC execution status."
    },
    {
      "verb": "compliance.legalHold.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "compliance:read"
      ],
      "description": "List litigation/preservation legal holds."
    },
    {
      "verb": "compliance.legalHold.put",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:write"
      ],
      "description": "Place a legal hold on a workspace or data subject."
    },
    {
      "verb": "compliance.legalHold.release",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:write"
      ],
      "description": "Release an existing legal hold."
    },
    {
      "verb": "compliance.prune.run",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:write"
      ],
      "description": "Prune run records older than `maxAgeDays`. Skips workspaces under an active legal hold."
    },
    {
      "verb": "compliance.prune.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:read"
      ],
      "description": "Read the last run-history prune execution status."
    },
    {
      "verb": "connections.completeOauth",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Exchange an OAuth code for a token + persist via the keychain bridge."
    },
    {
      "verb": "connections.email.config.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Return the persisted SMTP transport config for the email output sink (secret-refs only)."
    },
    {
      "verb": "connections.email.config.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Persist the SMTP transport config for the email output sink. `usernameSecret` / `passwordSecret` are vault key names, never plaintext credentials."
    },
    {
      "verb": "connections.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List every LLM provider with current credential / verify state."
    },
    {
      "verb": "connections.llmOauthComplete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Exchange a PKCE OAuth code for an LLM provider API key."
    },
    {
      "verb": "connections.llmOauthRefresh",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Refresh a stored LLM OAuth access token using its refresh_token."
    },
    {
      "verb": "connections.llmOauthStart",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Begin a public-client PKCE OAuth flow for an LLM provider (e.g. OpenRouter)."
    },
    {
      "verb": "connections.outputSinks.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Delete an output sink by id."
    },
    {
      "verb": "connections.outputSinks.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List all configured output sinks."
    },
    {
      "verb": "connections.outputSinks.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Create or update an output sink."
    },
    {
      "verb": "connections.startOauth",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Begin the OAuth flow for a provider that needs cloud credentials."
    },
    {
      "verb": "connections.tokens.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "secrets:read"
      ],
      "description": "Resolve a stored OAuth grant into a masked hint + vault reference (never the raw token) for a provider/account pair."
    },
    {
      "verb": "connections.verify",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Run a 1-token completion to confirm the provider credentials work."
    },
    {
      "verb": "connections.webhook.config.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Return the persisted webhook transport config for the webhook output sink (secret-refs only)."
    },
    {
      "verb": "connections.webhook.config.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Persist the webhook transport config for the webhook output sink. `signingSecret` is a vault key name, never the plaintext secret."
    },
    {
      "verb": "consent.grant",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:write"
      ],
      "description": "Create a break-glass consent grant with an explicit expiry."
    },
    {
      "verb": "consent.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "compliance:read"
      ],
      "description": "List break-glass consent grants (active by default)."
    },
    {
      "verb": "consent.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "compliance:write"
      ],
      "description": "Revoke an active consent grant before its TTL expires."
    },
    {
      "verb": "control.context.resolve",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "Resolve the canonical ControlPlaneContext for the caller."
    },
    {
      "verb": "control.context.whoami",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "Compact identity/org/plan/license/caps summary (CLI whoami, desktop preflight)."
    },
    {
      "verb": "control.devices.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "List the caller's device installs."
    },
    {
      "verb": "control.devices.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Revoke a device install (lost/stolen device)."
    },
    {
      "verb": "control.entitlement.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "Read the reconciled EffectiveEntitlement for an org."
    },
    {
      "verb": "control.memberships.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "List the caller's tenant memberships."
    },
    {
      "verb": "control.roles.simulate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "Simulate which methods a role (cap set) may call — preview-as before publishing."
    },
    {
      "verb": "control.sessions.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "List the caller's active sessions."
    },
    {
      "verb": "control.sessions.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Revoke a session (logout / SCIM deprovision)."
    },
    {
      "verb": "control.tenant.readiness",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "Evaluate whether a tenant is ready to operate (blockers/warnings/actions)."
    },
    {
      "verb": "control.tenants.switch",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "control:read"
      ],
      "description": "Switch active tenant — honored only with an active membership (server-authoritative)."
    },
    {
      "verb": "copilot.agent.author",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Deliberately author an agent from scratch / a template / an import: draft, validate; stops at the HITL gate."
    },
    {
      "verb": "copilot.agent.decide",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Resolve the agent HITL gate: approve (→ committed/activated) or decline (→ rejected)."
    },
    {
      "verb": "copilot.agent.templates",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "List the curated agent-template catalog available to copilot.agent.author { from_template }."
    },
    {
      "verb": "copilot.config.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "copilot:admin"
      ],
      "description": "Read the persisted CopilotConfig (null if onboarding not done)."
    },
    {
      "verb": "copilot.config.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:admin"
      ],
      "description": "Persist a validated CopilotConfig."
    },
    {
      "verb": "copilot.integration.setup",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Deliberately connect an integration: resolve from the catalog, guide, OAuth/secret handoff, verify; emits assistant.integration.* progress."
    },
    {
      "verb": "copilot.mention.parse",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Parse @-mentions out of a chat message."
    },
    {
      "verb": "copilot.nl.route",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Route a natural-language prompt (no leading slash) to clarify, match, or synthesize."
    },
    {
      "verb": "copilot.pipeline.author",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Deliberately create or edit a pipeline from a goal: draft, enforce flows, validate; stops at the HITL gate (assistant.pipeline.awaiting_approval)."
    },
    {
      "verb": "copilot.pipeline.decide",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Resolve the pipeline HITL gate: approve (→ committed) or decline (→ rejected)."
    },
    {
      "verb": "copilot.powers.grant",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:powers"
      ],
      "description": "Grant additional caps to the copilot principal (signed + audited)."
    },
    {
      "verb": "copilot.powers.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "copilot:powers"
      ],
      "description": "List capability grants currently held by the copilot principal."
    },
    {
      "verb": "copilot.proactive.fromEvent",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Turn a sidecar event (budget threshold, firewall block, run failure, anomaly) into a proactive action card, or null if not actionable."
    },
    {
      "verb": "copilot.proposal.decide",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Record a proposal decision on a session; returns updated session."
    },
    {
      "verb": "copilot.session.cancel",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Request cancellation of an in-flight copilot dispatch."
    },
    {
      "verb": "copilot.session.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Create a new copilot conversation session."
    },
    {
      "verb": "copilot.session.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Remove a copilot session and abort any in-flight dispatch."
    },
    {
      "verb": "copilot.session.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Fetch a single copilot session by id."
    },
    {
      "verb": "copilot.session.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "List copilot sessions for a workspace."
    },
    {
      "verb": "copilot.session.send",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Send a user message; copilot dispatches LLM + classifies proposals."
    },
    {
      "verb": "copilot.slash.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "List supported copilot slash commands and their dispatch methods."
    },
    {
      "verb": "copilot.slash.parse",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Parse a chat message for a leading slash command; returns the dispatch method."
    },
    {
      "verb": "copilot.smoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:admin"
      ],
      "description": "Smoke-test a provider/model combination via the dispatch path."
    },
    {
      "verb": "copilot.workflow.author",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Deliberately author a workflow from a goal: draft, validate, check integrations, dry-run; emits assistant.workflow.* progress."
    },
    {
      "verb": "cost.alerts.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "cost:read"
      ],
      "description": "List active cost alerts derived from budget consumption."
    },
    {
      "verb": "cost.alerts.mute",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cost:alert:write"
      ],
      "description": "Mute or unmute a cost alert by id."
    },
    {
      "verb": "cost.breakdown",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cost:read"
      ],
      "description": "Aggregate cost rows by provider / role / workspace."
    },
    {
      "verb": "cost.budgets.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cost:budget:write"
      ],
      "description": "Delete a cost budget by id."
    },
    {
      "verb": "cost.budgets.evaluate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cost:read"
      ],
      "description": "Evaluate budgets against an estimate; block when an over-budget rule has action=block."
    },
    {
      "verb": "cost.budgets.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "cost:read"
      ],
      "description": "List configured budgets with current consumption + status."
    },
    {
      "verb": "cost.budgets.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "cost:budget:write"
      ],
      "description": "Insert or update a cost budget."
    },
    {
      "verb": "cost.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "cost:read"
      ],
      "description": "List itemized cost rows for filtering / CSV export."
    },
    {
      "verb": "cost.reset",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Reset the workspace cost meter window."
    },
    {
      "verb": "cost.spendPolicy.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "cost:read"
      ],
      "description": "Read the account-level spend policy."
    },
    {
      "verb": "cost.spendPolicy.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cost:budget:write"
      ],
      "description": "Update the account-level spend policy."
    },
    {
      "verb": "cost.summary",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "cost:read"
      ],
      "description": "Aggregate cost over a window, broken down by provider + agent."
    },
    {
      "verb": "dashboard.stats",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Aggregate counters for the home dashboard."
    },
    {
      "verb": "demo.seed.materialise",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Materialise the legacy DEMO_SEED bundle for a vertical into the sidecar agent/flow/pipeline stores. Backs `agentskit-os seed --vertical <id>`."
    },
    {
      "verb": "demo.seed.reset",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Delete every `demo:`-prefixed row from the agent/flow/pipeline stores. Backs `agentskit-os seed --reset`."
    },
    {
      "verb": "demo.seed.runs",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Dev-only — inject fully-populated demo runs (varied statuses + multi-span traces + artifacts) into the run/trace/artifact stores so the Observe run-monitor can be exercised without executing flows."
    },
    {
      "verb": "dispatch.refresh",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Re-read provider credentials from the file vault + env and rebuild the dispatch registry."
    },
    {
      "verb": "egress.decisions.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Recent egress decisions (most recent first)."
    },
    {
      "verb": "egress.policy.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Read the active egress policy."
    },
    {
      "verb": "egress.policy.set",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Replace the active egress policy."
    },
    {
      "verb": "evals.results.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "evals:read"
      ],
      "description": "Get an eval result by id."
    },
    {
      "verb": "evals.results.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "evals:read"
      ],
      "description": "List recent eval results, optionally filtered by suite."
    },
    {
      "verb": "evals.run",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "evals:write"
      ],
      "description": "Execute every case in the suite against the wired flow runner; persist + return the verdict row."
    },
    {
      "verb": "evals.suites.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "evals:write"
      ],
      "description": "Delete an eval suite."
    },
    {
      "verb": "evals.suites.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "evals:read"
      ],
      "description": "Get a single eval suite by id."
    },
    {
      "verb": "evals.suites.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "evals:read"
      ],
      "description": "List every eval suite in the workspace."
    },
    {
      "verb": "evals.suites.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "evals:write"
      ],
      "description": "Create or update an eval suite."
    },
    {
      "verb": "firewall.blocks.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Recent prompt-firewall blocks (most recent first)."
    },
    {
      "verb": "firewall.evaluate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Evaluate a prompt against a firewall tier; returns allow + matched rules."
    },
    {
      "verb": "firewall.rules.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Delete a firewall rule by id."
    },
    {
      "verb": "firewall.rules.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "List firewall rules, optionally filtered by tier."
    },
    {
      "verb": "firewall.rules.test",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Test a pattern against sample text; returns match result and snippet."
    },
    {
      "verb": "firewall.rules.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Create or update a firewall rule."
    },
    {
      "verb": "firewall.tiers",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "List the prompt-firewall tier identifiers in declaration order."
    },
    {
      "verb": "flows.deleteInline",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:delete"
      ],
      "description": "Remove an inline flow."
    },
    {
      "verb": "flows.fromNL",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:write"
      ],
      "description": "Generate a draft FlowConfig from a natural-language description (deterministic v1: keyword/structure heuristics, no LLM). Returns the Phase-3 compiler envelope (artifact + assumptions/warnings/missing/blockedBy/nextActions/confidence) covering agent/rag/condition/human/notify/parallel node kinds."
    },
    {
      "verb": "flows.fromVisual",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:write"
      ],
      "description": "Convert a visual editor document back into a FlowConfig."
    },
    {
      "verb": "flows.listInline",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "List inline flows declared in the active workspace."
    },
    {
      "verb": "flows.nodeKinds.describe",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "Describe a single runtime flow node kind. Unknown kinds fail validation with the list of valid kinds."
    },
    {
      "verb": "flows.nodeKinds.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "List every runtime flow node kind with agent-visible metadata (label, category, defaults, required keys, output shape, example)."
    },
    {
      "verb": "flows.snapshots.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:delete"
      ],
      "description": "Remove a snapshot by id."
    },
    {
      "verb": "flows.snapshots.diff",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "Pure structural diff between two VisualFlow values."
    },
    {
      "verb": "flows.snapshots.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "List named snapshots for a flow, newest first."
    },
    {
      "verb": "flows.snapshots.restore",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "Fetch a snapshot by id and return its preserved VisualFlow."
    },
    {
      "verb": "flows.snapshots.save",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:write"
      ],
      "description": "Create a new named snapshot of the current visual flow."
    },
    {
      "verb": "flows.templates",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "List the starter flow templates surfaced by the desktop flow editor."
    },
    {
      "verb": "flows.toVisual",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "Convert a FlowConfig into the visual editor document representation."
    },
    {
      "verb": "flows.upsertInline",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:write"
      ],
      "description": "Insert or update an inline flow."
    },
    {
      "verb": "flows.validateDetailed",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "Semantically validate a draft FlowConfig (graph, references, dialect, placeholders) and return structured, self-correctable authoring issues. Goes beyond Zod parsing."
    },
    {
      "verb": "github.createComment",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Create a comment on a GitHub issue or pull request via the GitHub REST API."
    },
    {
      "verb": "governance.operatorRoles.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "List the canonical operator-role policies (screens + actions per role)."
    },
    {
      "verb": "governance.posture",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:read"
      ],
      "description": "Live governance posture in one read: air-gap, firewall, PII, sandbox, RBAC mode, egress, audit."
    },
    {
      "verb": "harness.audit.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "audit:read"
      ],
      "description": "List harness audit entries for an agent (recent first)."
    },
    {
      "verb": "harness.end",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Close a harness session and release resources."
    },
    {
      "verb": "harness.run",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Execute the harness session opened by harness.start. Trace mode runs in this PR; budget/real wiring follows."
    },
    {
      "verb": "harness.start",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "agents:write"
      ],
      "description": "Open a harness session for an agent definition. Modes: trace (no LLM), budget (capped), real."
    },
    {
      "verb": "health.ping",
      "sideEffectTier": "none",
      "stability": "stable",
      "capsRequired": [],
      "description": "Liveness probe. Returns sidecar timestamp + version. No side effects."
    },
    {
      "verb": "hitl.channelReply",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "hitl:decide"
      ],
      "description": "Resolve a HITL escalation from an external-channel reply (RFC-0022 SU6/SU7), matched by correlationId or by the persisted connection+thread binding. Ambiguous replies are ignored."
    },
    {
      "verb": "hitl.deadLetter.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [],
      "description": "List HITL escalations dead-lettered by a decision-SLA timeout (ADR-0070), pending out-of-band human triage."
    },
    {
      "verb": "hitl.decide",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "hitl:decide"
      ],
      "description": "Resolve a HITL task with an approve/reject decision."
    },
    {
      "verb": "hitl.escalation.decide",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "hitl:decide"
      ],
      "description": "Record a decision on a HITL escalation; advances chain."
    },
    {
      "verb": "hitl.escalation.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Fetch a single HITL escalation by id."
    },
    {
      "verb": "hitl.escalation.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List HITL escalations (RFC-0008) with optional workspace filter."
    },
    {
      "verb": "hitl.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Read a single HITL escalation row by id."
    },
    {
      "verb": "hitl.ledger.append",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "hitl:decide"
      ],
      "description": "Append a signed entry to the HITL ledger chain (audit-log)."
    },
    {
      "verb": "hitl.ledger.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "audit:read"
      ],
      "description": "List signed HITL ledger entries for audit."
    },
    {
      "verb": "hitl.ledger.verify",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "audit:read"
      ],
      "description": "Verify the signed HITL ledger chain — sha-chain + signatures."
    },
    {
      "verb": "hitl.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [],
      "description": "List human-in-the-loop tasks, optionally filtered by status."
    },
    {
      "verb": "hitl.modify",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "hitl:decide"
      ],
      "description": "Submit a counter-proposal (RFC-0008 modify) — resolves the escalation as modified."
    },
    {
      "verb": "hitl.reassign",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "hitl:decide"
      ],
      "description": "Reassign a pending HITL task to a different actor without resolving it."
    },
    {
      "verb": "import.wizard.convert",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:write"
      ],
      "description": "Structurally import a third-party workflow, then LLM-enrich each warning into a reviewable resolution card."
    },
    {
      "verb": "import.wizard.detect",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Identify which third-party tool a pasted workflow blob came from."
    },
    {
      "verb": "import.wizard.regenerate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:write"
      ],
      "description": "Re-run the LLM enrichment for a single import warning."
    },
    {
      "verb": "incidents.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Open a new incident. Fields beyond the required minimum pass through unchanged."
    },
    {
      "verb": "incidents.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "observability:read"
      ],
      "description": "List incidents, optionally filtered by status."
    },
    {
      "verb": "incidents.transition",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Move an incident to a new status (e.g. acknowledged → mitigated → resolved)."
    },
    {
      "verb": "integrations.catalog.actions",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Get available setup actions for one product integration."
    },
    {
      "verb": "integrations.catalog.context",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Get safe assistant context for one product integration."
    },
    {
      "verb": "integrations.catalog.filters",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List filter options available in the canonical integration catalog."
    },
    {
      "verb": "integrations.catalog.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Get one canonical product integration definition by id."
    },
    {
      "verb": "integrations.catalog.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List the canonical product integration catalog for UI and assistant setup flows."
    },
    {
      "verb": "integrations.catalog.transition",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Run one safe setup transition for a product integration."
    },
    {
      "verb": "integrations.connections.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Remove a Connection. Does NOT delete referenced secrets."
    },
    {
      "verb": "integrations.connections.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Read a single Connection by id."
    },
    {
      "verb": "integrations.connections.installations.complete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Persist a provider-specific tenant app/bot installation after the provider redirects or confirms the install."
    },
    {
      "verb": "integrations.connections.installations.health",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Check whether a tenant app/bot installation is currently usable without exposing its token."
    },
    {
      "verb": "integrations.connections.installations.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List tenant app/bot installations for a workspace without returning raw tokens."
    },
    {
      "verb": "integrations.connections.installations.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Mark a tenant app/bot installation token as revoked without exposing the token."
    },
    {
      "verb": "integrations.connections.installations.start",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Begin a provider-specific tenant app/bot installation flow for GitHub App or Discord bot installs."
    },
    {
      "verb": "integrations.connections.installations.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Read safe lifecycle metadata for a tenant app/bot installation. Omitting installationId returns the most recent provider installation."
    },
    {
      "verb": "integrations.connections.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List Connection records (ADR-0041). Distinct from connections.list which targets only LLM providers."
    },
    {
      "verb": "integrations.connections.preflight",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Readiness probe for an operator about to dispatch a pipeline: lists every Connection in the workspace whose `state` is not 'configured' with an actionable setup state. Optional `kinds` filter narrows the audit to a pipeline-derived set."
    },
    {
      "verb": "integrations.connections.push",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:push"
      ],
      "description": "Agent-initiated push on a Connection (RFC-0022). No inbound trigger required: builds the OutgoingMessage, applies a per-(workspace,connection) token-bucket rate limit, then routes through the send seam (egress-policy gate + ConnectionSender + signed audit). Rate-limited pushes return a skipped result carrying retryAfterMs."
    },
    {
      "verb": "integrations.connections.send",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:send"
      ],
      "description": "Dispatch an OutgoingMessage on a Connection via its connector (RFC-0022). Seam resolves the Connection, applies the egress-policy gate, routes to a registered ConnectionSender, and writes a signed audit entry."
    },
    {
      "verb": "integrations.connections.setupRegistry.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List tenant-friendly integration setup guidance for UI and assistant flows, including preferred setup mode, scopes, health check, docs, and fallback secret instructions."
    },
    {
      "verb": "integrations.connections.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Create or replace a Connection. Auth fields MUST be references, never plaintext."
    },
    {
      "verb": "integrations.send",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Post a JSON payload to an outbound webhook URL, gated by the egress policy."
    },
    {
      "verb": "interactionProfile.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "kv:read"
      ],
      "description": "Read the persisted authoring-assistant Interaction Profile (returns the safe default when unset)."
    },
    {
      "verb": "interactionProfile.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "kv:write"
      ],
      "description": "Persist the authoring-assistant Interaction Profile for the active user/workspace."
    },
    {
      "verb": "knowledge.abstracts.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "Read one derived structured Knowledge Abstract."
    },
    {
      "verb": "knowledge.abstracts.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "List derived structured Knowledge Abstracts."
    },
    {
      "verb": "knowledge.abstracts.queryGraph",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "Query nodes and edges from a graph-shaped Knowledge Abstract."
    },
    {
      "verb": "knowledge.abstracts.search",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "Search structured Knowledge Abstracts with a simple text query."
    },
    {
      "verb": "knowledge.abstracts.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "rag:write"
      ],
      "description": "Persist a derived structured Knowledge Abstract."
    },
    {
      "verb": "knowledge.extractStructured",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rag:write"
      ],
      "description": "Extract and persist a structured Knowledge Abstract from supplied source text."
    },
    {
      "verb": "knowledge.sources.add",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rag:write"
      ],
      "description": "Add a new RAG source. Indexer is queued lazily."
    },
    {
      "verb": "knowledge.sources.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "List configured RAG sources."
    },
    {
      "verb": "knowledge.sources.preview",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "Embed `query` and return top-k chunks filtered by source id."
    },
    {
      "verb": "knowledge.sources.rebuild",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rag:write"
      ],
      "description": "Re-index a RAG source."
    },
    {
      "verb": "knowledge.sources.remove",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rag:write"
      ],
      "description": "Remove a RAG source."
    },
    {
      "verb": "knowledge.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "Aggregate knowledge indexer status."
    },
    {
      "verb": "kv.clearScope",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "kv:write"
      ],
      "description": "Remove every KV row within a scope."
    },
    {
      "verb": "kv.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "kv:write"
      ],
      "description": "Delete a scoped KV entry."
    },
    {
      "verb": "kv.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "kv:read"
      ],
      "description": "Read a scoped KV entry from the portable UI settings store."
    },
    {
      "verb": "kv.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "kv:read"
      ],
      "description": "List all KV rows for a scope."
    },
    {
      "verb": "kv.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "kv:write"
      ],
      "description": "Upsert a scoped KV entry (non-string values are JSON-serialized server-side)."
    },
    {
      "verb": "lifecycle.dispose",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Request a graceful sidecar shutdown — flush audit batch, close handles. No-op if already disposing."
    },
    {
      "verb": "manifest.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Get the live, versioned capability manifest (RPC verbs, flow node kinds, triggers, errors) for agent discovery."
    },
    {
      "verb": "marketplace.applyMonitoringPack",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write",
        "observability:write"
      ],
      "description": "Apply an official monitoring pack to the active workspace."
    },
    {
      "verb": "marketplace.applyPack",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Apply an official domain pack to the active workspace."
    },
    {
      "verb": "marketplace.applySecurityPack",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write",
        "security:admin"
      ],
      "description": "Apply an official security pack to the active workspace."
    },
    {
      "verb": "marketplace.connector.connect",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:write"
      ],
      "description": "Store the API credential for a catalog connector so its tools activate (no restart)."
    },
    {
      "verb": "marketplace.connector.info",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "How a catalog connector authenticates (api-key / oauth2 / keyless / config)."
    },
    {
      "verb": "marketplace.domainPacks",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "List the curated official domain packs (engineering / finance / marketing / support / clinical)."
    },
    {
      "verb": "marketplace.evaluateInstall",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Pre-install gate: evaluate manifest against workspace install policy."
    },
    {
      "verb": "marketplace.featured",
      "sideEffectTier": "destructive",
      "stability": "stable",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Editorial featured-listing rotation."
    },
    {
      "verb": "marketplace.fetch",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Fetch the configured marketplace registry, fall back to bundled local marketplace.json when registry empty."
    },
    {
      "verb": "marketplace.install",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Install a marketplace listing — writes a stub manifest to userDataDir."
    },
    {
      "verb": "marketplace.installed.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "List installed plugins for the active workspace."
    },
    {
      "verb": "marketplace.listing.get",
      "sideEffectTier": "read",
      "stability": "stable",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Fetch a single marketplace listing for the detail drawer."
    },
    {
      "verb": "marketplace.listings",
      "sideEffectTier": "destructive",
      "stability": "stable",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Search marketplace listings."
    },
    {
      "verb": "marketplace.monitoringPacks",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "List the curated official anomaly + monitoring packs (infrastructure / application / cost / security-signals)."
    },
    {
      "verb": "marketplace.privateLibrary.add",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Add a private plugin from a local path or URL."
    },
    {
      "verb": "marketplace.privateLibrary.install",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Install a private plugin (added from a local path or URL) into the workspace plugin store so it actually loads."
    },
    {
      "verb": "marketplace.privateLibrary.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "List private (non-marketplace) plugins available for install."
    },
    {
      "verb": "marketplace.privateLibrary.remove",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Remove a private plugin from the workspace registry."
    },
    {
      "verb": "marketplace.publish",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:publish"
      ],
      "description": "Sign + push a plugin bundle to the OEM marketplace endpoint."
    },
    {
      "verb": "marketplace.publish.buildManifest",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:publish"
      ],
      "description": "Build a publish manifest from a plugin folder on disk."
    },
    {
      "verb": "marketplace.publisherKeys.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:publish"
      ],
      "description": "List pinned publisher keys with their current trust level."
    },
    {
      "verb": "marketplace.publisherKeys.pin",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:publish"
      ],
      "description": "Pin a publisher key with a trust level."
    },
    {
      "verb": "marketplace.publisherKeys.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:publish"
      ],
      "description": "Mark a publisher key as revoked. Plugins from that publisher become untrusted."
    },
    {
      "verb": "marketplace.report",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "File an abuse / policy report against a listing."
    },
    {
      "verb": "marketplace.securityPacks",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "List the curated official security packs (baseline / regulated / zero-trust-egress / incident-response)."
    },
    {
      "verb": "marketplace.stats",
      "sideEffectTier": "destructive",
      "stability": "stable",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Aggregate counts shown in the catalog header."
    },
    {
      "verb": "marketplace.suggestions",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Connection suggestions inferred from workspace + recent runs."
    },
    {
      "verb": "marketplace.uninstall",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Remove an installed plugin from the workspace plugin directory."
    },
    {
      "verb": "mcp.catalog.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List the curated catalog of well-known MCP servers."
    },
    {
      "verb": "mcp.servers.connect",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Add (or reconnect) an MCP server."
    },
    {
      "verb": "mcp.servers.connectOAuth",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Begin OAuth sign-in for an HTTP MCP server; returns the authorize URL to open."
    },
    {
      "verb": "mcp.servers.credential.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:write"
      ],
      "description": "Persist MCP server credentials in the secret store and link to the server entry."
    },
    {
      "verb": "mcp.servers.disconnect",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Remove an MCP server connection."
    },
    {
      "verb": "mcp.servers.discover",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Probe a server and return its exposed tools."
    },
    {
      "verb": "mcp.servers.discoverFromFiles",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Scan local Cursor/Codex/Claude config files for MCP server declarations and return them as candidates."
    },
    {
      "verb": "mcp.servers.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List configured MCP servers."
    },
    {
      "verb": "mcp.servers.probe",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Active health probe for an MCP server."
    },
    {
      "verb": "mcp.servers.setAllowedTools",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Set the per-server tool allowlist (empty list = no restriction)."
    },
    {
      "verb": "mcp.servers.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Create or update an MCP server entry without connecting."
    },
    {
      "verb": "models.catalog.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "agent:read"
      ],
      "description": "List the bundled model catalog (models.dev snapshot, 5244 models)."
    },
    {
      "verb": "notifications.channels.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Return the persisted Slack + email channel overrides (secret-refs only)."
    },
    {
      "verb": "notifications.channels.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Persist Slack + email channel overrides. Env vars still take precedence at dispatch time."
    },
    {
      "verb": "oauth.complete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Exchange an OAuth authorization code for tokens and persist the connection; failures throw."
    },
    {
      "verb": "oauth.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List OAuth connections persisted for the active workspace."
    },
    {
      "verb": "oauth.providers",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List the OAuth provider specs the sidecar can authorize against."
    },
    {
      "verb": "oauth.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Revoke a stored OAuth connection."
    },
    {
      "verb": "oauth.start",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Begin an OAuth authorization flow; returns the URL to launch in the browser."
    },
    {
      "verb": "observability.anomaly.evaluate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Evaluate a metric sample against active rules; auto-create incidents."
    },
    {
      "verb": "observability.anomalyRules.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Delete an anomaly rule by id."
    },
    {
      "verb": "observability.anomalyRules.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "observability:read"
      ],
      "description": "List structured anomaly rules with their paused state."
    },
    {
      "verb": "observability.anomalyRules.setPaused",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Pause / resume an anomaly rule."
    },
    {
      "verb": "observability.anomalyRules.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Insert or update an anomaly rule."
    },
    {
      "verb": "observability.exporters.test",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Probe an exporter endpoint (HEAD / GET) and report reachability."
    },
    {
      "verb": "observability.incidents.assign",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Assign an incident to an operator."
    },
    {
      "verb": "observability.incidents.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "observability:read"
      ],
      "description": "Fetch an incident with timeline + related runs/traces."
    },
    {
      "verb": "observability.incidents.transition",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:write"
      ],
      "description": "Transition incident status (open → acknowledged → resolved → closed)."
    },
    {
      "verb": "observability.metrics.timeseries",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:read"
      ],
      "description": "Daily-bucketed timeseries for a named metric."
    },
    {
      "verb": "observability.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "observability:read"
      ],
      "description": "Snapshot of telemetry exporters, anomaly rule counts, and cost meter state."
    },
    {
      "verb": "observability.topology.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "observability:read"
      ],
      "description": "Service-graph nodes + edges (agents → tools → providers)."
    },
    {
      "verb": "oem.brand-kit.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Read the active visual OEM brand kit from the persisted store."
    },
    {
      "verb": "oem.brand-kit.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Persist the visual OEM brand kit into the persisted store."
    },
    {
      "verb": "oem.brand-kit.upload-asset",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Upload a brand asset (logo/favicon/splash) to the workspace asset dir."
    },
    {
      "verb": "oem.license.import",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Import a license envelope and re-evaluate status."
    },
    {
      "verb": "oem.license.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Read the current OEM license status (state + features + seats)."
    },
    {
      "verb": "oem.packs.apply",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Apply a vertical pack to the workspace."
    },
    {
      "verb": "oem.packs.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "List vertical packs with installed flag (filterable)."
    },
    {
      "verb": "oem.packs.uninstall",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Uninstall a vertical pack from the workspace."
    },
    {
      "verb": "oem.tenants.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "oem:tenant:admin"
      ],
      "description": "Create a downstream reseller tenant record."
    },
    {
      "verb": "oem.tenants.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:tenant:admin"
      ],
      "description": "Delete a downstream tenant record."
    },
    {
      "verb": "oem.tenants.issueLicense",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:tenant:admin"
      ],
      "description": "Sign + record a license envelope for a downstream tenant."
    },
    {
      "verb": "oem.tenants.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "oem:tenant:admin"
      ],
      "description": "List downstream reseller tenants under this whitelabel."
    },
    {
      "verb": "oem.tenants.revokeLicense",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:tenant:admin"
      ],
      "description": "Clear the recorded license envelope on a tenant."
    },
    {
      "verb": "oem.tenants.suspend",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:tenant:admin"
      ],
      "description": "Suspend or reactivate a downstream tenant."
    },
    {
      "verb": "oem.tenants.update",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "oem:tenant:admin"
      ],
      "description": "Patch a tenant record (brand override, seats, billing, note)."
    },
    {
      "verb": "onboarding.blueprint.apply",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:apply"
      ],
      "description": "Apply an AdaptedWorkspaceBlueprint (connections, flows, pipelines, knowledge, agents) as an idempotent saga; proceeds through warnings."
    },
    {
      "verb": "onboarding.blueprint.dryRun",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Preview what applying an AdaptedWorkspaceBlueprint would create (counts + readiness), with no persistence."
    },
    {
      "verb": "onboarding.blueprint.generate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Generate a draft AdaptedWorkspaceBlueprint from live ecosystem discovery."
    },
    {
      "verb": "onboarding.blueprint.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read a persisted AdaptedWorkspaceBlueprint draft by id (null when unset)."
    },
    {
      "verb": "onboarding.blueprint.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "List persisted AdaptedWorkspaceBlueprint draft ids for the active workspace."
    },
    {
      "verb": "onboarding.blueprint.save",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:apply"
      ],
      "description": "Persist an AdaptedWorkspaceBlueprint draft for the active workspace."
    },
    {
      "verb": "onboarding.complete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:admin",
        "onboarding:apply"
      ],
      "description": "Complete onboarding only after authoritative provider readiness succeeds."
    },
    {
      "verb": "onboarding.ecosystem.detect",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Discover the workspace ecosystem (metadata-only) and propose a draft EcosystemProfile."
    },
    {
      "verb": "onboarding.ecosystem.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read the persisted EcosystemProfile for the active workspace (null when unset)."
    },
    {
      "verb": "onboarding.ecosystem.reset",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:apply"
      ],
      "description": "Delete the EcosystemProfile for the active workspace."
    },
    {
      "verb": "onboarding.ecosystem.update",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:apply"
      ],
      "description": "Upsert the EcosystemProfile for the active workspace."
    },
    {
      "verb": "onboarding.insights.emit",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Ingest a validated onboarding usability signal into the local insights store (aggregate increments only; privacy-safe)."
    },
    {
      "verb": "onboarding.insights.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Return operator-global onboarding usability aggregates (counts keyed by metric + dimension). Privacy-safe: aggregates only, no PII."
    },
    {
      "verb": "onboarding.insights.rank",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Rank onboarding suggestions from k-anonymous aggregate adoption signals (RFC-0055 F3). Falls back to input order when signals are absent or below cohort threshold."
    },
    {
      "verb": "onboarding.insights.sync",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Push k-anonymous local onboarding aggregates to AKOS central when telemetry consent is granted. Opt-out uploads zero rows."
    },
    {
      "verb": "onboarding.readiness.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "copilot:admin",
        "workspace:config"
      ],
      "description": "Actively verify that the persisted assistant configuration can serve required onboarding roles."
    },
    {
      "verb": "onboarding.session.clear",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:apply"
      ],
      "description": "Delete the OnboardingSession for the active workspace."
    },
    {
      "verb": "onboarding.session.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read the persisted OnboardingSession for the active workspace (null when unset)."
    },
    {
      "verb": "onboarding.session.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:apply"
      ],
      "description": "Upsert the OnboardingSession for the active workspace."
    },
    {
      "verb": "pii.profiles",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "List the PII redaction profile identifiers exposed to clients."
    },
    {
      "verb": "pii.profiles.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Delete a custom PII redaction profile by id."
    },
    {
      "verb": "pii.profiles.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "List all custom PII redaction profiles."
    },
    {
      "verb": "pii.profiles.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Create or update a custom PII redaction profile."
    },
    {
      "verb": "pii.redact",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Apply PII profile to a string; returns redacted text + match offsets."
    },
    {
      "verb": "pipelines.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Delete a pipeline definition by id."
    },
    {
      "verb": "pipelines.fromNL",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Generate a draft multi-stage pipeline from a natural-language description (deterministic v1: stage-split/keyword parsing, no LLM). Returns the Phase-3 compiler envelope (artifact + assumptions/warnings/missing/blockedBy/nextActions/confidence). The LLM-assisted sibling of pipelines.generate."
    },
    {
      "verb": "pipelines.generate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Deterministically decompose a natural-language description into a multi-stage pipeline draft, reusing existing inline flows where they match."
    },
    {
      "verb": "pipelines.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Get a single pipeline by id."
    },
    {
      "verb": "pipelines.items.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Delete a kanban item."
    },
    {
      "verb": "pipelines.items.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List all kanban items for a pipeline."
    },
    {
      "verb": "pipelines.items.move",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Move a kanban item to a different column. If the destination column has executionMode=\"auto-on-enter\", the bound flow is dispatched and the runId is returned."
    },
    {
      "verb": "pipelines.items.run",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Manually dispatch the flow bound to an item's current column (or the specified column)."
    },
    {
      "verb": "pipelines.items.scanColumn",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Dispatch the column-bound flow for every item in the column. Used by cron handlers for executionMode='scheduled' and by external trigger handlers for 'triggered'."
    },
    {
      "verb": "pipelines.items.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Create or update a kanban item."
    },
    {
      "verb": "pipelines.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List all pipelines in the workspace."
    },
    {
      "verb": "pipelines.runs.cancel",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Cancel an in-progress pipeline run."
    },
    {
      "verb": "pipelines.runs.dispatch",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Dispatch a new pipeline run; phases execute sequentially until completion or a gate."
    },
    {
      "verb": "pipelines.runs.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Get full detail for a single pipeline run."
    },
    {
      "verb": "pipelines.runs.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List pipeline runs, optionally filtered by pipelineId."
    },
    {
      "verb": "pipelines.runs.resume",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Resume a pipeline run paused at an approval gate."
    },
    {
      "verb": "pipelines.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "pipelines:write"
      ],
      "description": "Create or update a pipeline definition."
    },
    {
      "verb": "pipelines.validateDetailed",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Semantically validate a draft pipeline (phase graph, flow references, inputMapping paths, cross-phase state wiring, triggers) and return structured, self-correctable authoring issues."
    },
    {
      "verb": "plugins.disable",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Disable an installed plugin. Returns false when the id is unknown."
    },
    {
      "verb": "plugins.enable",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Enable an installed plugin. Returns false when the id is unknown."
    },
    {
      "verb": "plugins.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "Fetch one installed plugin summary + its full manifest."
    },
    {
      "verb": "plugins.install",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Validate + persist a plugin manifest into the installed-plugin registry."
    },
    {
      "verb": "plugins.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:read"
      ],
      "description": "List every installed plugin manifest in the workspace."
    },
    {
      "verb": "plugins.uninstall",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "marketplace:write"
      ],
      "description": "Remove an installed plugin from the registry. Returns false when unknown."
    },
    {
      "verb": "prod.seed.apply",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Apply missing or stale production seeds and record the seed ledger."
    },
    {
      "verb": "prod.seed.ledger",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "List production seed ledger records without secret or prompt bodies."
    },
    {
      "verb": "prod.seed.plan",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Dry-run production seed currentness against the seed ledger."
    },
    {
      "verb": "rag.search",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rag:read"
      ],
      "description": "Search RAG knowledge sources for top-k chunks relevant to `query`."
    },
    {
      "verb": "rbac.capabilityShadow.stats",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Report legacy↔capability shadow-mode divergence counts (the F4 gate signal)."
    },
    {
      "verb": "rbac.members.invite",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:members:write"
      ],
      "description": "Invite a new workspace member by email."
    },
    {
      "verb": "rbac.members.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "List workspace members and pending invitations with their roles."
    },
    {
      "verb": "rbac.members.remove",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:members:write"
      ],
      "description": "Remove a workspace member."
    },
    {
      "verb": "rbac.members.setRole",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:members:write"
      ],
      "description": "Replace a workspace member's role."
    },
    {
      "verb": "rbac.roles.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Read the active RBAC role/capability matrix (whitelabel cfg.rbac merged with capability registry)."
    },
    {
      "verb": "rbac.roles.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Persist the RBAC role/capability matrix; subsequent dispatches enforce the new caps."
    },
    {
      "verb": "roles.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Delete a custom role. System roles cannot be deleted."
    },
    {
      "verb": "roles.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "List system + custom roles merged. System roles are immutable; custom roles persist in copilot.config.customRoles."
    },
    {
      "verb": "roles.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Insert or update a custom role. Rejects ids that collide with system roles."
    },
    {
      "verb": "runner.cancelRun",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Request cancellation of the flow run associated with the supplied trace id."
    },
    {
      "verb": "runner.getState",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Return the runner state machine snapshot (single `runId` or all known runs)."
    },
    {
      "verb": "runner.pause",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Pause an in-flight run (specific `runId`) or all running runs when none is supplied."
    },
    {
      "verb": "runner.resume",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Resume a paused run, or all paused runs when no `runId` is supplied."
    },
    {
      "verb": "runner.runAgent",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Run a named agent now and return its persisted run/trace identity plus optional readiness evidence."
    },
    {
      "verb": "runner.runFlow",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Run a named flow now. Optionally resume from a given node id."
    },
    {
      "verb": "runs.cancel",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Cancel an in-flight run."
    },
    {
      "verb": "runs.detail",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Enriched run-detail envelope: run row + artifacts, coding outputs, tool calls, spans, eval results, benchmarks. Returns null if the run does not exist."
    },
    {
      "verb": "runs.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Get a single run row by id."
    },
    {
      "verb": "runs.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Paginated list of recent runs across workspace."
    },
    {
      "verb": "runtime.config.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Current state of the per-OEM runtime-config subscription (kind, freshness, optional config payload). `disabled` when the sidecar was launched without AKOS_RUNTIME_CONFIG_ENDPOINT."
    },
    {
      "verb": "runtime.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Preflight readiness snapshot — runner mode (real vs synthesiser), evals/cloud feature flags, coding CLI provider health."
    },
    {
      "verb": "sandbox.denials.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Recent denied sandbox decisions (most recent first)."
    },
    {
      "verb": "sandbox.flow.preview",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Preview the per-flow/per-agent sandbox decision the runner would apply for the given effects."
    },
    {
      "verb": "sandbox.policy.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Read the active sandbox policy."
    },
    {
      "verb": "sandbox.policy.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Replace the active sandbox policy."
    },
    {
      "verb": "sandbox.state",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Sandbox kernel state: active sandboxes + active policy."
    },
    {
      "verb": "sdlc.gates.decide",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "sdlc:write"
      ],
      "description": "Approve or reject a paused SDLC pipeline gate."
    },
    {
      "verb": "sdlc.gates.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List SDLC pipeline HITL gates (pending or by pipeline run)."
    },
    {
      "verb": "sdlc.pipelines.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List SDLC pipelines exposed by the dev orchestrator."
    },
    {
      "verb": "sdlc.runs.dispatch",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "sdlc:write"
      ],
      "description": "Dispatch a real SDLC pipeline run. Each phase resolves to a workflow and runs sequentially; pipeline halts on first non-success or HITL gate."
    },
    {
      "verb": "sdlc.runs.fork",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "sdlc:write"
      ],
      "description": "Fork an existing SDLC run, optionally branching at a phase."
    },
    {
      "verb": "sdlc.runs.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List recent SDLC runs in the workspace."
    },
    {
      "verb": "sdlc.runs.rerun",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "sdlc:write"
      ],
      "description": "Re-run an existing SDLC run."
    },
    {
      "verb": "sdlc.runs.resume",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "sdlc:write"
      ],
      "description": "Resume a paused SDLC pipeline. Picks up at the first phase that has not yet completed and runs until the next gate or terminal status."
    },
    {
      "verb": "secrets.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:write"
      ],
      "description": "Remove a secret from the active vault backend."
    },
    {
      "verb": "secrets.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "secrets:read"
      ],
      "description": "List secret keys discovered in the workspace + vault. Values never leave the sidecar."
    },
    {
      "verb": "secrets.providers.configure",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:write"
      ],
      "description": "Configure (insert or update) an external secret provider."
    },
    {
      "verb": "secrets.providers.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "secrets:read"
      ],
      "description": "List configured external secret providers (RFC-0014)."
    },
    {
      "verb": "secrets.providers.remove",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:write"
      ],
      "description": "Remove an external secret provider entry."
    },
    {
      "verb": "secrets.providers.test",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:read"
      ],
      "description": "Probe an external secret provider connection."
    },
    {
      "verb": "secrets.reveal",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:read"
      ],
      "description": "Return the plaintext value of a secret. Caller must hold `secrets:read`."
    },
    {
      "verb": "secrets.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "secrets:write"
      ],
      "description": "Write a secret to the active vault backend. Caller must hold `secrets.write`."
    },
    {
      "verb": "security.agentIdentity.rotate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:agent-identity:rotate"
      ],
      "description": "Mint a fresh workspace agent-signing key (or the first one). Prior key is retired; agents already signed under it stay verifiable (did:key self-certifying)."
    },
    {
      "verb": "security.agentIdentity.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:agent-identity:read"
      ],
      "description": "Active agent-signing identity for the workspace — DID, fingerprint, rotation history. Never returns private key material."
    },
    {
      "verb": "security.bundle",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Compose firewall + PII + field-redaction policy for a workspace."
    },
    {
      "verb": "security.firewall.evaluate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Evaluate sample text against a firewall tier — returns structured decision + matches."
    },
    {
      "verb": "security.keyring.escrow",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Export a passphrase-sealed escrow blob of the key ring for offsite recovery custody."
    },
    {
      "verb": "security.keyring.reencrypt",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Rewrap all connector credentials onto the active key (post-rotation migration sweep)."
    },
    {
      "verb": "security.keyring.revoke",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Revoke a retired key (decrypt under it is refused). The active key cannot be revoked."
    },
    {
      "verb": "security.keyring.rotate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Mint a new active key; prior active key is retired (still decrypts old data)."
    },
    {
      "verb": "security.keyring.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Connector-credential key-ring status — custody mode, active key, key lifecycle states."
    },
    {
      "verb": "security.policy.persistence.status",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Report whether authored security policies are durable or process-local."
    },
    {
      "verb": "security.redact.preview",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "security:admin"
      ],
      "description": "Preview a redaction profile against sample text — returns redacted + match counts."
    },
    {
      "verb": "setup.applySampleBundle",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:write"
      ],
      "description": "Apply a named sample workspace bundle for first-run onboarding."
    },
    {
      "verb": "setup.probeProvider",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:write"
      ],
      "description": "Check whether the named provider has API key material configured."
    },
    {
      "verb": "setup.scaffold",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "onboarding:write"
      ],
      "description": "Scaffold a new workspace skeleton on disk."
    },
    {
      "verb": "share.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "collab:write"
      ],
      "description": "Build a share-link bundle for an artifact with scope + expiry."
    },
    {
      "verb": "share.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Resolve a public share-link by code; verifies signature."
    },
    {
      "verb": "skills.describe",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Describe a single skill's full agent-relevant metadata — including its systemPromptFragment and toolGrants — so an agent can decide whether and how to attach it. Unknown skillId raises AK_VALIDATION_FAILED with the set of valid ids."
    },
    {
      "verb": "skills.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List the skill catalog available to agents in the active workspace. Combines the built-in catalog with workspace/plugin-declared skills."
    },
    {
      "verb": "slack.post",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Post a message to a Slack channel via the Slack Web API."
    },
    {
      "verb": "sql.connections.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Remove a SQL connection. Does NOT delete the referenced vault secret."
    },
    {
      "verb": "sql.connections.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Read a single SQL connection by id."
    },
    {
      "verb": "sql.connections.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "List SQL database connections available to the workspace."
    },
    {
      "verb": "sql.connections.test",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "connections:read"
      ],
      "description": "Open a SQL connection and run SELECT 1 — a reachability probe. Never throws on a connection failure; returns { ok: false, error }."
    },
    {
      "verb": "sql.connections.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "connections:write"
      ],
      "description": "Create or replace a SQL connection. `secretRef` MUST be a vault reference, never a plaintext connection string."
    },
    {
      "verb": "status.public",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [],
      "description": "Public component health + recent incidents for the /status page."
    },
    {
      "verb": "sync.delta",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Compute deterministic JSON-Patch delta + canonical sha256 hashes."
    },
    {
      "verb": "team.evaluateRbac",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Evaluate whether a role grants the requested capability set."
    },
    {
      "verb": "team.invite",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:members:write"
      ],
      "description": "Invite a user to the team at the given role."
    },
    {
      "verb": "team.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "collab:read"
      ],
      "description": "List team seats for the active workspace."
    },
    {
      "verb": "team.remove",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:members:write"
      ],
      "description": "Remove a user from the team."
    },
    {
      "verb": "teams.addMember",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Add a user to a team."
    },
    {
      "verb": "teams.assignRole",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Add a role to a team."
    },
    {
      "verb": "teams.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Delete a team."
    },
    {
      "verb": "teams.forUser",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "List teams a user belongs to."
    },
    {
      "verb": "teams.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Lookup a team by id."
    },
    {
      "verb": "teams.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "List workspace teams."
    },
    {
      "verb": "teams.removeMember",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Remove a user from a team."
    },
    {
      "verb": "teams.revokeRole",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Remove a role from a team."
    },
    {
      "verb": "teams.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Insert or update a team."
    },
    {
      "verb": "telemetry.recordUiEvent",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Record UI breadcrumb events forwarded from the desktop shell."
    },
    {
      "verb": "tools.calls.approve",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Approve a pending tool call (HITL gate)."
    },
    {
      "verb": "tools.calls.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List tool calls for a session/run; filterable by status."
    },
    {
      "verb": "tools.calls.reject",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Reject a pending tool call (HITL gate)."
    },
    {
      "verb": "tools.calls.replay",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Re-execute a completed tool call with the same args."
    },
    {
      "verb": "tools.describe",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Describe one built-in tool: base descriptor plus agent-authoring enrichment (output shape, examples, typed errors, egress hosts, connection route)."
    },
    {
      "verb": "tools.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List built-in + plugin-declared tools available in the active workspace."
    },
    {
      "verb": "topologies.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "flows:delete"
      ],
      "description": "Remove a topology."
    },
    {
      "verb": "topologies.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "flows:read"
      ],
      "description": "List multi-agent topologies declared in the active workspace."
    },
    {
      "verb": "topologies.run",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Run a topology against a prompt; executes every agent through the real runner and returns per-agent outputs."
    },
    {
      "verb": "topologies.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "flows:write"
      ],
      "description": "Insert or update a multi-agent topology."
    },
    {
      "verb": "traces.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Fetch the spans that belong to a single trace id."
    },
    {
      "verb": "traces.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List traces, optionally filtered by run."
    },
    {
      "verb": "traces.replay",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:write"
      ],
      "description": "Replay a recorded trace as a new run; returns the new run id."
    },
    {
      "verb": "triggers.contracts",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List every registered trigger contract (builtin + integration) as transport-safe descriptors."
    },
    {
      "verb": "triggers.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "triggers:write"
      ],
      "description": "Remove a trigger from the active workspace. Persistence is owned by os-headless."
    },
    {
      "verb": "triggers.fromNL",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "triggers:write"
      ],
      "description": "Generate a draft trigger from a natural-language description (deterministic v1: cadence/keyword parsing, no LLM). Returns the Phase-3 compiler envelope (artifact + assumptions/warnings/missing/blockedBy/nextActions/confidence)."
    },
    {
      "verb": "triggers.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Fetch the full TriggerConfig for one trigger by id."
    },
    {
      "verb": "triggers.kinds",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Enumerate every trigger kind declared in the schema with support status + contract source."
    },
    {
      "verb": "triggers.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List configured triggers in the active workspace. Persistence is owned by os-headless."
    },
    {
      "verb": "triggers.recentRuns",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Recent run history for one trigger, newest first."
    },
    {
      "verb": "triggers.testFire",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "triggers:write"
      ],
      "description": "Manually fire a trigger with optional synthetic payload — invokes the linked flow."
    },
    {
      "verb": "triggers.toggle",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "triggers:write"
      ],
      "description": "Enable or disable a trigger without rewriting its config."
    },
    {
      "verb": "triggers.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "triggers:write"
      ],
      "description": "Insert or update a trigger in the active workspace. Persists the full kind-specific TriggerConfig."
    },
    {
      "verb": "usage.state.get",
      "sideEffectTier": "read",
      "stability": "stable",
      "capsRequired": [
        "billing:read"
      ],
      "description": "Fetch the backend usage state when cloud usage metering is enabled."
    },
    {
      "verb": "users.assignRole",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Add a role to a user."
    },
    {
      "verb": "users.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Delete a user row."
    },
    {
      "verb": "users.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Lookup a user by id or email."
    },
    {
      "verb": "users.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "List workspace users."
    },
    {
      "verb": "users.revokeRole",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Remove a role from a user."
    },
    {
      "verb": "users.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Insert or update a user row."
    },
    {
      "verb": "verticals.catalog",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List every available vertical across all tiers (builtin + config + store), in display order."
    },
    {
      "verb": "verticals.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Remove a tenant-defined vertical. Returns false when the id was not stored."
    },
    {
      "verb": "verticals.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Get one tenant-defined vertical with its config YAML. Null when absent."
    },
    {
      "verb": "verticals.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "List the tenant-defined (store-backed) verticals. Builtins are excluded."
    },
    {
      "verb": "verticals.resolveConfig",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "runs:read"
      ],
      "description": "Resolve the JSON-serialised whitelabel config for any vertical the composed registry knows. Null when unknown."
    },
    {
      "verb": "verticals.upsert",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Create or replace a tenant-defined vertical and its whitelabel config."
    },
    {
      "verb": "voice.providers.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "List configured speech-to-text providers for assistant voice mode."
    },
    {
      "verb": "voice.transcribe",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "copilot:write"
      ],
      "description": "Transcribe assistant voice-mode audio through a configured STT provider."
    },
    {
      "verb": "whitelabel.cli.run",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Run the agentskit-whitelabel CLI (build/doctor/info)."
    },
    {
      "verb": "whitelabel.runtime.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Read the workspace whitelabel.runtime.json snapshot."
    },
    {
      "verb": "whitelabel.runtime.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "oem:admin"
      ],
      "description": "Persist the workspace whitelabel.runtime.json (super-admin only)."
    },
    {
      "verb": "workspace.config.activation.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read the activation/retention metrics consent (strict opt-in)."
    },
    {
      "verb": "workspace.config.activation.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Persist the activation/retention metrics consent to the workspace config."
    },
    {
      "verb": "workspace.config.activeVertical.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read the active vertical persisted on the workspace config (null when unset)."
    },
    {
      "verb": "workspace.config.activeVertical.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Persist the active vertical to the workspace config."
    },
    {
      "verb": "workspace.config.exporters.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read exporter config (OTLP/Langfuse/PostHog). Secret values masked."
    },
    {
      "verb": "workspace.config.exporters.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Persist exporter config; secrets routed to vault via secrets.set."
    },
    {
      "verb": "workspace.config.orchestration.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read the workspace orchestration knobs (concurrency/timeouts/autonomy/recovery)."
    },
    {
      "verb": "workspace.config.orchestration.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Persist orchestration knobs to the workspace config (applies on next sidecar start)."
    },
    {
      "verb": "workspace.config.selfheal.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Read the workspace self-heal policy (recovery actions on node failure)."
    },
    {
      "verb": "workspace.config.selfheal.set",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Persist the self-heal policy to the workspace config (applies on next run)."
    },
    {
      "verb": "workspace.create",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Create a workspace. Idempotent on `id` — returns the existing workspace if present."
    },
    {
      "verb": "workspace.delete",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:admin"
      ],
      "description": "Delete a workspace by id. Rejects when the target is the active workspace."
    },
    {
      "verb": "workspace.export",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:admin"
      ],
      "description": "Export the active workspace as a self-contained bundle."
    },
    {
      "verb": "workspace.get",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Return active workspace metadata + parsed config."
    },
    {
      "verb": "workspace.import",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:admin"
      ],
      "description": "Import a workspace bundle, replacing the active workspace contents."
    },
    {
      "verb": "workspace.switch",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Activate the named workspace. Returns the new active workspace id + name."
    },
    {
      "verb": "workspace.update",
      "sideEffectTier": "mutating",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Update workspace identity (name/kind). Path-stable: id unchanged."
    },
    {
      "verb": "workspaceConfig.fromNL",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:write"
      ],
      "description": "Generate a draft workspace config from a natural-language description (deterministic v1: limits/residency/retry/isolation/autonomy parsing, no LLM). Returns the Phase-3 compiler envelope."
    },
    {
      "verb": "workspaces.activate",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "Activate the named workspace as the sidecar default."
    },
    {
      "verb": "workspaces.clone",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "workspace:admin"
      ],
      "description": "Clone the active workspace into a new id, copying agents/flows/triggers."
    },
    {
      "verb": "workspaces.list",
      "sideEffectTier": "read",
      "stability": "experimental",
      "capsRequired": [
        "workspace:config"
      ],
      "description": "List workspace files discovered on disk plus the currently-active workspace."
    },
    {
      "verb": "workspaces.setIsolation",
      "sideEffectTier": "destructive",
      "stability": "experimental",
      "capsRequired": [
        "rbac:admin"
      ],
      "description": "Update a workspace isolation profile (none / standard / strict)."
    }
  ],
  "contentHash": "29a83e8a9fdc567f633255a3d6c3c13f027ad5852dbeb1830a7397ca0796085e"
}
