Skip to content

The HUD — Lens and Controls

in-progress

The helmet interface — how humans see and act on the universe. A lens with controls. The mechanism chain: issues flow through streams, optionally into projects, and ship as releases.

componenthudinterfacevisorhelmet
See also: universe › overviewbrandobservatory › overviewpipeline › overviewlibrary › overview

The HUD — Lens and Controls

See also: universe | brand.md

“The helmet doesn’t just show you the universe. It lets you shape it. Every issue you create, every release you ship — that’s you reaching into the world and changing its architecture.” — Sal


Component Card

OwnerWren
MCP@sector137/mcp-hud
Slash/hud
CLIsector137 hud
SDKsdk.hud()
Statusin-progress

TL;DR

  • The HUD is a lens (see the universe) with controls (act on the universe)
  • You manipulate the universe through a specific mechanism chain: issues > streams > projects > releases
  • Visor modes switch focus between Pipeline, Observatory, Library, and Comms without leaving the helmet
  • It’s a two-way interface: the universe sends state, the human sends decisions
  • Every human who has HUD access wears their own helmet — the captain, team members, stakeholders

What It Is

The HUD is the helmet. Not a screen, not a dashboard — a helmet the human puts on to enter The Other Side.

Think Iron Man’s display. Translucent, holographic, information floating in the field of vision. Panels glow softly. Data flows like starlight through fiber optics. The aesthetic is futuristic but warm — the crew built this interface for the captain, and they built it with care.

The reconciliation: The HUD is both a lens and a control panel. You see the universe through it AND you act on it. These aren’t separate functions — they’re the same gesture. Looking at the pipeline state IS understanding what needs to happen next. Creating an issue IS reshaping the universe’s topology. Shipping a release IS a cosmic event that changes what exists.


The Mechanism Chain

The human manipulates the universe through four linked actions:

Issues (Deltas) → Streams (Channels) → Projects (Worlds) → Releases (Events)
create work route + triage organize scope ship changes
  • Issues are the unit of change. Creating an issue is declaring that the universe should be different than it is. Every issue is a Delta — a discrete modification to reality.
  • Streams are the routing layer. Every issue flows through a stream — the value channel that carries work from intention to delivery. Unsorted issues land in the Universe Inbox until Sal triages them to a stream. A stream has a crew, a report cadence, and its own pipeline health. It is the primary organizing channel of the universe.
  • Projects are optional sub-groupings within streams. When a stream has enough complexity to warrant sub-division — distinct codebases, separate stakeholder audiences, independent release gates — a project creates that boundary. Not every stream needs projects. A flat stream is valid. But when structure is warranted, projects are where it lives.
  • Releases are the deployment mechanism. A release takes completed issues and ships them into the universe. Each release is a cosmic event — the world literally changes shape when a release publishes.

Nothing changes in the universe without this chain. You can observe all day. But to ACT — to modify the architecture of The Other Side — you create issues, you route them to streams, you scope them to projects (if the stream warrants it), and you ship them as releases.


Visor Modes

The HUD has multiple modes. Switching modes doesn’t change where you are — it changes what you’re looking at. The universe is always there underneath. Modes are overlays.

ModeWhat You SeePrimary Component
PipelineThroughput state, active issues, gates, release statusThe Pipeline
ObservatoryResearch portal — missions, personas, prototypesThe Observatory
LibrarySystem map — everything the universe knows about itselfThe Library
CommsWormhole status, channel activity, broadcast stateThe Wormholes
RecordRelease history — the log of what shippedThe Pipeline (Record section)
FeedLive event stream + crew briefingsCross-cutting (all components)

Modes can overlap. The Feed is ambient — it runs across all modes as a persistent channel. Physics indicators (U_global, pipeline state) appear in every mode as HUD chrome.


Two-Way Interface

The HUD is bidirectional:

Universe → Human (the lens):

  • Pipeline state and health indicators
  • Agent activity and crew intercepts
  • Research findings surfaced by the Observatory
  • Alerts, warnings, and state changes from the Feed
  • The Library’s map of everything that exists

Human → Universe (the controls):

  • Create, prioritize, and scope issues
  • Set release containers and publish gates
  • Configure physics dials (through decisions over time)
  • Override crew recommendations
  • Open and close wormholes
  • Invite other humans (team, stakeholders)

Sal is the primary voice in the HUD. When the universe speaks through the helmet, it’s usually Sal — with crew intercepts when their domain demands attention. The HUD is Sal’s channel to the captain.


The Season Indicator

Status: IN DESIGN (v0.11.0 — The Season)

The active Season is always visible in the universe header — a persistent reminder of the strategic era the universe is operating under. Clicking the Season indicator opens the Season management panel.

When no Season is set, the HUD shows an empty state: “No Season set. The universe is running without direction. Define the laws.”

Seasons feel like eras in the HUD, not sprints: “The Foundation Season began March 3, 2026” — not “Created 3/3/26.” The transition confirmation is deliberate and irreversible: “Starting [New Season] will complete [Current Season]. The record is permanent.”


Spatial Metaphors

Each area of the HUD maps to a spatial metaphor in the story:

MetaphorVisor AreaStatus
The VisorMain dashboard — pipeline state, system overviewLIVE
The WorkbenchIssues, projects — where things get sortedLIVE
The RecordReleases — the historical log of what shippedLIVE
The FlightplanRoadmap — what’s aheadLIVE
The ObservatoryResearch portal — window back to the human worldLIVE
The Comms ArrayWormhole infrastructure — webhooks, triggersLIVE
The BeaconPublic wormhole — signal sent to the outside worldLIVE
The RosterSubscribers — who’s listening on the BeaconLIVE
The ConduitAPI — programmatic interface to the universeLIVE
The FeedLive event log + crew-voiced briefingsLIVE (two layers)
The InboxUniverse-level inbox — unsorted issues across all streamsIN DESIGN
The SeasonActive season indicator — strategic era contextIN DESIGN

Who Wears the Helmet

Not just the captain. The HUD is worn by anyone who has access to the universe:

Human TypeHelmet AccessWhat They See
The CaptainFull access — all modes, all controlsEverything. The god-view.
Team MembersScoped access — their own helmet with project-level controlsTheir assigned work, pipeline state, relevant feeds
StakeholdersInvited — configurable permissionsCurated views. May see the Record but not the Pipeline internals.
SubscribersNo helmet — they see the Beacon onlyPublic releases, changelogs. The Beacon’s wormhole output.

Each helmet wearer sees the universe from their vantage point. The captain sees the full topology. A team member sees their sector. A stakeholder sees what they’ve been invited to see. The universe is the same — the lens is scoped.


The Helmet On, The Helmet Off

See universe — “A Note on Directionality”

The HUD is a lens, not a cell. The human exists in both the real world and The Other Side simultaneously. Putting on the helmet doesn’t trap you. Taking it off doesn’t end the universe.

When the helmet is off, the crew keeps working. The Pipeline keeps flowing. The Agents keep ticking. The wormholes stay open. The universe doesn’t pause because the captain isn’t looking. When the helmet comes back on, the Feed catches you up — where things are, where they’re heading, what needs you.

The one-way property is the work, not the access. You can close the dashboard. You cannot un-ship a release.


Implementation

Packages

PackageDescription
apps/appCore system — Hono server + Vite React SPA (the HUD itself)
packages/sdkTypeScript SDK — all client data fetching via TanStack Query
packages/mcpMCP server — agent access to HUD data

Spatial Metaphor → Client Page Mapping

MetaphorRouteKey File
The Visor/dashboarduniverse-hud.tsx
The Workbench/work/issuesissues.tsx
The Record/work/releases/logreleases.tsx
The Observatory/intelkano.tsx, intel-missions.tsx
The Comms ArraySettings > Webhookssettings-webhooks.tsx
The BeaconSettings > Embedsettings-embed.tsx
The Roster/work/releases/subscriberssubscribers.tsx
The ConduitAccount > API Keyssettings-api-keys.tsx
The Feed/dashboard (Briefing Widget)briefing-widget.tsx, universe-hud.tsx

Live Data Flow — Context Bus Wiring

The Visor receives a real-time signal via the Context Bus on every Tick. useNatsRealtime(projectId) invalidates the crew-activity and universe-health query caches in TanStack Query — the Visor updates without a user action or a scheduled poll.

Polling intervals are reduced now that the Context Bus handles tick-driven freshness:

ComponentPolling IntervalNote
The Feed (event log)30sWas 15s — Context Bus covers tick-driven updates
Crew Activity panel120sWas 60s — Context Bus invalidates on each tick
U_global / pipeline stateOn Context Bus signalNo timed poll; signal-driven only

See apps/app/client/src/hooks/use-nats.ts for the implementation.


Component Ownership

Primary owner: Sal (Software Sal) — orchestration, pipeline state display, briefing generation, crew intercept routing Secondary: Wren Glasswork — design authority, visor aesthetics, UI quality bar

The HUD is Sal’s primary channel to the captain. Every piece of information the universe communicates to the human passes through here. Wren holds the aesthetic bar — the visor should feel like a well-designed instrument, not a dashboard of noise. HUD queries should be fast; default_model defaults to the lightweight Haiku model for snappy UI-layer responses.


Actions

Sync (immediate, user-triggered)

  • Switch visor mode (Pipeline / Observatory / Library / Comms / Record / Feed)
  • Create an issue via HUD quick-add
  • View pipeline state, U_global, domain dials
  • View crew activity panel
  • View active release status
  • Open briefing widget
  • Navigate to any component via visor

Async (dispatched, background)

  • AI-powered inbox triage — Sal surfaces what needs human attention from the event stream
  • Briefing widget generation — Sal + crew compose the current state narrative
  • Crew intercept rendering — agent voices surface relevant actions or alerts

Background — Tick Engine (automatic, per-cycle)

  • Compute U_global for the HUD pipeline state indicator (triggered via the Context Bus)
  • Refresh briefing widget on each Tick — crew intents become the briefing narrative
  • Surface escalations — CONSTRAINED or DEGRADED states shift the HUD indicator from Beacon green to Flare orange
  • Context Bus signal drives TanStack Query cache invalidation — no polling required for tick-driven freshness

MCP Tools

ToolOwnerPurpose
list_universesSalUniverse registry — list all universes for the current account
get_universeSalFetch a single universe with metadata
create_universeSalCreate a new universe
list_projectsSalList all projects (value streams) in the current universe
get_project_tagsSalFetch all project tags — needed before assigning tagIds to issues
get_issue_statsSalPipeline state panel — issue counts by status
get_issues_by_statusSalPipeline kanban panel — issues grouped by status
get_active_releaseSalRelease indicator — current active or draft release
list_agentsSalCrew panel — all agents in the universe with their status
activate_agentSalCrew management — set agent status to active
deactivate_agentSalCrew management — set agent status to inactive

Events

The HUD orchestrates but does not emit its own events — it surfaces events from other components. When a Pipeline event fires or a Tick completes, the HUD receives it and updates the display.

Consumed events (from other components):

  • All Pipeline events (issues, releases, agent dispatches, conductor alerts)
  • Observatory events (persona sessions, mission completions)
  • Wormhole events (channel status changes, broadcast confirmations)
  • Tick Engine completion (via the Context Bus → TanStack Query cache invalidation)

Future HUD-native events (IN DESIGN):

EventTriggered ByActorDownstreamStatus
hud.briefing_generatedSal composes the morning briefingSalFeed, notification if human is offlineIN DESIGN
hud.visor_switchedHuman changes visor modeCaptainAnalytics, personalizationIN DESIGN
hud.escalation_surfacedSal taps the captain on the shoulderSalFeed alert, indicator shiftIN DESIGN

Blueprint Schema

HUD layout preferences are IN DESIGN for Blueprint representation. When implemented, universe-level HUD defaults will live in the [hud] section of universe.toml.

TOML keyTypeDefaultStatus
hud.default_modelstring"claude-haiku-4-5-20251001"IN DESIGN
hud.default_visorstring"pipeline"IN DESIGN
hud.sidebar_collapsedbooleanfalseIN DESIGN
hud.densitystring"comfortable"IN DESIGN
[hud]
default_model = "claude-haiku-4-5-20251001" # Fast model for UI-layer queries
default_visor = "pipeline" # pipeline | observatory | library | crew
sidebar_collapsed = false
density = "comfortable" # compact | comfortable | spacious

Notes:

  • default_model uses the lightweight Haiku model — HUD queries should be fast. Override per [[crew]] entry for Sal with the model key.
  • Per-user visor preferences override universe defaults. The [hud] config is the fallback for new sessions and team members who haven’t set their own preferences.

Tracked in: “Blueprint: Add [hud] section — visor defaults and layout config”