todo: OPM — officer's processes on a manager of their own
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
---
|
||||
id: infra/opm-officer-s-own-process-manager
|
||||
title: "OPM — Officer's own process manager, or at least its own PM2"
|
||||
theme: infra
|
||||
status: open
|
||||
created: 2026-08-21
|
||||
date_source: stated
|
||||
order: 0
|
||||
---
|
||||
|
||||
**OPM — Officer's own process manager, or at least its own PM2.** Raised 2026-08-21. Taken as: give
|
||||
Officer's processes a manager of their own, **named OPM**, rather than sharing one daemon with whatever
|
||||
else lives on the host — worth doing for separation of concerns alone, even without any new capability.
|
||||
|
||||
The argument is that Officer is now a fleet of processes, not a process. `pm2 jlist` counts **13 officer
|
||||
entries on `officer-dev` and 19 on `alpha`** (verified 2026-08-21), and every one of them is a peer of
|
||||
the server rather than a child of it. They are managed today by a generated `ecosystem.config.cjs`
|
||||
(`bun run gen:ecosystem`) on a PM2 daemon that belongs to the login user, not to Officer.
|
||||
|
||||
What sharing costs, all of it already written down in `CLAUDE.md`: `pm2 restart ecosystem.config.cjs`
|
||||
bounces **every** sidecar including the vault, so the safe habit is `--only <name>` and the unsafe one
|
||||
looks identical; a `pm2 list` mixes Officer's processes with other projects' and the rule "nothing here
|
||||
should touch them" is a convention rather than a boundary; and the documented list of entries goes stale
|
||||
every time a sidecar lands, because nothing owns it. **Note the foreign-process case is host-dependent** —
|
||||
`mybiblepal-api` and `mybiblepal-audio` are named in `CLAUDE.md` as sharing this daemon, and neither is
|
||||
running on `officer-dev` or `alpha` today.
|
||||
|
||||
Open, and the owner's call: whether OPM is a genuinely new supervisor or PM2 kept underneath with its own
|
||||
daemon, namespace and CLI wrapper — which would buy the separation at a fraction of the cost, since the
|
||||
`ecosystem.config.cjs` generation, the naming convention and the restart discipline all already exist.
|
||||
Reference in New Issue
Block a user