The event.* family (1 verb). Every verb enters through the one front door: it is capability-checked, permission-checked, scope-checked and audited before it runs (see Security & permissions). Each entry below lists its capability, risk class (which fixes the minimum autonomy level), the minimum caller permission, its availability tier, whether it is idempotent, and any outbound egress.
Feedevent.feed
| Property | Value |
|---|---|
| Capability | audit.read |
| Risk class | Read - autonomy L0 |
| Min. permission | Admin |
| Availability | On demand (MCP tier 2) |
| Idempotent | No |
| Egress | None - in-box (pure Postgres, no outbound call) |
| Render schema | Yes - drives an inline chat artefact and a GUI panel |
The cursor-paginated INV-8 audit-ledger read.
{ verbPrefix?, limit? (default 100, cap 200), cursor? }. Newest-first by chain_seq (the monotone
per-workspace chain index, unique per workspace so the keyset is gap-free). verbPrefix filters
verb LIKE prefix || '%'; cursor is the OPAQUE last-seen chain_seq (the next page is
chain_seq < cursor). RLS-scoped + explicit workspace_id = $; each row resolves actor_id -> actorName via a null-safe LEFT JOIN to actor.display_name. Returns
{ events: [ { ts, actorId, actorName, verb, source, taskId, authenticatedBy, chainSeq, payload } ], nextCursor? }; nextCursor is present iff a further page exists. ADMIN-only (security forensics).
Call POST /v/event.feed with a JSON body; returns JSON (or { error, code }). Also exposed as the MCP tool event.feed.