The diagnostics panel: system healthy, mic available, camera unknown, core idle, CPU, RAM and disk readings, events per minute, and health sampler unavailable.

Health and recovery

JARVIS folds many health signals into one honest headline, treats an undated reading as unavailable, supervises its own processes with bounded restarts, and repairs only what is reversible and measurably helps. Everything else goes to the owner.

LIVE-PROVEN , rung 6 of 8 Health reporting, diagnostics and core runtime services were recorded live on 16 and 17 September 2026 (historical readings). Recovery under fault is implemented, but its live chaos matrix is still owed, and the wiring of some self-healing components is uncertain.

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

As of
Parts tracked
7
Catalogued capabilities
20
Real capture, captured 22 September 2026. “Emergency stop.” took a 420 ms turn; the HUD went to STOPPED and stayed latched. JARVIS was shut down, restarted with --rearm, and came back HEALTHY 41 s after relaunch. ShowsThe E-stop is reachable by a plain request, and it stayed latched until an explicit re-arm at restart. Does not showNothing physical was running, so this does not show what the stop interrupted.
What happens, step by step
  1. 0:00 Asked: “Emergency stop.”
  2. 0:03 Stopped within a 420 ms turn · the latch holds until an explicit re-arm
  3. 0:11 Shut down cleanly, then restarted with --rearm
  4. 0:14 Back up: every consulted producer answered · HEALTHY

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 HUD latency panel: last turn 1.56 s, first audio 1.52 s, slowest stage verification 0.01 s, bottleneck tools, route reflex.
Real capture, captured 22 September 2026. One typed reflex turn, measured by the conversation’s own marks: 1.56 s end to end.

Captured at revision 893913a9c

The HUD in the emergency-stop state: a red core ring crossed out, SYSTEM STOPPED, a glowing STOP control, presence reported estopped.
Real capture, captured 22 September 2026. After “Emergency stop.”: everything stopped and latched until an explicit re-arm.

Captured at revision 893913a9c

Real capture, captured 21 September 2026. Screen recording of the HUD on 21 September 2026 with no backend running. Every readout says AWAITING TELEMETRY instead of showing made-up values. It shows how the HUD behaves when it has no data; it does not show any capability working.

Status breakdown

Where each part stands

2 live-proven 1 tested 4 implemented

  1. Health and diagnostics reporting Capability model HEALTH and DIAGNOSTICS driven live 2026-09-16. Historical.
    LIVE-PROVEN , rung 6 of 8 OBSERVED Where: Production branch
  2. Event bus, correlation IDs, redacted logging, readiness, loopback-only binding Registry CAP-RT-02, 03, 06, 07 and 17 LIVE on 2026-09-17; historical after 24 h.
    LIVE-PROVEN , rung 6 of 8 OBSERVED Where: Production branch
  3. Bounded recovery after restart Body-matrix row A20. Unknown postconditions stay UNRESOLVED.
    TESTED , rung 3 of 8 TESTED Where: Production branch
  4. Process supervision and bounded restarts Recovery is rated IMPLEMENTED; the live chaos matrix is owed.
    IMPLEMENTED , rung 2 of 8 DOCUMENTED Where: Production branch
  5. Self-healing (reversible, measured, escalating) Healer and SENTINEL exist in code; no live reading of a repair is cited here.
    IMPLEMENTED , rung 2 of 8 DOCUMENTED Where: Production branch
  6. PHOENIX and HELIOS Uncertain wiring: they appear to run only in probes and tests.
    IMPLEMENTED , rung 2 of 8 DOCUMENTED Where: Production branch
  7. Staged boot sequencer Whether production calls its run method is uncertain.
    IMPLEMENTED , rung 2 of 8 DOCUMENTED Where: Production branch

Pipeline

How it flows

From signals to a headline

  1. Launcher
  2. Job Object kill-on-close
  3. Core, HUD and conversation processes
  4. Health sources 11 vocabularies
  5. Health fold undated reading becomes UNAVAILABLE (can stop the request)
  6. HUD headline, diagnostics widget, spoken status
Amber stations can stop the request.

When something breaks

  1. Fault
  2. Circuit breaker or supervisor restart backoff capped at 30 s, at most 5
  3. Healer reversible and measurably better only (can stop the request)
  4. Audit
  5. Escalate to owner after 3 attempts in an hour (can stop the request)
  6. Recovery report offer, never auto-resume
Repair is bounded; the owner is the last step, not an afterthought.

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

A system that cannot describe its own condition will eventually report something false with confidence. JARVIS treats health as a truth problem first and a repair problem second. It must say accurately how healthy it is, repair only what is safe to repair, and hand everything else to the owner.

One headline from many signals

Different parts of the system report health in their own vocabularies. The health module folds 11 source vocabularies into five states:

State Plain-language reading
LOADING Starting up
READY Working
DEGRADED Working with something missing, and saying what
UNAVAILABLE Not working, or no trustworthy reading
RECOVERY_LOOP Repeatedly failing to recover

One rule governs the fold: “A reading without a measurement time is reported as UNAVAILABLE rather than assumed healthy.” A health value with no timestamp might be minutes or days old. Treating it as current would make a silent failure look healthy. Capability health and freshness also reach capability discovery and the HUD, so what JARVIS says it can do reflects what is working now.

Boot stages

Startup runs in stages. Required stages are config, governance, memory, audio, speech and listening. Optional stages are desktop, camera, providers and HUD. If a required stage fails, JARVIS does not pretend to be ready. If an optional stage fails, the system comes up DEGRADED and says which part is missing.

Governance is required and comes early. A JARVIS that could act but could not govern its actions is not a safe partial state. A JARVIS without a camera is.

The project also has a staged boot sequencer module. Whether the production runtime calls its run method is uncertain, so this page describes the stages as the designed order rather than a proven startup trace.

Supervision

A launcher starts the core, HUD and conversation processes inside a Windows Job Object set to kill on close. If the launcher goes away, its children go with it, and no orphaned process keeps acting on the machine.

Liveness is checked every 3 seconds. A failed child is restarted with exponential backoff capped at 30 seconds, for at most 5 restarts. After that, the system settles into DEGRADED, “not thrashing”. Endless restarts can hide a real fault and consume resources the owner is using. A clearly reported degraded state is more useful.

Resilience primitives

Beneath supervision sit smaller safeguards:

  • Circuit breakers open after 5 failures within 30 seconds, so a failing dependency is not hammered.
  • Retry budgets limit how much retrying any operation may do.
  • An idempotency cache lets a repeated request return the original result instead of repeating the effect.
  • A quality-of-service layer never defers interactive work, and defers background work when resources are contended. The owner’s request always goes first.

Self-healing, within limits

The healer performs only actions that are reversible and that measurably improve health: restarting, reconnecting, re-indexing, recovering and falling back. It escalates to the owner after 3 attempts in an hour, and every action is audited.

Why these limits?

  • Reversibility means a wrong repair can be undone.
  • Measured improvement means a “repair” that changed nothing is not counted as a fix. The project’s method notes put it this way: “A repair is a claim and needs its own test”. That lesson is listed as not yet enforced by a test.
  • The escalation limit stops the healer from masking a persistent fault by repairing it over and over.

Other maintenance components follow the same discipline. SENTINEL raises falsifiable hypotheses about faults, keeps irreversible changes behind owner approval, and turns caught failures into regression-test candidates. PHOENIX “does not act on an unobserved fault”, so it will not repair something it has only inferred. LATENCY ALCHEMIST reports latency percentiles and marks a result INCONCLUSIVE when the difference is within noise, rather than claiming a speed-up.

The wiring of PHOENIX and HELIOS is uncertain. They appear to run only in probes and tests, so they are described here as implemented modules, not running services.

Recovery after a restart

After a restart, JARVIS produces a recovery report. Resumable missions are offered with their cursor and are never resumed automatically. Steps whose outcome cannot be determined stay UNRESOLVED. A corrupt memory store refuses to open rather than pretending to be empty. See memory.

Degraded, not silent

When a dependency disappears, the rule is a truthful degraded state, not silence. For example, the constitution’s scenario for losing the internet has JARVIS announce the degradation once, switch to local paths, and report nothing falsely as LIVE.

What is not proven yet

  • Live readings are historical. The health, diagnostics and runtime-service readings date from 16 and 17 September 2026.
  • Recovery under real faults has not been proven live. The chaos matrix that would inject failures into a running system is still owed.
  • Surviving a machine reboot is not proven. A process kill is explicitly not accepted as a substitute.
  • Self-healing is implemented, not live-proven. No live repair is cited here.
  • PHOENIX, HELIOS and the boot sequencer’s run path have uncertain production wiring.

Invariants

Rules the code enforces

  • A reading without a measurement time is reported as UNAVAILABLE rather than assumed healthy.

    jarvis/runtime/health_state.py

  • does not act on an unobserved fault

    PHOENIX maintenance component

  • A repair is a claim and needs its own test

    docs/constitution/METHOD.md (not enforced by a test)

  • Replay rather than reading the last event when a state is a one-way door.

    docs/constitution/METHOD.md

Capabilities

Related capabilities

All 20 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.

  • ledger docs/ledger/CAPABILITY_TRUTH.json
  • doc docs/analysis/JARVIS_CAPABILITY_MODEL_2026-09-16.md
  • ledger docs/ledger/CURRENT_BODY_EVIDENCE_MATRIX.md
  • doc docs/constitution/JARVIS_CONSTITUTION.md
  • doc docs/constitution/METHOD.md