The missions panel: research mission SUCCEEDED, 3 of 3 steps, 120 s active budget, and a saved dossier revision with its evidence ID.

Missions: durable long-running work

Long requests become durable missions that are saved before the first step runs. Each step is governed and read back, failures are compensated newest-first, and after a restart JARVIS offers to resume but never resumes on its own.

LIVE-PROVEN , rung 6 of 8 Missions were driven live on the normal launcher on 16 September 2026, and journeys J2, J3 and J7 were verified live before 17 September 2026. Both are historical readings. Registry mission rows are TESTED, and surviving a machine reboot is not proven.

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

As of
Parts tracked
8
Catalogued capabilities
11
On the unmerged branch
1
Real capture, captured 22 September 2026. A three-step research mission on Artemis news: 3 of 3 steps succeeded in 2.7 s of active time, and the dossier was saved as a durable, revisioned receipt. ShowsMissions run as durable steps with dependencies, a time budget and a saved receipt. Does not showA short mission. Long-running missions across restarts are not shown here.
What happens, step by step
  1. 0:00 Asked: “Start a research mission on the latest Artemis news, and show me the missions panel.”
  2. 0:04 3 of 3 steps succeeded in 2.7 s of active time · dossier saved as a durable receipt

Captured at revision 893913a9c

The missions panel: research mission SUCCEEDED, 3 of 3 steps, 120 s active budget, and a saved dossier revision with its evidence ID.
Real capture, captured 22 September 2026. A finished mission and the durable receipt it left.

Captured at revision 893913a9c

Status breakdown

Where each part stands

2 live-proven 1 production-reachable 1 integrated 2 tested 2 implemented

  1. Durable mission engine and store Capability model MISSIONS, 2026-09-16: a four-step mission completed in 10.8 s, and status and failure questions were answered from the record. Historical.
    LIVE-PROVEN , rung 6 of 8 OBSERVED Where: Production branch
  2. Mission acceptance journeys J2, J3, J7 LIVE_VERIFIED from readings that predate 2026-09-17. Historical.
    LIVE-PROVEN , rung 6 of 8 RECORDED Where: Production branch
  3. Task simulation Body-matrix row A44. Output labelled SIMULATED / not_proof, with no effects.
    PRODUCTION-REACHABLE , rung 5 of 8 DOCUMENTED Where: Production branch
  4. Specialist checkpoints in the mission store Not merged into production.
    INTEGRATED , rung 4 of 8 FIXTURE Where: Advanced Systems branch (not merged)
  5. Admission, step loop, compensation, safe retries Registry mission rows are TESTED.
    TESTED , rung 3 of 8 TESTED Where: Production branch
  6. Bounded recovery after restart Body-matrix row A20. Unknown postconditions stay UNRESOLVED.
    TESTED , rung 3 of 8 TESTED Where: Production branch
  7. Survive a machine reboot CAP-MSN-07 is not proven. A process kill is explicitly not accepted as a substitute.
    IMPLEMENTED , rung 2 of 8 NONE Where: Production branch
  8. Intent contract for irreversible multi-step plans Known gap recorded 2026-09-18; later work targeted it. Whether it is closed is uncertain.
    IMPLEMENTED , rung 2 of 8 DOCUMENTED Where: Production branch

Pipeline

How it flows

A mission's life

  1. Request
  2. Acknowledgement reflex lane
  3. Persist saved before step one
  4. Admission capabilities evidenced; intent contract shown (can stop the request)
  5. Simulate (optional) SIMULATED / not_proof
  6. Step loop pause, approval, governance, handler, budget, read-back (can stop the request)
  7. SUCCEEDED or FAILED
  8. Compensation newest-first
  9. Spoken completion and HUD board
Every step writes its inputs, outputs and status as it happens.

After a restart

  1. Restart
  2. Recovery report mission and cursor offered
  3. Owner decides (can stop the request)
  4. Resume from cursor
Amber stations can stop the request.

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

A request like “tidy the downloads folder, then summarise what changed” is not one action. It is a sequence, and sequences get interrupted by restarts, failures, approvals that take a while, and the owner changing their mind. JARVIS runs such work as missions: durable records that survive interruption and can always explain where they are.

Durable from the first moment

The mission engine saves a mission to its SQLite store, in write-ahead-log mode, before step one runs. There is no separate checkpoint object. Instead, “every step’s inputs, outputs and status are written to SQLite as they happen”. Because the record is complete, a mission can be resumed without any of the language model’s conversational context. The state lives in the database, not in a prompt.

States

Level States
Mission PENDING, RUNNING, PAUSED, PAUSED_FOR_APPROVAL, SUCCEEDED, FAILED, CANCELLED, COMPENSATING, COMPENSATED
Step PENDING, RUNNING, SUCCEEDED, FAILED, SKIPPED, COMPENSATED

PAUSED_FOR_APPROVAL is its own state because waiting for the owner is normal, not a failure. A mission can sit there until the owner answers, and nothing in it runs in the meantime.

Admission

Before a mission runs, it must be admitted:

  1. One executor. A single-executor claim token ensures only one runner owns the mission.
  2. Capabilities. Every capability the mission needs must be evidenced by the capability twin, the system’s record of what currently works.
  3. Intent contract. Steps with consequences need an intent contract that was shown to the owner. It is versioned and cannot change while it executes.
  4. Conflicts. Clashes with the owner’s existing commitments are surfaced.

Admission exists so that a mission fails early and cheaply, at the start, rather than halfway through with some effects already applied.

The step loop

Each step goes through the same loop:

  1. Check for a pause or cancel.
  2. Pause for approval if the step needs one.
  3. Refuse to retry a step that is not idempotent.
  4. Persist the step’s state.
  5. Run the handler through the governance chain.
  6. Check the budget.
  7. Read the result back.

Budgets cover wall-clock time, model use, tokens, cost and tool calls. A stall detector catches work that is stuck or looping. Retries apply only to steps that are safe to repeat. Repeating a non-idempotent step, such as sending a message, could do the thing twice.

Failure and compensation

When a mission fails, compensation runs newest-first: the most recent completed step is undone first, then the one before it, and so on. Later steps often depend on earlier ones, so unwinding in reverse order avoids undoing something that a later step still relies on. Where the outcome of a step cannot be determined, its postcondition stays UNRESOLVED rather than being assumed.

Restart: offer, never auto-resume

After a restart, a recovery report lists each resumable mission with its cursor, the point where it stopped. JARVIS offers to resume, and it is “never resumed” automatically.

Why not resume automatically? A restart often means something went wrong. The situation that justified the mission may have changed, and a step that was mid-flight may or may not have taken effect. Resuming blindly could repeat an effect or act on stale assumptions. The owner decides, with the recovery report in front of them.

Simulation

A mission can be simulated before it runs. The simulation route returns a result labelled SIMULATED / not_proof and has no effects. The rule is explicit: “Simulation never grants authority or certifies effects.” A clean simulation does not let any step skip admission, approval or verification. See research for how simulation fits the wider predict-before-act behaviour.

A known gap: the intent ledger

Checkpoint notes from 18 September 2026 recorded that no production code constructed the IntentLedger, the component that holds intent contracts. As a result, multi-step plans containing an irreversible command were refused. That failure mode is safe, because nothing irreversible could slip through without a contract, but it blocked legitimate work. Later work targeted this gap. Whether it is fully closed is uncertain, and this page does not claim that it is.

Many hands, one mission

Missions can be split among specialist roles within fixed depth and fan-out limits. On the Advanced Systems branch, which is not merged into production, specialist progress is also checkpointed in the mission store. See agents.

What is not proven yet

  • Live readings are historical. The mission reading is from 16 September 2026, and the journeys are from before 17 September 2026.
  • Surviving a machine reboot is not proven. The project explicitly does not accept killing a process as a substitute for a real reboot.
  • The intent-ledger gap may or may not be closed.
  • Registry mission rows are TESTED, not live-probed.
  • Specialist checkpoints are on the Advanced branch only.
  • Journey J8, speech interrupted while a mission continues, is fixture-tested only.

Invariants

Rules the code enforces

  • every step's inputs, outputs and status are written to SQLite as they happen

    jarvis/missions/engine.py

  • Simulation never grants authority or certifies effects.

    docs/ledger/CURRENT_BODY_EVIDENCE_MATRIX.md (A44)

  • Incomplete attempts retain their last durable phase for explicit reconciliation; they are never replayed blindly.

    Advanced Systems CAD derivations (branch, not merged)

Capabilities

Related capabilities

All 11 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/analysis/JARVIS_CAPABILITY_MODEL_2026-09-16.md
  • ledger docs/orders/post-lm/ACCEPTANCE_JOURNEYS.json
  • ledger docs/ledger/CAPABILITY_TRUTH.json
  • ledger docs/ledger/CURRENT_BODY_EVIDENCE_MATRIX.md