Skip to content

Remove systemd from Backplane: agents and work_run run as plain processes, restarts are picked back up - #60

Merged
i2cjak merged 2 commits into
mainfrom
backplane/no-systemd
Oct 11, 2026
Merged

i2cjak merged 2 commits into
mainfrom
backplane/no-systemd

Conversation

@i2cjak

@i2cjak i2cjak commented Oct 11, 2026

Copy link
Copy Markdown
Owner

Backplane no longer uses systemd for its own work. Keeping work going across restarts is Backplane's job: when a process dies or the hub restarts, the thread picks back up.

  • Agents (claude, codex, grok) start as plain child processes again. The bp-agent-* scopes, the memory-limit setting, the stale-scope cleanup at startup and the systemctl show diagnosis are all removed (src/core/contain.bend deleted). An agent killed by SIGKILL now reads "agent was killed (signal 9, likely out of memory)" (Exit.why, law exit_why_killed). Lost work is told and resumed as before.
  • work_run jobs run as detached setsid processes, never as bp-<id> units. If a restart cuts one off, it reads as lost, the agent is told and can start it again. work_watch follows a pid or a file; the systemd unit kind is gone. Stop and check still verify the process identity first.
  • The agents' prompt and the tool descriptions no longer mention systemd or a memory limit.
  • The contain_* laws are removed with the code they covered, at the user's request. No other law is touched.

Tests: scripts/check.sh (All terms check), scripts/test.sh 89/89, native build. e2e pass: watch, watch_scripts, restart_work, restart, spawn_gen, exit, wake, retire, durable, prep, live, stall. far_e2e and agents_far_e2e fail at "they pair by themselves", and fail the same way on a build of unmodified main, so the failure predates this change.

@i2cjak
i2cjak merged commit b3629a6 into main Oct 11, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant