Operator Console Audit And Spec
This document is the backend-first product audit and redesign spec for the private OpenClaw Operator console served at /operator.
It exists to answer four questions:
- what the backend can truthfully expose today
- what the current frontend is doing with that backend truth
- where the current IA and UX are mixing scopes or overloading pages
- what the next full redesign should look like
Use this together with:
- OPERATOR_SURFACE_CAPABILITY_MATRIX.md
- AGENT_CAPABILITY_MODEL.md
- AGENT_CAPABILITY_IMPLEMENTATION_MATRIX.md
- ../reference/api.md
- ../reference/task-types.md
Product Truth
OpenClaw Operator is:
- a bounded, observable, auditable private operator console
- a control-plane interface for governed task execution, runtime truth, and operator action
- distinct from the public proof surface
It is not:
- a generic developer portal
- a raw API mirror
- a public proof site
- a marketing dashboard
The design target is therefore:
- high-trust
- dark and premium
- mission-control-like
- explicit about uncertainty, degradation, and dependency limits
Backend Truth Map
The console does not need every route. It needs the right route families.
Implementation Status
- Phase 1 landed: operator-first IA cutover, dedicated
Incidentspage, and reducedOverview/System Healthscope. - Phase 2 landed:
Tasksnow reads as a category-led launcher,Runsnow reads as an execution ledger with cost and budget posture, andApprovalsnow reads as a decision inbox with a separate action box. - Phase 3 landed:
Overview,Runs,Approvals, andIncidentsnow surface operator-focus triage signals first, including queue pressure, repeated activity grouping, approval age/lane clustering, and incident ownership / verification / remediation pressure before drill-down. - Phase 4 landed:
Overviewnow also carries a decision-first control-plane layer with explicit mode labeling, one ranked primary operator move, and a fused pressure story so operators can answer “what do I do first?” without stitching together multiple cards by hand. - Phase 5 landed:
Overviewnow explains why the top action outranks the rest of the console, including incident-storm cases where a dominant incident class should beat a smaller approval backlog instead of forcing operators to infer that relationship manually.
Private Operator Truth
These are the main protected route groups already available:
| Route Group | Role In Product |
|---|---|
GET /api/dashboard/overview | aggregate operator summary |
GET /api/tasks/catalog + POST /api/tasks/trigger | curated safe action surface |
GET /api/tasks/runs + GET /api/tasks/runs/:runId | execution ledger and detail |
GET /api/approvals/pending + POST /api/approvals/:id/decision | approval inbox |
GET /api/incidents* + incident action routes | incident queue, detail, remediation, ownership |
GET /api/health/extended | authoritative protected health surface |
GET /health + GET /api/persistence/health + GET /api/persistence/summary | shallow public liveness plus persistence dependency truth |
GET /api/agents/overview | fleet and readiness truth |
GET /api/skills/* | governance and policy truth |
GET /api/knowledge/summary + POST /api/knowledge/query + GET /api/memory/recall | knowledge and memory surfaces |
Public Proof Truth
These are intentionally separate from private operator truth:
| Route Group | Role In Product |
|---|---|
GET /api/command-center/* | public proof summary |
GET /api/milestones/latest | latest public milestone evidence |
GET /api/milestones/dead-letter | public proof-risk feed |
Key Product Boundary
The backend already draws the correct line:
/operatoris private operator control-plane work/operator/public-proofis a separate page consuming public proof routes- public proof must stay visually and semantically separate from internal operator certainty
Current Frontend Route Audit
Current private route map:
//tasks/activity/task-runs/approvals/agents/knowledge/governance/system-health/diagnostics
Separate public route:
/public-proof
What Is Working Well
- The console already consumes real backend truth instead of mocks.
- The product boundary between private operator routes and public proof is present.
- Tasks, runs, approvals, agents, governance, knowledge, and public proof are already first-class pages.
- The visual language is already close to the intended industrial mission control look.
- The console now has command-palette and stronger task-action ergonomics.
Main IA Problems
1. Overview Is Overloaded
The current overview is trying to be:
- command center
- incident queue
- topology dashboard
- diagnostics summary
- governance summary
- public proof teaser
- recent activity surface
That makes it informative, but not focused.
The overview should answer:
- is the system up
- what needs operator action now
- what can I safely do next
- what just happened
Anything beyond that should route deeper.
2. System Health Is Carrying Too Much Product Weight
The current System Health page is doing the job of:
- runtime health
- dependencies
- persistence
- truth layers
- incident queue
- incident detail
- remediation action
Those are all valid surfaces, but combined they become cognitively heavy.
Incidents are first-class backend truth and deserve their own operator mental model, not just a subsection inside health.
3. Diagnostics Is Too Prominent
Diagnostics is real and useful, but it is a utility workflow, not a primary operator destination.
Putting it at the same level as core workflow pages makes the product feel implementation-led rather than operator-led.
4. Governance And Knowledge Are Correctly Present But Not Hierarchically Clear
They are good secondary/control-plane pages, but the product does not yet make it obvious that:
- Governance = policy, governed skills, audit posture
- Knowledge = indexed truth, query, recall, memory, repair loop
They read more like “extra pages” than clearly named operational domains.
5. Public Proof Is Good But Still Echoed Too Much In Overview
A proof teaser on overview is correct.
A proof mini-dashboard plus truth rails plus command-center copy plus separate public proof page starts to duplicate too much.
Overview should point toward proof, not partially become proof.
6. Navigation Reflects Implementation History More Than Operator Workflow
The current order is:
- Overview
- Tasks
- Activity
- Runs
- Approvals
- Agents
- Knowledge
- Governance
- System Health
- Diagnostics
This is understandable for builders, but not ideal for operators.
Recommended Information Architecture
This is the recommended operator-first IA.
Primary Navigation
OverviewTasksRunsApprovalsIncidentsAgentsGovernanceKnowledge
Secondary / Utility Navigation
System HealthDiagnostics
Separate Public Surface
Public Proof
Why This Order
Overviewanswers “what needs attention?”Tasksis the safe action launcherRunsis the execution ledgerApprovalsis the gated-action inboxIncidentsis the operational trouble queueAgentsis readiness and lifecycle truthGovernanceis policy and trust postureKnowledgeis retrieval, memory, and repair intelligenceSystem HealthandDiagnosticsare supporting operator utilities
Page-by-Page Spec
1. Overview
Purpose
Answer the operator’s first-session question in under 10 seconds.
Primary sections
- top status bar
- needs-attention rail
- execution snapshot
- safe next actions
- recent runs
- proof and trust teaser
Do not keep on overview
- full incident queue
- full topology analysis
- full diagnostics summary
- deep governance registry tables
Hero copy
- title:
Operator Overview - subtitle:
Live control-plane truth, governed work, and safe next actions.
Top status bar
- show:
- system status
- fast-start
- persistence status
- pending approvals
- metered spend
Needs-attention rail
- prioritize:
- pending approvals
- active incidents
- degraded persistence
- retry/repair pressure
- stale public proof
Safe next actions
- show 3-6 task shortcuts only
- use task classification:
Available NowRequires ApprovalPartially AvailableExternally Dependent
2. Tasks
Purpose
Launch bounded operator-safe workflows.
Sections
- task category filter
- action cards
- selected task launcher
- submission preview
- caveats and approval notes
Task categories
RoutineRepairResearchGovernanceSensitive
Copy rule
Every task must state:
- what it does
- what it depends on
- whether approval is needed
- whether it is fully proven or partially available
3. Runs
Purpose
Show what actually happened.
Sections
- execution summary strip
- filters
- run ledger table
- cost and budget summary
- status breakdown
This page should own
- metered spend
- per-run cost
- budget posture
- latency
- run outcome truth
4. Approvals
Purpose
Be the operator’s decision inbox.
Sections
- approval summary
- pending approval list
- selected approval detail
- decision action box
Copy
- headline:
Approval Inbox - subtitle:
Review gated work before it can continue.
5. Incidents
Purpose
Own the incident queue as a first-class surface.
Reason
The backend already treats incidents as first-class truth. The UI should too.
Sections
- incident posture summary
- severity/status filters
- incident queue
- incident detail panel
- remediation and verification actions
- history / ownership / acknowledgements
Guidance layer
- The page must explain what acknowledgement, assignment, and remediation do in plain operator language.
- Manual remediation options should be presented as overrides, not as proof that remediation already exists.
- Empty remediation or ownership sections should become instructional empty states instead of occupying half the detail layout with blank panes.
- The detail view should always surface a visible
what to do nextblock near the action deck.
Status honesty
Use explicit labels:
OpenWatchingAcknowledgedRemediatingVerification RequiredResolved
6. Agents
Purpose
Show fleet readiness, lifecycle, and evidence posture.
Sections
- readiness summary
- fleet filters
- agent cards or rows
- service truth
- allowed skills / lifecycle mode / host service posture
Copy
Avoid “smart agent” hype. Prefer:
DeclaredWorker-capableService expectedService runningPolicy constrainedPartially verified
7. Governance
Purpose
Explain what is allowed, reviewed, restart-safe, and auditable.
Sections
- governed-skill posture
- telemetry
- policy summary
- registry table
- audit feed
Tone
This page should feel administrative and trustworthy, not flashy.
8. Knowledge
Purpose
Show the state of indexed truth, query, recall, and repair posture.
Sections
- knowledge summary
- freshness and repair posture
- query surface
- memory recall
- graph / topology / contradiction support
Copy
- title:
Knowledge - subtitle:
Indexed truth, retrieval, memory recall, and repair posture.
9. System Health
Purpose
Be the authoritative technical health and dependency page.
Sections
- runtime health
- dependency health
- persistence posture
- truth layers
- coordination / Redis posture
Do not overload with
- full incident queue
- full remediation workflow
- broad operator summaries
Those belong elsewhere.
10. Diagnostics
Purpose
Run targeted operator checks when needed.
Positioning
Utility route, not a top-level product identity page.
Sections
- environment target summary
- run checks
- results
- retry failed checks
11. Public Proof
Purpose
Public-facing evidence surface, separate from private control-plane certainty.
Sections
- proof overview
- proof nodes
- latest milestones
- demand and control clusters
- dead-letter / proof-risk
Visual distinction
Keep it cooler, cleaner, and more public-facing than the private operator shell, while still clearly part of the same product family.
Design System Direction
Visual Tone
Use:
- dark industrial premium surfaces
- machined metal framing
- deliberate glows
- low-noise motion
- strong typography hierarchy
Avoid:
- generic SaaS cards
- too many tiny widgets
- decorative dashboards with no decision value
- sci-fi clutter that reduces readability
Color Role System
amber/orange: actions, active focus, command accentsgreen: healthy, verified, clearamber/yellow: caution, pending, partially availablered: blocked, failed, criticalcyan/blue: public proof, diagnostics, informationsteel neutrals: panel framing, separators, inactive structure
Typography
Orbitron: masthead and major display headings onlyJetBrains Mono: operational labels, metrics, status, machine-like textInter: readable explanatory copy
Motion
Use motion only for:
- route transitions
- reveal-in on major cards
- command palette
- active state emphasis
Do not use floaty constant motion or decorative starfield-like effects.
Responsive Behavior
- desktop: 12-column grid
- tablet: 6-8 column adaptive grid
- mobile: stacked sections with clear priority order
On mobile:
- keep the attention rail near the top
- limit dense tables
- collapse secondary metrics into drawers or smaller stacked modules
Copy System
The copy style should be:
- plainspoken
- high-trust
- explicit about caveats
- never overclaiming
Approved status language
HealthyDegradedDownPartially AvailableNot Yet VerifiedExternally DependentRequires ApprovalWatching
Avoid
Everything looks greatAI is thinkingAll clearwhen data is partialGuaranteedFully autonomous
Preferred explanatory style
Control plane is reachable, but one or more dependencies are degraded.This task is available, but downstream provider success still depends on external quota or network posture.No approvals are waiting right now.Public proof is live, but the latest evidence may be stale.
Backend Rendering Guardrails
The frontend should continue following the API guardrails:
- render safe leaf fields, not raw nested objects
- separate private operator truth from public proof truth
- keep externally dependent task lanes visibly caveated
- do not flatten
confirmed route existsintoworkflow always succeeds - do not treat public proof as the same as internal operator certainty
Implementation Order
Recommended redesign order:
- lock this spec as the design source of truth
- restructure navigation and page responsibilities
- rewrite
Overviewaround attention, action, and recent truth - split
IncidentsfromSystem Health - clean up
Tasks,Runs, andApprovalsas the main workflow trio - demote
Diagnosticsinto utility status - polish
Agents,Governance, andKnowledge - retune
Public Proofas a separate public-facing sibling surface
Phase 1 Landed
The first cutover is now implemented in the integrated /operator console:
- primary navigation reordered to
Overview,Tasks,Runs,Approvals,Incidents,Agents,Governance, andKnowledge Incidentssplit into its own dedicated operator route and command deckOverviewreduced to status, attention, safe-action shortcuts, and recent truthSystem Healthslimmed back to runtime, dependency, truth-layer, and coordination posture
Phase 3 Guidance Layer
The next console pass should make decision-heavy pages self-explaining rather than assuming prior operator knowledge.
- Add reusable guidance panels and action-hint patterns.
- Prefer visible helper copy near decision points over hidden-only tooltips.
- Collapse empty detail sections so the layout promotes populated truth and uses empty states for instruction, not filler.
- Start with
Incidents, then apply the same guidance pattern toTasks,Runs, andApprovals.
Hard-Cutover Rule
Do not keep two competing console architectures alive.
When the redesign begins:
- cut pages over deliberately
- retire the old structure
- do not maintain parallel legacy/new console IA indefinitely
This product already has enough backend truth to support a cleaner operator experience. The next work is not inventing more surface area. It is presenting the existing truth with better hierarchy, clearer copy, and stronger trust signals.