Pantheon Hub — Navigation & Page Architecture

Authored by Athena. This is the definitive structure document for the Pantheon Hub dashboard — what every page is, what it shows, and how navigation flows. The Hub is a command center for a multi-agent, multi-machine fleet. It should feel like a mission control room, not a project management tool.


Design Principles

  1. Live first. Every page should answer "what is happening right now?" before "what is planned." Status, health, and activity are more important than configuration.
  1. Depth through navigation, not density. The top-level view shows health indicators and activity signals. Details live one click deeper. No page should require scrolling through 30 items to find the one that matters.
  1. Real data or nothing. Mock data in production pages creates false confidence. If a section can't show real data yet, it should say so — not display template content that looks real.
  1. Every agent page is an operations console. A constellation page is not a profile card. It is the place where you see everything that agent is doing, has done, and is blocked on. If you open Hermes, you should see active intelligence monitors, pending research, recent findings — not a static description of what Hermes is.
  1. The sidebar is the table of contents for the entire fleet. Navigation order reflects operational priority: what you check first, check daily, check weekly.

COMMAND
  ◈  Overview             /                   Fleet pulse + activity + alerts
  ◇  Portfolio             /portfolio          Projects, clients, engagements
  ⚔  War Room              /war-room           Active + historical sessions

CONSTELLATION
  ✦  Athena                /athena             Strategic governance, assessments
  ⬢  Atlas                 /atlas              Fleet ops, skills, Argus, enforcement
  ◇  Metis                 /metis              Strategic research, proposals
  ⚡  Hermes                /hermes             Intelligence, monitoring, feeds
  ☀  Apollo                /apollo             Creative output, deliverables
  $  Plutus                /plutus             Costs, budgets, financial oversight
  ☢  Hades                 /hades              Security, credentials, guard rails
  ⚙  Proteus               /proteus            Infrastructure, pipelines, compliance
  ◑  Mnemosyne             /mnemosyne          Knowledge graph, memory, Aion

SYSTEM
  ♡  Pulse                 /pulse              Health rings, probe history
  ⊕  Fleet                 /fleet              Machines, agents, connectivity
  ◉  SSOT                  /ssot               Fleet table browser
  ▶  Dispatch              /dispatch           Pipeline, work items, ask_human

What Changed from Current

Change Why
Home page (/) becomes Overview, not Portfolio The first thing you see should be fleet health and activity, not a list of projects
Portfolio moves to /portfolio Projects are important but not the daily heartbeat view
System page replaced by Pulse "System" is vague. Pulse is the actual health monitoring system with ring probes. Name it what it is.
Dependencies page removed from nav Dependency health is a section inside Proteus (infrastructure quality), not its own page
SSOT stays Fleet table browser is genuinely useful as a standalone lookup tool

Page Specifications

COMMAND SECTION


Overview (/)

Purpose: The page you see when you open the Hub. Answers: "Is everything OK? What happened? What needs attention?"

Layout:

┌──────────────────────────────────────────────────┐
│  FLEET STATUS BAR                                │
│  ● 5 agents online  ● 2 machines  ● Pulse: ✓    │
│  ● 3 active war rooms  ● 0 critical findings     │
└──────────────────────────────────────────────────┘

┌─────────────────────┐  ┌────────────────────────┐
│  ACTIVITY FEED       │  │  ATTENTION              │
│                      │  │                         │
│  Recent events       │  │  ⚠ Argus findings (2)   │
│  across all agents,  │  │  ⚠ Stale agent: metis   │
│  repos, war rooms.   │  │  ● ask_human pending (1) │
│  Time-sorted.        │  │  ● Pipeline blocked (0)  │
│  Max 20 items.       │  │                         │
│                      │  ├─────────────────────────┤
│                      │  │  ACTIVE WORK             │
│                      │  │                         │
│                      │  │  War room: wr-athena     │
│                      │  │  War room: wr-plutus     │
│                      │  │  Task: atlas/M3-06       │
│                      │  │                         │
└─────────────────────┘  └────────────────────────┘

┌──────────────────────────────────────────────────┐
│  CONSTELLATION STATUS                             │
│                                                   │
│  Athena ✓    Atlas ✓    Metis ●    Hermes ✓      │
│  Apollo ✓    Plutus ●   Hades ✓    Proteus ✓     │
│  Mnemosyne ✓                                     │
│                                                   │
│  (Each links to constellation page. Color =       │
│   last_seen recency. Click for detail.)           │
└──────────────────────────────────────────────────┘

Data sources (all real):

No mock data. Every widget on this page must be backed by a real API call.


Portfolio (/portfolio)

Purpose: Strategic project and client view. Answers: "What are we working on? For whom? How far along?"

Layout:

Three collapsible sections, each showing project cards:

Agency — Client engagements (type: client-engagement)

Products — Internal products we build and maintain (type: product)

Constellation — Agent repos (type: constellation)

Filters: lifecycle (active/maintenance/archived), priority (focused/critical/planning/paused), type, sort (activity/progress/name)

Key change from current: The flat 39-item dump becomes ~15 meaningful projects grouped by purpose. Repos live inside projects (Repos tab on project detail), not as standalone cards.


War Room (/war-room)

Purpose: Session history and governance decisions. Answers: "What did we decide? What's still open?"

No changes needed. The current War Room page is well-structured with real data: sessions, decisions, issues, actions, deliverables. Keep it as-is.

Add one thing: Active sessions pinned to top with a live indicator.


CONSTELLATION SECTION

Every constellation page follows a consistent layout:

┌──────────────────────────────────────────────────┐
│  AGENT HEADER                                     │
│  {Name} — {Role}                                  │
│  Last seen: {timestamp}  Machine: {hostname}      │
│  Status: {online/stale/offline}                   │
└──────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────┐
│  DOMAIN STATS STRIP (3-5 key metrics)             │
└──────────────────────────────────────────────────┘

┌──────────────────────────────────────────────────┐
│  TAB BAR                                          │
│  Activity | Domain-Specific Tabs...               │
└──────────────────────────────────────────────────┘

The Activity tab is universal: recent events, commits, war room participation, task completions for this agent. All from real data (events table filtered by agent_id).

The domain-specific tabs vary per agent. Each is described below.


Athena (/athena)

Role: Strategic governance, fleet-wide assessment, priority setting.

Tabs:

  1. Assessments — All project assessments (score + rationale), sorted by staleness. Projects without a recent assessment surface as "needs review." Each links to project detail.
  2. Directives — Cross-project directive feed. All active directives across all projects. Filterable by type (recommendation/constraint/decision/course_correction).
  3. Priorities — Agent priority table. What Athena has told each agent to focus on. Editable — this is where the operator sets strategic direction via POST /api/agents/:id/priorities.
  4. Activity — Athena's own activity feed.

Data sources: All real — athena_assessments, directives, agent_priorities, events.

Not included: The chat shell stays as a placeholder until Mastra backend is built. Don't make it prominent — it doesn't work yet.


Atlas (/atlas)

Role: Fleet operations, skills, topology enforcement, Argus.

Tabs:

  1. Argus — Live Argus check results (passed/warned/critical), pending proposals, recent dispatch log. All real from argus_reports, argus_proposals, argus_dispatch_log.
  2. Skills — Skill inventory across all repos. Currently mock — needs to be sourced from scanning .claude/skills/, .agent/skills/ across all synced repos. Until real, show "Inventory pending — run /skill-plan to populate."
  3. Fleet Tables — Quick reference to fleet_agents, fleet_services, fleet_daemons table counts. Links to SSOT page for full browsing.
  4. Activity — Atlas activity feed.

Key principle: Atlas is operational infrastructure. If Argus finds a violation, it should be visible here first.


Metis (/metis)

Role: Strategic research, proposals, competitive analysis.

Tabs:

  1. Research — Active research sessions, findings, recommendations. Currently no real data path — Metis is isolated (Arsenal-only, no Hub registration). Show "Metis not connected to Hub" until integration.
  2. Proposals — Strategic proposals with status (draft/submitted/accepted/rejected). Currently mock.
  3. War Room — Metis's war room participation: sessions attended, decisions contributed. Real from war_room tables filtered by agent.
  4. Activity — Metis activity feed.

Honest status: Metis is the most isolated agent. The page should reflect this — "Arsenal-only, no Hub dispatch path" — rather than showing mock data that implies connectivity.


Hermes (/hermes)

Role: Intelligence gathering, research dispatch, monitoring.

Tabs:

  1. Intelligence — Active intelligence monitors, incoming feeds, source tracking. Currently fully mock. Needs real data source (Hermes task queue in Arsenal, or new intelligence_monitors table).
  2. Dispatch — Hermes task queue status (manifest.json pattern from Arsenal). Show real task counts if accessible, otherwise "Connect Arsenal queue."
  3. War Room — Hermes war room participation. Real from war_room tables.
  4. Activity — Hermes activity feed.

Apollo (/apollo)

Role: Creative output, design systems, visual deliverables.

Tabs:

  1. Gallery — Creative deliverables: HTML documents, brand assets, mockups. Currently mock. Could be sourced from Dropbox mockups directory or a new deliverables table.
  2. Brand — Active brand systems and style references. Currently mock.
  3. War Room — Apollo war room participation. Real from war_room tables.
  4. Activity — Apollo activity feed.

Plutus (/plutus)

Role: Financial oversight, cost tracking, budget management.

Tabs:

  1. Costs — Daily, weekly, monthly spend. Real from OpenRouter API via GET /api/costs/summary. This is the one real data source Plutus has — make it prominent.
  2. Budget — Budget alerts and thresholds. Currently mock. Needs budget configuration system (target spend, alert thresholds per agent/project).
  3. Optimization — Cost reduction recommendations. Currently mock.
  4. Activity — Plutus activity feed.

Hades (/hades)

Role: Security, credential management, guard rails.

Tabs:

  1. Findings — Security findings by severity. Currently mock. Could be sourced from Argus security-specific checks or a new security_findings table.
  2. Guard Rails — Active enforcement rules: credential isolation, scope boundaries, vault guard status. Currently mock.
  3. Audit — Auth event log. Real from auth_events table via GET /api/audit-trail.
  4. Activity — Hades activity feed.

Proteus (/proteus)

Role: Infrastructure quality, upgrades, pipeline execution, compliance.

Tabs:

  1. Pipeline — Work items by stage (intake → planning → execution → monitoring → verification). Real from work_items table.
  2. Pulse — Latest Pulse report + 30-day history trend. Real from pulse_reports.
  3. Compliance — GSD compliance reports. Real from compliance API.
  4. Dependencies — Package health, CVE tracking. Absorb current DependencyPage content here. This is Proteus's domain — infrastructure quality includes dependency health.
  5. Activity — Proteus activity feed.

Mnemosyne (/mnemosyne)

Role: Knowledge graph, memory, decision archaeology.

Tabs:

  1. Knowledge — Graph stats, query interface (if Aion MCP available), corpus size. Currently mock. Needs Aion/CLI integration for real data.
  2. Decisions — Decision log across all sessions. Real from planning_decisions table.
  3. Sessions — War room session history that contributed to knowledge. Real from war_room tables.
  4. Activity — Mnemosyne activity feed.

SYSTEM SECTION


Pulse (/pulse)

Purpose: Health monitoring. Answers: "Are all systems operational?"

Replaces current SystemPage. Same content (ring probes, findings), better name.

Layout:

Data: All real from pulse_reports table.


Fleet (/fleet)

Purpose: Machine and agent inventory. Answers: "What's connected? What's stale?"

Layout:

Data: All real.


SSOT (/ssot)

Purpose: Fleet table browser. Answers: "What does the SSOT say about X?"

No changes needed. This is a lookup tool — it works as-is.


Dispatch (/dispatch)

Purpose: Pipeline execution and human-in-the-loop. Answers: "What's in the pipeline? What's waiting for me?"

Layout:

Data: All real from pipeline and dispatch tables.


Repo Consolidation Plan

Before the UI changes, the data needs cleanup. Current state: 39 standalone repo-projects. Target: ~15 meaningful projects with repos nested inside.

Step 1: Create umbrella projects

Project Type Workspace Repos to Absorb
Gáldr × Viska sjóðir client-engagement Agency client-VISKA-mimir, mastra-agent-viska-mimir, client-VISKA-mimir-agent
Pantheon Hub product Personal pantheon, n8n-Hub, n8n-spoke-pantheon-ops
Arsenal product Personal arsenal, arsenal/* (6 repos)
Nexus (boas.dev) product Personal boas-dev-nexus-n8n, nexus
Trading War Room product Personal trading-war-room

Step 2: Set constellation repo types

All constellation-* repos get type: constellation. They don't need umbrella projects — each is its own project linking to a constellation page.

Step 3: Archive or hide noise

Low-value entries like local/k4120s, local/_K4120S, local/pantheon-ops, local/constellation-athena (duplicate) should be archived or merged into their parent projects.


Implementation Priority

Priority Work Owner Why
P0 Fix project detail 404 bug Proteus Everything depends on project pages working
P1 Build Overview page (/) Proteus The daily command center — most important new page
P1 Repo consolidation (API calls) Atlas Data cleanup before UI work
P2 Portfolio restructure Proteus Group by workspace/type, absorb current page
P2 Standardize constellation page layout Proteus Consistent header + stats + tabs across all 9 agents
P2 Replace mock data with honest placeholders Proteus "Not connected" is better than fake data
P3 Rename System → Pulse Proteus Route change + sidebar update
P3 Move Dependencies into Proteus page Proteus Consolidate infrastructure quality into one place
P3 Connect real data to Hermes/Apollo/Metis Per agent Each needs its own data pipeline

What This Document Does NOT Cover

These are all important but they are feature additions, not navigation architecture. This document defines the container; those features fill it.