From 7c41c565771d0774d6b73585d8f1ddea610a9937 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Padez?= Date: Sun, 23 Aug 2026 20:31:13 +0000 Subject: [PATCH] officer.dev: the pm2 count tracks plugin installs, not releases MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fourteen while Minesweeper was installed, thirteen once it was removed, with no platform change either way — a plugin that declares a sidecar writes it into the generated ecosystem file. Says so now, so the next reader does not treat a change here as a platform change or expect two machines to agree. Co-Authored-By: Claude Opus 5 Officer-Session: 656f5c85-e49a-4f1f-b9f3-042a04b4d043 --- officer.dev/CLAUDE.md | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/officer.dev/CLAUDE.md b/officer.dev/CLAUDE.md index b440f3f..a5296e5 100644 --- a/officer.dev/CLAUDE.md +++ b/officer.dev/CLAUDE.md @@ -55,18 +55,26 @@ This file captures the **cross-cutting operational reality** that neither of tho process that runs `claude` was spawned by the main server, so PM2's tree-kill took it down every time. A restart now costs the agent a socket reconnect, not the session, and output produced while officer is down survives — the sidecar writes to `chat_session_events` itself. There is no `officer-claude`. -- **Officer is twenty PM2 entries** (verified 2026-08-07 with `pm2 jlist`): `officer`, - `officer-anthropic-proxy`, `officer-agent`, `officer-opencode`, `officer-email`, `officer-pty`, - `officer-vnc`, `officer-music`, `officer-vault`, `officer-slskd`, `officer-headscale`, - `officer-transmission`, `officer-invoiceshelf`, `officer-wallet`, `officer-photos`, `officer-notify`, - `officer-caldav`, `officer-memos`, `officer-jellyfin`, `officer-gitea`. - **`pm2 list` shows twenty-two** — `mybiblepal-api` and `mybiblepal-audio` are a different project sharing - this PM2 daemon, and nothing here should touch them. - Never `pm2 restart ecosystem.config.cjs` — it bounces every - sidecar including the vault. Use `--only `, or restart the single process the change needs. - This list goes stale every time a sidecar lands; `pm2 jlist` is the source of truth. +- **Officer is THIRTEEN PM2 entries here today** (verified 2026-08-23 by `bun run docs:check`, which fails + if this drifts): `officer`, `officer-anthropic-proxy`, `officer-atelier`, `officer-browser`, + `officer-caldav`, `officer-claude-code`, `officer-email`, `officer-marketplace`, `officer-notify`, + `officer-oas`, `officer-offscale`, `officer-opencode`, `officer-pty`. -## Environment (this machine) + **This number tracks PLUGIN INSTALLS, not platform releases.** It went to fourteen when Minesweeper was + installed and back to thirteen when it was removed, with no platform change either time — installing a + plugin that declares a sidecar writes it into the generated ecosystem file. Do not read a change here as + a platform change, and do not expect two machines to agree. + + It said "twenty" and listed a different set until 2026-08-23 — including `officer-vault`, `officer-slskd`, + `officer-headscale`, `officer-transmission`, `officer-invoiceshelf`, `officer-wallet`, `officer-photos`, + `officer-jellyfin`, `officer-gitea`, `officer-music`, `officer-vnc`, none of which run here, while omitting + six that do. That is what a hand-maintained list of processes becomes: accurate on 2026-08-07, and nobody + re-derives a list while editing the sentence around it. `mybiblepal-api` and `mybiblepal-audio` are also + gone; nothing shares this daemon today. + + Never `pm2 restart ecosystem.config.cjs` — it bounces every sidecar. Use `--only `, or restart the + single process the change needs. `pm2 jlist` is still the source of truth; the check exists so the copy + cannot silently stop matching it. - `OFFICER_ITEMS_DIR=/home/pastilhas/dockers/officer.dev/capabilities` ← items live here - `DATA_PATH=/home/pastilhas/dockers/officer.dev/data`