Skip to content

Sessions, prompts and handovers that outlive the conversation

Task state, checkpoints, handovers, decisions and open questions live in files outside every conversation; a session opens and closes into an immutable record; the person's prompts are captured by the provider's own hooks; and the next episode is briefed from those records, labelled by how far git has moved since.

A session ends and the work does not: what the next worker needs is a typed record checked against git, not a transcript somebody hopes to find.

status
stable

What it does

A handover is an append-only record whose identity fields — branch, head, working tree, changed files — are computed from git and refused when a body tries to author them, and whose required sections are refused when empty. The next session resolves the right one for its worktree and branch, never a repository-wide newest note, and reads how far git has moved since as a label rather than a guess. Checkpoints are small by policy so they can be quoted whole into the next briefing.

A session is the episode itself: it opens when the provider says so, may span several tasks, and closes into a record that references what the episode produced and copies none of it. The provider's own lifecycle hooks draw that boundary, capture the person's raw prompts into the checkout-local half of the layer, and hand the opening episode a briefing built from what the last one left. Prompt assets in the repository are reusable framings, rendered against the task's state.

What it does not do

It stores no transcript and summarises none; the schemas have no field for one. It does not hook the worker's runtime beyond the events the provider publishes, and it does not decide what is worth remembering: the worker writes the required sections.

The capabilities behind it

The capability modules of the executable this feature names, each with the capabilities it composes. The command line, the HTTP route, the MCP tool and the reference beside every row are projections of one declaration, not four registrations.

Continuity continuity behaviorally verified

What this checkout's lifecycle is holding: the open episode, the record the next worker would resume from with the label that says how far to trust it, the newest progress note, and what is blocking acceptance. Read from the local half of the layer, which this process serves to the worker in front of it and never publishes.

apps/majordomus-cli/src/capability/builtin/continuity.rs

The commands that run it

  • majordomus context work · read-only

    What the next worker needs to know now, in authority order and within a budget.

  • majordomus checkpoint work

    Record compact progress inside the active task, so the next worker does not start over.

  • majordomus handover conclude

    Write an append-only continuation record, and resolve the most relevant prior one.

  • majordomus session begin

    Open, inspect and close one execution episode.

  • majordomus capture work

    Record the person's raw prompts from a provider hook as a record with its renderings, draw the episode boundary from the provider's own lifecycle hooks, install those hooks, and report what each provider actually does here.

  • majordomus prompt work · read-only

    List, show and render the repository's own prompt assets, substituting known tokens only.

The objects it is made of

Kinds of the layer. Each is a schema, a source class and a file on disk; the number beside it is what this repository holds today, counted at build time.

  • session11
  • prompt4

What it answers

Operational moments from the Why catalogue that name one of this feature's mechanisms. Nothing here was assigned: a moment appears because it names a rule, a command, a capability or a claim this feature also names.

The rules that hold it

What is guaranteed

Executable use cases