Skip to main content
AgentActivityEvent describes the audit-event projection consumed by the Trust Console and authorized agent clients. Server-side handlers write activity records. The F4 Postgres trigger guards updates and deletion, with a separate authorized DSAR redaction path; it does not create every event on behalf of application code.

Canonical URL

https://glide.co/schemas/agent-banking/v1/agent-activity-event.json

Required fields

Optional fields

eventKind vocabulary

Lifecycle

Server-side handlers write activity events for the operations they handle. The event’s kind, tool-call identifier and recorded status distinguish a completed action, a denial and an approval request. Who consumes:
  • Trust Console UI — tails the table via a tRPC subscription with per-principal row-level security.
  • audit:stream MCP scope — exposes a read-only window to authorized agent runtimes. Scoped to the calling grant’s vaultId; cross-vault reads are refused.
  • Ops dashboards — query activity_log directly (read-only DB role), filtering on agent_principal_id IS NOT NULL.
Retention: the activity_log table is append-only with no TTL at v1. Row-level security ensures each principal can only read their own events. Future versions may introduce archival tiers (see @glideco/compliance-export).

Example

Validation

The event is validated three ways:
  1. At write time by the producing application and its schema validation. The append-only trigger guards mutations; it is not a JSON Schema event validator.
  2. At build time via scripts/validate-manifests.mjs:
  3. Against the published JSON Schema for consumer-side validation:

Common pitfalls

  • Setting eventKind but not eventType. The schema marks eventType as required for backward compat. Both fields must be set and must match.
  • Omitting eventId on new producers. Consumers de-duplicate on eventId. Without it, retried deliveries create duplicate Trust Console rows.
  • Passing a non-UTC timestamp. The isoDateTimeUtc type requires the Z suffix. +00:00 offset strings fail schema validation and are rejected at ingest.
  • Emitting an eventKind value outside the closed enum. Unknown values are dropped at ingest without error. The enum is CODEOWNERS-protected — new values require a schema migration.
  • Storing PII in summary. The summary field renders in the Trust Console list row, which may be visible to support staff. Keep it to action + amount + rail — no email addresses, phone numbers, or wallet addresses.

Reading list