opbox

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

PropertyValue
Capabilityaudit.read
Risk classRead - autonomy L0
Min. permissionAdmin
AvailabilityOn demand (MCP tier 2)
IdempotentNo
EgressNone - in-box (pure Postgres, no outbound call)
Render schemaYes - 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.