The home screen after sign-in: the platform's control panel. What needs
attention, a system summary and recent events — all pulled together from
the admin sections, each tile linking into its own section for the
details.
Wireframe
dashboard · /admin
achilles.local/admin
/admin · Owner / AdminAdmin index route · home screen after sign-in
The knowledge base is empty 7 — no source
is connected, so the platform runs as a pure AI assistant:
chat and agents answer from the model's general knowledge, grounding is dormant.
This is a valid state, not an error.
1
At-a-glance summary: counts from users, sources (Active · Paused · Disconnected), the graph, agents and AI usage. Monthly spend is checked against the alert threshold; the gauge is soft (a signal, not a block).
2
State of the Knowledge Store background runs: whether graph curation is running (and with it re-embedding — which blocks a change of embedding model) and how fresh the latest backup is.
3
“Recent activity” — the top of the audit log: sign-ins, role changes, API keys, ACL. This is a security journal — its home is Auth & Security. Sync and agent events are not written here — their activity surfaces in “Needs attention” below, via the feed.
4System Health v2 — live service status (PostgreSQL · Redis · workers · embeddings · n8n), queue depth and storage volume. It awaits health endpoints and monitoring — not yet in the design, so the block is deferred; the rest of the dashboard runs on data that already exists.
5
“Needs attention” — a critical / warning slice of the notification feed, sorted by severity: critical first, then warning. Each row deep-links to where it gets fixed (source, user, provider, budget). It draws signals from every subsystem: failed runs and DLQ (Sync), brute-force and role changes (Security), an unavailable provider and a failed backup (System), the spend threshold (Budget). Until the feed arrives (the Notifications module), the block runs on derived signals — the same classes computed on the fly from the journals; the feed will add ×N series, unread state and Security types.
6
Light admin tasks, not from the feed: invitations in status pending / expired and identities with status unmatched. The Discovery signal “new container out of scope” with a “Add to scope” action is v2, arriving here together with the Discovery type in the feed.
7
While no source is connected, the knowledge base is empty
(is_empty):
the “Needs attention” block shows an invitation to connect sources instead of alerts. Grounding switches on by itself with the first accepted chunk — the end user never sees the signal.