Skip to content

landing-survives-any-session — Landing green work survives any session, any restart and any machine

Landing green work on master never waits on a person or on one session staying alive.

PLANNED 0 of 6 issues done

ready
2
blocked
4
active
0
verify
0
done
0
cancelled
0

Problem

On 2026-10-22 a machine restart ended the landing seat, the release seat and the loop that landed green trains; the executor that exists, majordomus prs drain, had merged nothing since 2026-10-11, its trail and lease were one clone's, and the auto-mode classifier refused every landing a session tried. Green work waited for hours until the owner fast-forwarded master by hand.

Outcome

Landing green work on master never waits on a person or on one session staying alive.

Current state

Landing is a loop inside one session reading a queue file in one home directory; prs drain lands one pull request at a time with a merge commit and keeps its audit trail in .git/majordomus/integration/events.jsonl of one clone; a seat whose holder died stays vacant; standing approvals live in one machine's ~/.claude/settings.json; train order lives in ~/.cache/mj-a3.

Desired state

Every criterion of the intent is carried by an issue here and proven by its test.

Scope

  • apps/majordomus-cli/src/integration
  • apps/majordomus-cli/src/mesh
  • apps/majordomus-cli/src/autonomy
  • .ai/repo/rules/project
  • docs/INTEGRATION.md
  • docs/MESH.md

Acceptance criteria

  • Every landing on master, a combined top included, is a fast-forward made by majordomus prs drain; none is made by hand, by --admin or by a loop that lives in one session
  • The executor reads its audit trail, its halt and its lease from origin, so a clone that takes over starts with the same verified count and the same halt, and a holder whose lease expired is refused before it lands
  • A seat whose holder stopped beating is reported vacant within one expiry and offered to live sessions by capability, and the session that accepts it resumes from the newest handover for that seat
  • The executor runs as a user service outside every agent session; an exit that is not a halt or a refusal is restarted, and a halt or refusal is not
  • A standing approval of the owner is one dated, owner-attributed record in the repository, every machine says whether its settings carry it, and only the owner, interactively, writes it
  • A combined top is composed by a typed command from members declared in a tracked train manifest, and two machines compose the same pre-derive tree from it

Validation

  • bin/majordomus plan validate
  • bin/majordomus intent validate

Evidence required

  • one_executor
  • state_on_origin
  • vacant_seat_is_taken
  • survives_a_restart
  • approvals_are_declared
  • trains_are_composed

Issues

Each one is an execution contract with its own acceptance criteria, validation command and required evidence. The wave column is the layer of the dependency graph it sits in.

issuestatuswavedepends ontitle
I3910 READY 0 — The integration executor fast-forwards master to every green head, a combined top included, and nothing else lands
I3911 READY 0 — The executor reads its audit trail, its halt and its lease from origin, so any clone continues it and a stale holder is refused
I3912 BLOCKED 2 I3174, I3182, I3198 A seat whose holder stopped beating is reported vacant and offered to live sessions by capability
I3913 BLOCKED 2 I3910, I3911, I2722 The executor runs as a user service outside every agent session, restarted after a crash and never after a halt
I3914 BLOCKED 1 I3910 A standing approval is one owner-attributed record in the repository, each machine reports whether it carries it, and only the owner writes it
I3915 BLOCKED 1 I3910 A combined top is composed by a typed command from members declared in a tracked train manifest

The graph

landing-survives-any-session dependency graphfrom .ai/repo/project
flowchart LR
    I3910["I3910<br/>The integration executor fast-forwards master to every green head, a combined top included, and nothing else lands"]:::ready
    I3911["I3911<br/>The executor reads its audit trail, its halt and its lease from origin, so any clone continues it and a stale holder is refused"]:::ready
    I3912["I3912<br/>A seat whose holder stopped beating is reported vacant and offered to live sessions by capability"]:::blocked
    I3913["I3913<br/>The executor runs as a user service outside every agent session, restarted after a crash and never after a halt"]:::blocked
    I3914["I3914<br/>A standing approval is one owner-attributed record in the repository, each machine reports whether it carries it, and only the owner writes it"]:::blocked
    I3915["I3915<br/>A combined top is composed by a typed command from members declared in a tracked train manifest"]:::blocked
    I3910 --> I3913
    I3910 --> I3914
    I3910 --> I3915
    I3911 --> I3913
    classDef done stroke:#16a34a,fill:#dcfce7,color:#14532d,stroke-width:2px
    classDef active stroke:#2563eb,fill:#eff6ff,color:#1e3a8a,stroke-width:2px
    classDef verify stroke:#7c3aed,fill:#f5f3ff,color:#4c1d95,stroke-width:2px
    classDef ready stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef planned stroke:#0891b2,fill:#ecfeff,color:#164e63,stroke-width:2px
    classDef blocked stroke:#b45309,fill:#fffbeb,color:#78350f,stroke-width:2px
    classDef cancelled stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px
    classDef superseded stroke:#6b7280,fill:#f9fafb,color:#374151,stroke-width:2px

Canonical record: .ai/repo/project/milestones/landing-survives-any-session.yaml. Read it back with majordomus plan show landing-survives-any-session.

Searches the titles and descriptions of every page this site publishes.