Skip to content

XIOPro Production Blueprint v5.0

Part 6 — UI / Control Center


1. Purpose of This Part

This document defines the human control surface of XIOPro.

It specifies:

  • what the UI is for
  • how the founder interacts with brains
  • how governed human intervention works
  • how ContextPrompting appears in the operator workflow
  • how modules, research, governance, and cost become visible and actionable
  • how the system is expressed as a widget-based web application
  • how the same surface adapts to desktop and mobile use

The UI is not the execution engine.

It is:

the governed human interaction, supervision, and optimization surface


2. Core UI Principle

XIOPro is headless first and web based.

The UI is not required for execution correctness.

But the UI is required for:

  • low-friction human supervision
  • high-bandwidth collaboration with brains
  • intervention, approval, and recovery
  • visibility into work, cost, risk, and knowledge
  • research navigation and synthesis
  • deliberate control of prompting and module selection

The UI must never become the only place where important state exists.

All meaningful changes must become durable backend state.


3. Platform Principle

The XIOPro UI should be implemented as:

  • a web application
  • a widget-based control surface
  • a runtime-flexible grid layout
  • a mobile-capable responsive system

This gives XIOPro:

  • modularity
  • easier implementation
  • easier replacement and upgrades
  • clearer per-widget ownership
  • role-based and use-case-based layouts
  • future extensibility without redesigning the entire UI

4. UI Philosophy

The XIOPro UI must feel like:

  • a control center
  • a conversation surface
  • a work cockpit
  • a knowledge and research console
  • a governed intervention layer

It must not feel like:

  • a consumer chatbot clone
  • a fragile shell over hidden logic
  • a dashboard disconnected from execution
  • a UI-only workflow trap

5. Primary UI Goals

The UI must enable the founder/operator to:

  • talk to brains
  • collaborate with brains
  • see which brains are active
  • see what work is running
  • see what is blocked
  • see where cost is accumulating
  • see which module is being used and why
  • attach files, images, and research materials
  • choose Prompting Mode
  • choose search vs research behavior
  • choose style/output mode
  • use voice/audio when appropriate
  • approve, reject, redirect, or constrain work
  • navigate knowledge and research outputs
  • recover from drift or failure without confusion
  • use the same system from desktop and mobile with appropriate adaptation

6. Widget-Based UI Architecture

6.1 Core Principle

Everything visible in XIOPro should be represented as a widget or as a layout container that hosts widgets.

The page is not the primary unit.

The widget is the primary unit.

This makes it easier to:

  • implement incrementally
  • update isolated functionality
  • compose different control surfaces
  • tailor layouts for different workflows
  • support desktop and mobile variations cleanly

6.2 Widget System Rule

Widgets are composable visual units, but they must not become isolated mini-apps with hidden local truth.

Each widget must remain backed by durable system objects.

6.3 Widget Contract Model

Every widget should define at least:

Data Contract

What backend objects it reads.

Examples:

  • ticket
  • task
  • session
  • runtime
  • module recommendation
  • research output
  • alert
  • cost telemetry

Action Contract

What it may create or mutate.

Examples:

  • approve
  • reject
  • constrain
  • reroute
  • attach file
  • create research task
  • switch layout
  • request clarification

Refresh Contract

How live it is.

Examples:

  • hot
  • warm
  • cold

Layout Contract

Where it may appear and how it prefers to appear.

Examples:

  • center
  • side rail
  • bottom panel
  • modal only
  • mobile primary
  • mobile hidden
  • full-width capable

6.4 No Widget-Only Truth

A widget may cache, stage, and draft local state.

But it must not become the only place where meaningful state exists.

6.5 Widget Interaction Backbone

Widgets must communicate through durable backend objects and an event/state layer, not through implicit UI coupling.

This prevents:

  • ghost state
  • hidden dependencies
  • inconsistent cross-widget behavior
  • layout changes breaking logic

7. Runtime-Flexible Grid Layout

7.1 Principle

The overall screen should be a runtime-flexible grid composed of widgets.

This grid should support:

  • resize
  • reorder
  • collapse
  • expand
  • dock/undock where justified
  • save preset
  • restore preset

7.2 Controlled Flexibility Rule

XIOPro should not begin as a fully unrestricted dashboard builder.

It should begin with:

  • a governed widget catalog
  • blessed layout presets
  • controlled rearrangement

This keeps:

  • documentation cleaner
  • support/debugging easier
  • operator experience more predictable
  • performance more manageable

7.3 Layout Presets

XIOPro should ship with at least these presets:

  • Control Center
  • Brain Collaboration
  • Research Desk
  • Module Portfolio
  • Governance / Recovery
  • Mobile Fast Board

7.4 Layout Persistence

Layouts should be persistable by:

  • user
  • workspace
  • preset
  • device class

8. Web and Mobile Principle

8.1 Web-Based First

XIOPro should be implemented as a browser-based application.

This makes it easier to support:

  • desktop
  • laptop
  • tablet
  • phone
  • remote access
  • future embedding or admin surfaces

8.2 Mobile Rule

Mobile support is required, but mobile should be a reduced-surface control mode, not a forced copy of the desktop experience.

8.3 Device-Class Behavior

Desktop / Large Screen

Optimized for:

  • multiple simultaneous widgets
  • side-by-side comparison
  • heavy operational visibility
  • research and governance work

Tablet

Optimized for:

  • two-pane or simplified multi-widget views
  • approvals
  • research review
  • moderate collaboration

Phone

Optimized for:

  • approvals
  • escalations
  • voice input
  • active brain conversation
  • quick research review
  • quick status and recovery guidance

9. Core UI Zones

flowchart TD
    TopBar[Top Bar / Global Status]
    LeftRail[Left Rail / Navigation]
    Center[Center Workspace Grid]
    RightRail[Right Rail / Context / Governance]
    BottomPanel[Bottom Panel / Logs / Cost / Trace]

    TopBar --> Center
    LeftRail --> Center
    Center --> RightRail
    Center --> BottomPanel

9.1 Top Bar

Minimum contents:

  • workspace / project
  • environment
  • global health
  • global cost pulse
  • active alert count
  • active escalation count
  • quick search
  • quick create action
  • operator identity
  • emergency pause access if allowed

9.2 Left Rail

Primary navigation spine.

Minimum sections:

  • Control Center
  • Brains
  • Tickets / Tasks
  • Research Center
  • Knowledge / Librarian
  • Governance / Alerts
  • Module Portfolio
  • Infrastructure / Ops
  • History / Decisions
  • Settings / Profiles

9.3 Center Workspace Grid

Primary widget grid area.

This is where the active preset is rendered.

9.4 Right Rail

Structured context and control surface.

Typical contents:

  • session context
  • task metadata
  • module details
  • active constraints
  • approvals required
  • knowledge refs
  • research refs

9.5 Bottom Panel

Operational trace surface.

Typical tabs:

  • activity log
  • task timeline
  • session timeline
  • cost / usage
  • module routing trail
  • errors / retries
  • raw events

10. Widget Catalog

10.1 Global / Shell Widgets

Global Status Bar Widget

Shows:

  • system health
  • environment
  • cost pulse
  • alert count
  • escalation count
  • active brains

Refresh class: hot

Command Palette Widget

Universal launcher for search, navigation, and actions.

Refresh class: warm

Attention Queue Widget (User ToDo / Revolving Attention Queue)

The Attention Queue is the primary surface where XIOPro communicates what it needs from the user. It is not a static list -- it revolves automatically based on system state. Items are auto-created when the system detects conditions requiring human attention, and auto-dismissed when those conditions clear.

Refresh class: hot (SSE push on every create/dismiss/update)

Auto-generated from system state:

attention_queue:
  auto_generated_from:
    - pending_escalations: "Creates todo when escalation needs human decision"
    - critical_alerts: "Creates todo when critical/warning alert fires"
    - agent_errors: "Creates todo when an agent enters error state"
    - stale_tasks: "Creates todo when tasks are stuck > 24 hours"
    - budget_warnings: "Creates todo when cost approaches monthly threshold"
    - pending_approvals: "Creates todo when governance requires approval"
    - context_rotation: "Creates todo when session context is approaching limits"

  auto_dismissed_when:
    - escalation_resolved: "Linked todo auto-completed"
    - alert_acknowledged: "Linked todo auto-completed"
    - agent_recovered: "Linked todo auto-completed"
    - task_unstuck: "Linked todo auto-completed"

  properties_per_item:
    - unique_number: sequential (UUID primary key)
    - title: short description
    - description: detailed (expandable)
    - priority: critical | high | medium | low
    - environment: where the action is needed (dns, github, hetzner, paperclip, devxio, bus, etc.)
    - linked_object: reference to the source (linked_type + linked_id)
    - linked_url: clickable link to the relevant object
    - created_at: when it was generated
    - created_by: system | GO | agent_name
    - assigned_to: user name (from User entity)
    - status: open | in_progress | done | dismissed
    - completed_at: when it was resolved (auto-set on done/dismissed)
    - sort_order: manual reordering within priority bands

Deduplication rule: Each auto-generated todo is keyed on linked_type + linked_id. If an open todo already exists for the same linked object, no duplicate is created. This makes the generation cycle idempotent and safe to run on any interval.

Generation triggers: 1. 60-second interval timer in the Bus server 2. Piggyback on SSE push events to the UI channel

Data contract: reads from user_todos table (Bus DB), escalation_requests (XIOPro DB), alerts (Bus DB), agent_registry (Bus DB), tasks (XIOPro DB), cost_ledger (XIOPro DB)

Action contract: mark done, dismiss, change priority, reassign, navigate to linked object

Layout contract: center or side rail, mobile primary

Daily Brief Widget

Condensed briefing of what changed, what matters, what is blocked, and what needs decision.

Refresh class: warm


10.2 Brain Interaction Widgets

Brain Switcher Widget

Fast switching between brains with session awareness.

Refresh class: hot

Brain Card Widget

Compact summary of a brain.

Shows:

  • role
  • status
  • current task
  • current module
  • cost pulse
  • attention state

Refresh class: hot

Brain Conversation Widget

Primary human-to-brain conversation surface.

Must support:

  • exploratory conversation
  • execution-bound discussion
  • approvals
  • recovery conversation
  • promoted decisions
  • references and attachments

Implemented capabilities (as of 2026-03-29): - 9 chat panel features including message threading and history - ContextPrompting integration: prompting mode visible in panel header - SSE-streamed messages: responses stream in real-time via SSE, no polling required

Refresh class: hot

Session Context Widget

Shows:

  • runtime
  • session
  • linked ticket/task
  • constraints
  • assumptions
  • unresolved questions
  • escalation state

Refresh class: hot

Brain Trace Widget

Shows recent actions, tool calls, transitions, outputs, and errors.

Refresh class: hot

Recovery Widget

Focused surface for retry, reroute, resume, and escalation decisions.

Refresh class: hot when relevant, hidden otherwise


10.3 Prompting / Interaction Widgets

Prompt Composer Widget

The most important widget.

Must support:

  • text input
  • add file
  • add image
  • drag-and-drop
  • paste image
  • voice/audio input
  • draft preservation
  • send / submit
  • current brain awareness

Refresh class: hot

Prompting Mode Widget

Human-facing selector backed by ContextPrompting.

Values:

  • Direct
  • Governed
  • Clarify
  • Collaborate

Default:

  • Collaborate

This may be embedded inside Prompt Composer or rendered as an adjacent widget.

Inquiry Queue Widget

Shows current blocking and optional questions from the prompt steward role.

Refresh class: hot when active

Assumptions Widget

Shows active assumptions, with ability to confirm, revise, or clarify.

Refresh class: warm

Prompt Package Inspector Widget

Shows the assembled execution package:

  • goal
  • constraints
  • assumptions
  • rule refs
  • skill refs
  • human answers
  • relevant context refs

Refresh class: warm


10.4 Work Graph Widgets

Ticket Board Widget

High-level ticket workspace.

Refresh class: warm

Task Tree Widget

Task hierarchy, dependencies, blockers, and state.

Refresh class: warm

Activity Timeline Widget

Per-task or per-session activity sequence.

Refresh class: warm

Deliverables Widget

Artifacts, outputs, exports, and previews.

Refresh class: warm


10.5 Research Center Widgets

Research Queue Widget

Scheduled and active research tasks.

Refresh class: warm

Research Calendar Widget

Recurring research jobs and refresh cycles.

Refresh class: warm

Source Bundle Widget

Curated research packets.

Refresh class: warm

Research Output Widget

Digest, comparison, briefing, or synthesis output.

Refresh class: warm

NotebookLM Packet Widget

Packet-prep and export visibility for NotebookLM-oriented workflows.

Refresh class: warm

Obsidian Topic Map Widget

Topic-linked exploration surface for governed knowledge navigation.

Refresh class: warm

Candidate Scan Widget

Candidate module and technology scans, including Hugging Face and related research results.

Refresh class: warm


10.6 Knowledge Widgets

Librarian Search Widget

Search by metadata, text/content, or context.

Refresh class: warm

Knowledge Document Widget

Document viewer with lineage, version, and classification info.

Refresh class: warm

Rule / Skill / Activation Widget

Inspection and comparison of governed behavior-shaping assets.

Refresh class: warm

Knowledge Lineage Widget

Source → synthesis → governed asset / output lineage.

Refresh class: cold/warm


10.7 Governance Widgets

Alerts Widget

Severity-coded alerts with acknowledgement and drill-down.

Implemented capabilities (as of 2026-03-29): - Priority icons and severity filtering (critical / warning / info) - Flash threshold: alerts flash on new critical events - Click-to-dialog: clicking an alert opens a detail dialog with full context and action options - Acknowledgement per alert - Browser notifications for critical alerts and task assignments

Refresh class: hot

Breaker State Widget

Breaker type, state, evidence, action, and override availability.

Refresh class: hot when active

Governance Decision Widget

Why a policy action occurred and what it affected.

Refresh class: warm

Approvals Inbox Widget

Pending approvals and constrained decisions.

Refresh class: hot

Override Console Widget

Controlled override surface with explicit audit warning.

Refresh class: warm/hot

Human Decision Log Widget

Review of approvals, redirects, rejects, and constraints.

Refresh class: warm


10.8 Module Portfolio Widgets

Module Selector Widget

Current, recommended, and fallback module selection surface.

Refresh class: warm/hot

Module Recommendation Widget

Reasoning behind the current recommendation.

Refresh class: warm

Module Compare Widget

Compare quality, latency, cost, trust, access path, and fallback posture.

Refresh class: warm

Subscription Coverage Widget

Visibility into subscription-backed, API-backed, and self-hosted availability.

Refresh class: warm

Hosting Feasibility Widget

Can a candidate run on Mac, cloud node, GPU node, or hybrid path?

Refresh class: warm

Candidate Discovery Widget

New candidates, subscriptions, and self-hosted leads under evaluation.

Refresh class: warm


10.9 Cost / Telemetry Widgets

Cost Pulse Widget

Live high-level cost signal.

Refresh class: hot

Cost by Scope Widget

Project / ticket / task / runtime / session breakdown.

Refresh class: warm

Module Usage Widget

Usage by module, access path, and task class.

Refresh class: warm

Retry / Fallback Widget

Instability and hidden-cost signal.

Refresh class: warm/hot

Resource Pressure Widget

Compute, memory, bandwidth, and queue pressure.

Refresh class: warm


10.10 Ops / Infrastructure Widgets

Node Health Widget

Hetzner / Mac / GPU / product node health.

Refresh class: warm/hot

Service Map Widget

Service placement and current health.

Refresh class: warm

Deploy / Bootstrap Widget

Current version, migration state, last deploy, and current rollout posture.

Refresh class: warm

Backup / Restore Widget

Backup status and restore-drill status.

Refresh class: warm

Terminal Widget

Embedded terminal surface for direct command execution on connected hosts.

Implemented capabilities (as of 2026-03-29): - xterm.js-backed terminal emulator with full VT100 support - Echo mode: local command echo before remote response arrives - Connected to agent host via Bus relay

Refresh class: hot when active

Project Selector Widget

Dropdown/selector for switching active project context across the Control Center.

Implemented capabilities (as of 2026-03-29): - Loads real project list from /projects API - lifecycle_phase displayed per project (discovery / active / paused / complete) - Selection propagates project context to connected widgets

Refresh class: warm


11. Primary Workspaces / Layout Presets

11.1 Control Center

Recommended widgets:

  • Global Status Bar
  • Attention Queue
  • Alerts
  • Approvals Inbox
  • Active Brain Cards
  • Cost Pulse
  • Daily Brief

11.2 Brain Collaboration

Recommended widgets:

  • Brain Conversation
  • Prompt Composer
  • Session Context
  • Brain Trace
  • Inquiry Queue
  • Assumptions
  • Prompt Package Inspector

11.3 Research Desk

Recommended widgets:

  • Research Queue
  • Research Calendar
  • Source Bundle
  • Research Output
  • NotebookLM Packet
  • Obsidian Topic Map
  • Candidate Scan

11.4 Module Portfolio

Recommended widgets:

  • Module Compare
  • Subscription Coverage
  • Hosting Feasibility
  • Candidate Discovery
  • Module Usage
  • Cost by Scope

11.5 Governance / Recovery

Recommended widgets:

  • Alerts
  • Breaker State
  • Governance Decision
  • Approvals Inbox
  • Recovery Widget
  • Human Decision Log

11.6 Mobile Fast Board

Recommended widgets:

  • Active Brain / Brain Switcher
  • Prompt Composer with voice
  • Approvals Inbox
  • Alerts
  • Attention Queue
  • Daily Brief

11A. T1P UI Scope (v5.0 Addition)

11A.1 Purpose

The full widget catalog and layout preset list above represents the complete XIOPro UI vision. For T1P, the UI must be scoped to what can be built, tested, and proven within the T1P timeline without becoming a multi-month frontend project.


11A.2 Must Have (First Wave)

These are required for T1P to be functional as a human control surface.

The shell (top bar + left rail + center grid) is the structural frame that hosts everything else. It is the prerequisite, not a widget.

The 6 must-have T1P widgets are:

  1. Agent Status Grid -- shows registered agents, their roles, status (active/idle/offline), current task, last heartbeat. Data source: Control Bus agent registry. Refresh: hot (SSE push on heartbeat/status change).

  2. Task Board -- kanban-style board with columns: todo / in_progress / done / blocked. Filterable by project, agent, priority. Data source: ODM task table via Bus API. Refresh: warm (poll every 30s or SSE on task state change).

  3. Alerts Panel -- active alerts and interventions from the governor. Severity-coded (critical/warning/info). Acknowledge button per alert. Data source: governance events via Bus API. Refresh: hot (SSE push on new alert).

  4. Cost Summary -- running cost per agent, per project. Daily/weekly/monthly view toggle. Data source: cost ledger via Bus API. Refresh: warm (poll every 60s).

  5. Prompt Composer -- unified input surface for interacting with any agent via RC. Supports: text input, file attach, send, brain selector. Data source: writes to Bus messaging API. Refresh: hot (conversation is real-time).

  6. Activity Feed -- real-time SSE feed of recent activities across all agents. Shows: agent, action, target, timestamp. Data source: SSE event stream from Control Bus. Refresh: hot (streaming).

  7. Attention Queue -- revolving user todo list, auto-populated from system state. Shows: pending escalations, unacknowledged alerts, agent errors, stale tasks, budget warnings, pending approvals. Each item links to its source object. Items auto-dismiss when the condition clears. Data source: Bus user_todos table + auto-generation from escalations, alerts, agents, tasks, cost_ledger. Refresh: hot (SSE push on create/dismiss).

These 7 widgets plus the shell frame provide the minimum viable Control Center for XIOPro.

The Control Center preset arranges all 6 widgets in the center grid. The Brain Collaboration preset reuses the Prompt Composer and Activity Feed with an added session context viewer.


11A.3 Second Wave

These should follow once the first wave is proven:

  1. Approval/alert widgets -- structured approval inbox, severity-coded alerts with drill-down
  2. Research Desk basics -- research queue, research output viewer, source bundle viewer
  3. Mobile reduced-surface mode -- phone-optimized view with approvals, alerts, brain conversation, voice

11A.4 Defer

These are architecturally valid but should not be built in T1P:

  • Module Portfolio workspace (full widget set)
  • Full Governance workspace (override console, breaker state, governance decision log)
  • All 50+ widget catalog items
  • Advanced layout customization (drag-and-drop grid rearrangement, custom presets, dock/undock)
  • NotebookLM Packet widget (NotebookLM not deployed)
  • Obsidian Topic Map widget (Obsidian not deployed)
  • Candidate Scan / Hosting Feasibility widgets (module steward starts narrow)

11A.5 Scoping Rule

The T1P UI must prove:

  • the shell works
  • prompting works
  • brain collaboration works
  • basic operational visibility works

Before expanding into the full widget catalog, these four capabilities must be functional and tested.


12. Prompt Composer Specification

See resources/DESIGN_rc_architecture.md for the Remote Control architecture design covering how the Prompt Composer connects to Open WebUI, Claude RC, and other interaction surfaces through the Control Bus.

12.1 Purpose

The prompt composer is the unified interaction composer for XIOPro brains.

It is not a simple chat textbox.

12.2 Required Controls

It should support at least:

  • text input
  • file upload
  • image upload
  • drag-and-drop
  • paste image
  • voice/audio input
  • send
  • draft persistence
  • Prompting Mode
  • search vs research toggle
  • style selector
  • module/model selector

12.3 Prompting Mode

UI label:

Prompting Mode

Values:

  • Direct
  • Governed
  • Clarify
  • Collaborate

Architecture backing:

  • ContextPrompting / prompt steward role

12.4 Search vs Research

The composer should separate:

  • Search
  • Research

Search = direct lookup Research = deeper multi-step investigation and synthesis

12.5 Style Control

Styles may come from:

  • built-in styles
  • project styles
  • founder styles
  • imported writing samples
  • role-specific styles

12.6 Module / Model Controls

Expose:

  • selected module
  • recommended module
  • fallback module
  • access path
  • constraint warning if applicable

12.7 Persistence Rule

Not every message must mutate workflow.

But if input materially changes:

  • execution direction
  • constraints
  • approval state
  • recovery path
  • task interpretation
  • module choice

it must become durable operational state.


13. VS Code Boundary

13.1 Principle

Not all editing belongs in the XIOPro web UI.

Where IDE-style editing is more efficient, it may remain in VS Code.

13.2 Keep in VS Code First

For T1P, these can remain primarily VS Code-based:

  • rules
  • skills
  • activations
  • protocol docs
  • YAML-heavy policies
  • runbooks
  • configuration templates
  • migration and deployment files

13.3 XIOPro Config Editor Future

A later VS Code extension may provide:

  • governed asset tree
  • custom editors
  • diff-aware editing
  • prompt-assisted editing
  • API/MCP link to XIOPro validation and approval flows

The web UI does not need to replace VS Code immediately.


14. Performance Rules

14.1 Core Principle

A widget-based runtime grid is correct for XIOPro, but performance discipline is mandatory.

14.2 Live-Tier Classification

Widgets should be classified as:

  • hot
  • warm
  • cold

Hot

Live or near-live widgets.

Examples:

  • alerts
  • active conversation
  • approvals
  • cost pulse
  • attention queue

Warm

Moderately refreshed widgets.

Examples:

  • task tree
  • module compare
  • research queue
  • cost breakdown

Cold

Load on demand.

Examples:

  • archived logs
  • older lineage views
  • historical research bundles

14.3 Lazy Loading Rule

Heavy widgets should load data only when:

  • visible
  • opened
  • expanded
  • explicitly refreshed

14.4 Virtualization Rule

Long lists must be virtualized.

Examples:

  • conversation threads
  • logs
  • traces
  • large tables
  • research result lists

14.5 Subscription Rule

Each widget should subscribe only to the events it actually needs.

Avoid page-wide state floods.

14.6 Layout Rule

Moving or resizing a widget should not force heavy data reload unless necessary.


15. Open-Source Component Direction

The UI architecture should remain compatible with a stack such as:

  • React
  • shadcn/ui
  • React-Grid-Layout
  • TanStack Query
  • TanStack Table
  • React Virtuoso
  • Recharts

This is an implementation direction, not a hard product dependency, but it aligns well with XIOPro's needs.


16. Mobile / Reduced-Surface Mode

16.1 Purpose

Mobile mode preserves critical founder control without forcing full desktop parity.

16.2 Priorities

Mobile should prioritize:

  • active brain conversation
  • voice input
  • alerts
  • approvals
  • escalations
  • quick status
  • quick research review
  • lightweight recovery guidance

16.3 Non-Goal

Phone mode should not attempt to render every desktop widget simultaneously.


17. UI State Principles

17.1 No UI-Only Truth

All meaningful state changes must persist in backend objects.

17.2 Low Friction, High Clarity

The UI should reduce friction without hiding reality.

17.3 Progressive Complexity

Expose rich power, but not all at once.

17.4 Explainability

The UI should help the founder understand:

  • what the system is doing
  • why it is doing it
  • what can be changed
  • what needs approval

18. Current State & Dashboard Migration Path (v5.0 Addition)

18.1 Current Dashboard

dashboard.struxio.ai (React) is the current operational dashboard.

It provides basic visibility into system state but does not support the full XIOPro interaction model (brain collaboration, prompting, governance, research).

18.2 Migration Path

The current dashboard keeps running during the XIOPro UI transition.

Migration strategy:

  1. Parallel operation: New XIOPro Control Center is built alongside the existing dashboard. Both run simultaneously.
  2. Feature parity checkpoint: The new Control Center must reach functional parity with the existing dashboard before any cutover is considered.
  3. Cutover: When the new Control Center provides equivalent or better visibility, the old dashboard is retired.
  4. No big-bang: There is no point where the old dashboard is removed before the new one is proven.

18.3 Rule

The existing dashboard is not removed, deprecated, or disrupted until the XIOPro Control Center can fully replace it. Parallel operation is the default during transition.


19. UI Success Criteria

The UI is successful when:

  • the founder can talk to brains naturally
  • collaboration with brains improves outcomes
  • execution-linked conversations remain traceable
  • module choice and cost are visible and understandable
  • research becomes easy to create, review, and reuse
  • governance actions are legible and actionable
  • attachments, voice, style, and search/research controls feel native
  • desktop and mobile both remain useful without becoming separate products
  • the UI accelerates XIOPro without becoming its hidden dependency

20. Final Statement

The XIOPro UI is not a chatbot shell.

It is a widget-based, web-first, mobile-capable governed control center for:

  • conversation
  • collaboration
  • supervision
  • research
  • intervention
  • optimization
  • trust-preserving execution

21. Design Concept Prompts

21.1 Research Desk Design Concept

An external design pass emphasized that the Research Desk preset should feel meaningfully different from the Control Center and Brain Collaboration presets.

The Research Desk should shift the UI focus from real-time execution supervision toward:

  • deep knowledge synthesis
  • source lineage
  • fact-checking
  • curated source bundles
  • dataset and document comparison
  • research task execution and review

Recommended visual emphasis:

  • a large central Research Synthesis widget as the primary reading and reasoning surface
  • a right-side knowledge panel for:
  • indexed documents
  • trusted internal sources
  • active research workers
  • topic-map exploration
  • a research-adapted Prompt Composer with defaults oriented toward:
  • deeper inquiry
  • knowledge-aware prompting
  • research-specific model selection
  • a lower trace surface focused on:
  • search queries
  • token cost
  • knowledge graph traversal
  • source lineage

The design goal is to preserve the same XIOPro product identity while making the Research Desk feel like a true research workstation, not merely a variation of the execution dashboard.

Design Rule

Each layout preset should preserve the common XIOPro design system, but visibly prioritize the dominant workflow of that preset.

For the Research Desk, that dominant workflow is:

collection → curation → synthesis → lineage review → knowledge promotion


Changelog

Version Date Author Changes
4.1.0 2026-03-27 BM Initial v4.1 release
4.2.0 2026-03-28 BM Added: T1P UI scope narrowing (11A) -- must-have, second wave, and deferred items. Added: Current dashboard migration path (18) -- parallel operation, no big-bang cutover. Fixed: "Rufio" renamed to "Ruflo" globally (no occurrences in Part 6). Added: Current State section (18) with dashboard migration details. Added: Changelog section. Updated version header to 4.2.0.
4.2.2 2026-03-28 000 Agent naming migration: P01 replaced with prompt steward role. M01 replaced with module steward role. Changelog author entries preserved as historical.
4.2.9 2026-03-28 000 Wave 1-2 BP fixes: Rewrote Section 11A.2 Must Have (First Wave) — replaced 4 abstract deliverables with 6 concrete, buildable T1P widgets: Agent Status Grid, Task Board, Alerts Panel, Cost Summary, Prompt Composer, Activity Feed. Each widget specifies data source, refresh class, and key functionality.
4.2.10 2026-03-29 BM Attention Queue Widget: Expanded Section 10.1 Attention Queue from one-liner to full specification with auto-generation triggers, auto-dismiss rules, dedup contract, YAML schema, and data/action/layout contracts. Added Attention Queue as 7th must-have T1P widget in Section 11A.2.
4.2.13 2026-03-29 000 Batch BP update from recent tickets: Alerts Widget (10.7) — priority icons, filters, flash, click-to-dialog, browser notifications. Brain Conversation Widget (10.2) — 9 chat features, ContextPrompting, SSE messages. Added Terminal Widget (10.10) — xterm.js, echo mode. Added Project Selector Widget (10.10) — real /projects data, lifecycle_phase.
4.2.12 2026-03-29 BM Cross-references: Added pointer to resources/DESIGN_rc_architecture.md in Section 12 (Prompt Composer) — RC architecture design for multi-surface interaction routing through the Control Bus.