majordomus session
One open session per provider session, not per worktree: a second window of the same provider gets an episode of its own under state/sessions-open/, and session-current.yaml points at the episode of this checkout. The open record is never tracked. A closed record is an envelope of references selected by the session stamp on each ledger line, never by a time range. start freezes the resolved context into the local working-context store as an opening snapshot, and `session context` composes the live working context on every read instead of returning that file: the episode's identity, git now against git at the open, and the checkpoints, decisions and questions the episode recorded, taken from the ledger lines carrying its own session id. `--path` prints the snapshot instead. A closed record's body is composed the same way and is never empty; where the episode recorded nothing authored, the record says so and names the command that would have recorded it. --if-open and --if-none are what let a provider hook run the open and the close on every event. archive moves the oldest closed records beyond the policy's session.retention_max_files into the section's archive/ directory, only when it is run and only when session.archive is true; it deletes nothing and refuses before the first move when a record of that name is already archived.
What it is
local mutationOpen, inspect and close one execution episode.
- Identity
tool.session- Program
- tool
- Runs
- interactive
- Requires
- repositorylayer
Where it appears
- Command line
majordomus session- Workflow
just session- MCP tool
- —
- HTTP
- —
- Declared in
share/commands.yaml- Capability
- —