Diagnostics

The Diagnostics page: the notifications inbox, an overall health verdict from nine checks, the last 24 hours of model cost, MCP server status, and interrupted runs you can resume.

Diagnostics (/diagnostics) is the page to open when something feels off. It answers is my install healthy? in one place: the notifications Forven has raised, a set of health checks with an overall verdict, what the agents spent in the last day, and any runs a restart interrupted. The dashboard tells you that something needs attention; Diagnostics tells you what.

The Diagnostics page: an empty Notifications inbox, tiles for Overall Attention Needed (9 checks: 8 pass, 1 warn), Cost (24h) $0.0000, Resumable Runs 0 and Last Snapshot, and the Health Checks list starting with forven_home, database and auth_providers.A keyless fresh install: auth_providers warns that no provider has a valid token; every other check passes.

The page refreshes itself every 60 seconds. Run checks now runs every check immediately and shows its progress.

Notifications

The top panel is the in-app inbox — the half of notifications that doesn't need Discord. It's always shown, even when the health checks can't load.

  • Inbox lists actionable notifications — risk alerts, trade failures, system health — newest first, each with its severity and source. Ack acknowledges one; Acknowledge all clears the lot. Items you've already seen sit under Seen on an earlier visit.
  • Log is the full history.

The Diagnostics badge in the sidebar counts what's new since your last visit.

Summary tiles

TileWhat it tells you
OverallAll Systems Healthy, Attention Needed or Failures Detected, with how many checks passed, warned and failed.
Cost (24h)Model spend over the last 24 hours, with the number of runs and tokens behind it.
Resumable RunsHow many interrupted runs can be picked up again (below).
Last SnapshotWhen the checks last ran.

Cost is Forven's own estimate from token counts and list prices — your provider's dashboard is the bill. See cost controls.

Health checks

Click a row for its detail. Each check reports pass, warn or fail; a check that breaks internally reports warn or fail, never pass, so a broken probe can't hide a problem.

CheckWhat it verifies
forven_homeYour Forven home folder exists and is writable.
databaseThe database is reachable, and its schema version.
auth_providersAt least one connected model provider has working credentials. Warns on a fresh install until you connect one.
schedulerThe scheduler's heartbeat is fresh — background jobs are actually being run.
resumable_tasksWhether any runs were interrupted and can be resumed.
recent_costsModel spend over the last 24 hours.
tool_truncationsRecent agent tool calls whose output had to be cut short.
brain_cache_hit_rate · brain_fence_stripsWhether the Brain's prompt caching is working — a low hit rate means it's paying full price for context it already sent.

MCP servers

Shown only once you've added an external agent tool server under Integrations: each server with its status, disabled ones marked. Click a row to manage it.

Resumable runs

When a run is cut off — the app closed mid-run, a tool never reported back — Forven keeps a checkpoint instead of losing the work or pretending it finished. Resumable Runs lists them with their latest checkpoint. Resume re-queues one and the runner picks it up on its next tick.

Resume (caution)

Runs that act on the outside world — trade_execution and phantom_repair — are never resumed automatically, and show Resume (caution) with a confirmation. Re-running one may repeat what it already did, such as placing an order. Resume only if you're sure it didn't already run; check its Tool Calls on Run Detail first.

From a terminal

python -m forven doctor runs a similar set of checks (add --json for machine-readable output) — useful when the UI won't load. See the CLI reference. Over the API: GET /api/diagnostics/snapshot, GET /api/diagnostics/resumable and POST /api/diagnostics/resumable/<id>/resume.

Steps: triage a problem

Read the inbox and the verdict

Start with the Inbox, then the Overall tile.

Open what's failing

Click any warning or failing check. A stale scheduler heartbeat means background jobs aren't running — see operations. A failing auth_providers means a provider lost its credentials — reconnect it on Agents → Setup → Providers.

Deal with interrupted runs

Resume what you still want from Resumable Runs; leave the rest.

Sanity-check spend and acknowledge

Compare Cost (24h) with what you expect from your throughput preset, then acknowledge what you've handled.

On a healthy install you'll see All Systems Healthy, no resumable runs, a cost figure in line with your preset, and an empty inbox.

Forven is research software. Diagnostics describe the health of your install, not the quality of any strategy, and nothing here is financial advice.