The idle JARVIS HUD: a segmented glowing core ring on a perspective grid, time at top left, SYSTEM HEALTHY at top right.

The HUD

One heads-up display shows what JARVIS is doing and what is true. Every value carries its source and the instant it was observed, missing data is shown as missing, protected surfaces belong to the owner, and the project publishes its low fidelity scores alongside its accessibility results.

LIVE-PROVEN , rung 6 of 8 Widget operations were driven live on 16 September 2026 (a historical reading). Accessibility audits are TESTED. Recovery after a lost link was not verified live, performance is not yet measured, and the project's own fidelity gate is not met.

PARTIAL Parts of this system sit at different rungs. The breakdown below shows each one.

As of
Parts tracked
7
Catalogued capabilities
9
On the unmerged branch
1
Real capture, captured 22 September 2026. The live HUD with nothing asked of it, 22 September 2026. The top right reads HEALTHY because every producer it consults answered inside its window. ShowsThe HUD renders at 60 fps on the real machine and reports system health from live producers. Does not showAn idle state only; nothing is being done.
What happens, step by step
  1. 0:00 Live HUD · idle

Captured at revision 893913a9c

The idle JARVIS HUD: a segmented glowing core ring on a perspective grid, time at top left, SYSTEM HEALTHY at top right.
Real capture, captured 22 September 2026. The live HUD at rest, 22 September 2026.

Captured at revision 893913a9c

The diagnostics panel: system healthy, mic available, camera unknown, core idle, CPU, RAM and disk readings, events per minute, and health sampler unavailable.
Real capture, captured 22 September 2026. Live readings with their reasons, including the one producer that had no validated observation.

Captured at revision 893913a9c

The JARVIS HUD at idle: a circular core in the centre, a citations widget and a projects widget on the left, and a conversation widget on the right stating that no turn has completed yet.
Real capture, captured 13 September 2026. Baseline ONE HUD with widgets. Empty states are stated in words: an empty turn log 'is not the same as the loop being down'.
Two HUD panels: an engineering panel marked unavailable that lists calculated model overlays, and a 3D model widget with a wireframe cube assembly.
Real capture, captured 22 September 2026. The HUD on 22 September 2026 while the system reported DEGRADED. The engineering panel shows its data as unavailable rather than inventing values.

Status breakdown

Where each part stands

1 live-proven 1 integrated 2 tested 3 implemented

  1. ONE HUD widget operations Capability model HUD row, 2026-09-16: widget open, close and all operations driven live. Historical.
    LIVE-PROVEN , rung 6 of 8 OBSERVED Where: Production branch
  2. 3D engineering scene in the HUD three.js scene backed by the scene store. Not merged into production.
    INTEGRATED , rung 4 of 8 FIXTURE Where: Advanced Systems branch (not merged)
  3. Truth contract: source and observed instant on every cell A no-synthetic-data test fails any panel that renders a hard-coded value. Registry HUD rows TESTED, since decayed to NOT_PROBED_THIS_PASS.
    TESTED , rung 3 of 8 TESTED Where: Production branch
  4. Accessibility axe-core over 62 views: 0 WCAG A/AA violations. Keyboard walk over 58 views at two resolutions: 0 findings.
    TESTED , rung 3 of 8 TESTED Where: Production branch
  5. Recovery after a lost link Link loss is declared after 3 missed polls; recovery was not verified live.
    IMPLEMENTED , rung 2 of 8 NONE Where: Production branch
  6. Visual fidelity Twelve-category self-assessment averaged 2.43/10 (minimum 1.42) against a gate above 9.0, scored on an older surface. Gate not met.
    IMPLEMENTED , rung 2 of 8 RECORDED Where: Production branch
  7. HUD performance Recorded as NOT YET MEASURED in the HUD acceptance document.
    IMPLEMENTED , rung 2 of 8 NONE Where: Production branch

Pipeline

How it flows

From producers to pixels and back

  1. Producers core, conversation, perception, missions
  2. Channel readings and events
  3. Binder resolves every value with its source
  4. State envelope and PresentationController (can stop the request)
  5. GET /one/state polled every second
  6. Renderers core, widgets, spatial
  7. Owner input POST /command
  8. E-stop check (can stop the request)
  9. Governance chain (can stop the request)
The page renders server state; owner input goes back through the command spine.

Diagrams are simplified from the code paths named in the sources below. They are illustrative, not screenshots.

A display on an AI system is a strong claim-making surface. A green light, a gauge or a temperature reading all tell the viewer something is true. JARVIS’s HUD is built on the idea that it should say only what the system can back up, and should say clearly when it cannot.

One HUD

There is one page, served at the root of a loopback-only HUD port. What look like separate screens are internal layout contexts called workspaces, not separate windows. The page is built from plain JavaScript modules plus three.js for the spatial layer. It is hosted either in a browser kiosk or in a small Python shell on the system WebView2. Electron and Tauri were rejected for their GPU cost, on a card that also has to hold speech and language models. An earlier React and TypeScript HUD is no longer served by the runtime.

Why only one? Two displays can drift apart and show two versions of the truth. One of the project’s method lessons is that “Two panels that look alike are not the same panel.” A single surface with a single state source avoids that.

The truth contract

The HUD’s governing rule is “Nothing renders without a source and an observed instant.” In practice:

  • Every telemetry cell carries a data source and an observed time, and every widget payload carries a source and an observed UTC time.
  • Missing data shows as absent or unavailable, never as zero. A truthful “no reading” beats a plausible fake number.
  • Stale data is labelled stale. It may never be re-sent with a new timestamp.
  • Completed-but-unverified is never green. If an effect returned but the observer could not read it back, the HUD says COMPLETED-UNVERIFIED. A failed rollback shows ROLLBACK FAILED / OWNER ACTION, never success.
  • Backpressure may drop a superseded reading, never an event. Skipping an old temperature is fine. Skipping “approval requested” is not.

A no-synthetic-data test fails if any panel renders a hard-coded or placeholder value. Colours follow the truth distinction: computed or simulated values look different from measured ones, green means verified, healthy or complete, amber means attention, and red is reserved for critical, denied, unsafe or E-stop. The word is always shown alongside the colour.

States and widgets

JARVIS’s body is always in one of 21 named states, such as LISTENING, PLANNING, CONFIRMATION_REQUIRED, EXECUTING, SPEAKING, INTERRUPTED, DEGRADED, PRIVACY_LOCKED, ESTOPPED and RECOVERY_REQUIRED. Each of the 30 registered widgets has a presentation state: dormant, peek, expanded, focused or pinned. The page cannot invent a state. A server-side PresentationController decides which states are allowed, and the page can only render them.

Protected surfaces

Five surfaces belong to the owner alone: approvals, E-stop, identity, provenance and recording. No origin other than the owner can dismiss, restyle or cover them, including a model proposal, an automation or a widget heuristic. A widget the owner placed is never demoted by a heuristic. This matters because an approval prompt that something else could hide would not be a real safeguard.

Polling, not streaming

The HUD asks the server for its state once a second (GET /one/state). After three missed polls it declares the link lost and says so, rather than freezing on old values that look current.

Server-sent events (SSE) would have pushed updates instead. They were rejected because a held-open stream would tie up the HUD server’s single worker. A one-second poll costs little, and it makes a lost link something the HUD can detect and show.

Owner actions from the HUD go back to the same command spine as spoken commands. They read the E-stop first and then pass through the governance chain. The HUD has no private path to the world.

Accessibility

Status is never carried by colour alone. The HUD has aria-live regions for announcements, a labelled region for each telemetry cell, full keyboard control, and a reduced-motion mode that shows one still frame per state. Two audits are recorded:

Audit Scope Result
axe-core automated scan 62 views 0 WCAG A/AA violations
Keyboard walk 58 views at 2560×1440 and 1920×1080 0 findings

These are test results. Automated scans cannot catch every accessibility problem, and this site has no record of testing with people who rely on assistive technology.

Honest scores

The project scores its own HUD against a twelve-category fidelity rubric, with a gate that requires more than 9.0 out of 10. The recorded scores averaged 2.43, with a minimum of 1.42. The gate is not met. Those scores were recorded against an older version of the surface. This site has no score for the current page.

HUD performance is recorded in the project’s acceptance document as NOT YET MEASURED. This site does not claim any performance figure for it.

What is not proven yet

  • Live operation is historical. It is from 16 September 2026, and registry HUD rows have decayed to NOT_PROBED_THIS_PASS.
  • Recovery after a lost link was not verified live.
  • Performance is not yet measured.
  • The fidelity gate is not met. The average is 2.43/10 against a gate above 9.0, on an older surface.
  • Accessibility is supported by automated and keyboard audits only.
  • The 3D engineering scene is on the Advanced branch, not merged into production. See engineering.

Invariants

Rules the code enforces

  • Nothing renders without a source and an observed instant.

    docs/hud/HUD_BIBLE.md

  • A screenshot found what 3,131 tests could not.

    docs/constitution/METHOD.md

  • Two panels that look alike are not the same panel.

    docs/constitution/METHOD.md

Capabilities

Related capabilities

All 9 catalogued capabilities in this area

Sources

Sources

Paths are relative to the private JARVIS repository. They are listed so the claims above can be audited by the owner and reviewers; the files themselves are not published.

  • doc docs/hud/HUD_BIBLE.md
  • doc docs/hud/Z11_TRUTH_MAP.md
  • doc docs/hud/ONE_HUD_ACCEPTANCE.md
  • measurement docs/analysis/axe-audit-one-hud.md
  • ledger docs/ledger/BUILD_STATE.json hud_twelve_scores
  • doc docs/analysis/JARVIS_CAPABILITY_MODEL_2026-09-16.md