Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

I3913 — The executor runs as a user service outside every agent session, restarted after a crash and never after a halt

majordomus prs service install, run by the owner, writes a user service (launchd on macOS, systemd --user on Linux) through the one unit writer I2722 owns, running prs drain --continuous for this checkout; prs service status and uninstall manage it. The unit restarts the executor after an exit that is a crash or an outage, and never after a halt (an unverified landing) or a refusal, which keeps the halt of ADR 0101 D7 and the outage bound (CONTINUOUS_TRANSIENT_LIMIT, drain.rs:1886) in force. It logs under the local half and is never written without the owner running the command.

BLOKOVÁNO vlna 2 · p0 · profil implementation · běží samostatně

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

Blocked. This issue cannot start until I3910, I3911, I2722 are done. The status is derived from that, not declared.

Cíl

majordomus prs service install, run by the owner, writes a user service (launchd on macOS, systemd --user on Linux) through the one unit writer I2722 owns, running prs drain --continuous for this checkout; prs service status and uninstall manage it. The unit restarts the executor after an exit that is a crash or an outage, and never after a halt (an unverified landing) or a refusal, which keeps the halt of ADR 0101 D7 and the outage bound (CONTINUOUS_TRANSIENT_LIMIT, drain.rs:1886) in force. It logs under the local half and is never written without the owner running the command.

Proč

The landing loop of 2026-10-20 to 2026-10-22 lived inside an agent session, so it died with the session and the machine, and every landing a session attempted met the auto-mode classifier. A service outside agent sessions answers both; a review of this plan found that a service restarting without limit would undo the halt.

Aktuální stav

No launchd or systemd unit for the executor exists; prs drain runs only on demand; I2722 plans the user-unit writer for the hub.

Cílový stav

After install the executor runs and lands the next green head; killing it restarts it; a halt or a refusal leaves it stopped and status says why; uninstall leaves nothing behind.

Rozsah

  • apps/majordomus-cli/tests/integration_executor.rs
  • apps/majordomus-cli/src/integration
  • apps/majordomus-cli/src/commands/prs.rs
  • apps/majordomus-cli/src/cli.rs
  • docs/INTEGRATION.md
  • .ai/repo/project/issues/I3913.yaml

Závislosti

Kritéria přijetí

  • install writes one unit naming this checkout through I2722's writer; a second install changes nothing
  • A killed executor is restarted; an exit by halt or refusal is not (case a_halted_executor_is_not_restarted, proven without a service manager)
  • status reports running or not, the last decision and its time; uninstall removes the unit

Validace

  • bin/majordomus plan validate
  • env -u MAJORDOMUS_SHARE cargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib -- integration::
  • env -u MAJORDOMUS_SHARE cargo test --manifest-path apps/majordomus-cli/Cargo.toml --test integration_executor

Požadované důkazy

  • survives_a_restart

Důkazy

Nic nezaznamenáno. Za každým tokenem výše musí stát příkaz nebo artefakt, než lze tento úkol dokončit; vyprávění se odmítá.

Časová osa

zahájeno
—
ověřeno
—
dokončeno
—

Tato tři pole, důkazy výše a stav závislostí jsou vše, z čeho se stav skládá. Neexistuje žádné pole stavu, které by s nimi mohlo být v rozporu.

Canonical record: .ai/repo/project/issues/I3913.yaml. Read it back with majordomus plan show I3913.

Prohledává názvy a popisy všech stránek, které tento web publikuje.