Workspace overview — the five-second read

A single-pane executive view of every signal Kodori already tracks. Document velocity, AP queue health, compliance posture, agent activity — all on one page.

Updated 2026-04-27

/overview is the executive view — what the partner, GC, or compliance officer sees when they want a five-second read on "where do we stand."

**What you'll see:**

- **Documents** — total live records, plus 24-hour and 7-day ingest velocity. Click to /search. - **Active legal holds** — count of open matters with bound subjects. Tints amber when ≥1. Click to /legal-holds. - **Retention review depth** — count of documents with a retention class assigned (the precise "elapsed term" count is on /retention/review). Click to drill in. - **Audit chain tip** — when the most recent event was recorded; "last verified" tag shows the most recent audit-chain verification (weekly cron + on-demand). Tints emerald when activity is recent. - **AP — pending / variance / awaiting receipt** — three tiles covering invoice approval queue, three-way match variance flags, and PO-matched-but-no-receipt-yet rows. - **Agent activity (24h)** — count of agent tool calls + decisions on the audit log. Click to /agent-activity.

**Admin-only tiles:**

- **Anomalies (90d)** — security signals raised by the detector. Tints red when ≥1. - **Compliance reports** — direct link into /compliance/reports for auditor-ready evidence exports. - **Cost tracker** — per-tenant Anthropic + OpenAI + R2 + extraction spend. - **Webhooks** — outbound delivery health. - **Plan caps near or at limit** — top banner appears when any cap (storage / docs / agent quota) is at ≥80% utilization.

**Vs /dashboard:** /dashboard is your daily-action surface (recent docs to review, classifier suggestions to accept, ⌘K agent shortcut). /overview is the steady-state read — different audience, different layout. Both live in the sidebar nav.

**Counts respect permissions.** Viewers and contributors see the same overview structure, but the numbers reflect only what they can read. There's no information leak — a viewer can't infer the existence of records they're not granted on.

**Live data.** The page recomputes on every load — no batch snapshot, no cached aggregate. Counts match what's in the system this second.