Two small contract corrections that had been sitting unlanded inside a stale branch (closed PRs #94/#96, which were authored in the wrong checkout and duplicated work that had already shipped elsewhere). Landing them properly, with the claims checked against the live systems.
Changes (2 files, +8/-1)
pm2-self-heal.prose.md: adds the AS-BUILT note - gpu-monitor is systemd-managed (gpu-monitor.service), NOT PM2; gpu-watchdog is decommissioned and folded into that service; gitea-runner and abiba-zulip are KEPT; and spoton-service was deleted with its app, so the live PM2 set is four processes (abiba-telegram, abiba-zulip, gitea-runner, zulip-watchdog). The remaining spoton reference is labelled as historical context for the crash-loop guard rather than a live process. This closes backlog row pm2-contract-spoton-drift-20260912.
litellm-health.prose.md: the Prometheus node job covers six addresses (.4/.5/.6/.9/.12/.15), not five, and the line now states that .4:9100 is a DEAD target (no route, down for weeks, not a live node) so the sentence cannot be read as six healthy nodes.
Verification performed
Live PM2 set read from CT 100 (pm2 list): four processes online - abiba-telegram, abiba-zulip, gitea-runner, zulip-watchdog.
Prometheus target list read from CT 116: the node job lists the six addresses, .4:9100 down with "no route to host" while the others are up.
Three-dot diff against master: exactly the two files.
Reviewers: confirm the pm2 line matches the live pm2 list output and that nothing in the contract still asserts spoton-service is a live process; and confirm the Prometheus line matches the live target list, including the dead-target note.
Two small contract corrections that had been sitting unlanded inside a stale branch (closed PRs #94/#96, which were authored in the wrong checkout and duplicated work that had already shipped elsewhere). Landing them properly, with the claims checked against the live systems.
## Changes (2 files, +8/-1)
- **`pm2-self-heal.prose.md`**: adds the AS-BUILT note - `gpu-monitor` is **systemd**-managed (`gpu-monitor.service`), NOT PM2; `gpu-watchdog` is decommissioned and folded into that service; `gitea-runner` and `abiba-zulip` are KEPT; and `spoton-service` was deleted with its app, so the live PM2 set is four processes (abiba-telegram, abiba-zulip, gitea-runner, zulip-watchdog). The remaining spoton reference is labelled as historical context for the crash-loop guard rather than a live process. This closes backlog row pm2-contract-spoton-drift-20260912.
- **`litellm-health.prose.md`**: the Prometheus node job covers **six** addresses (.4/.5/.6/.9/.12/.15), not five, and the line now states that **.4:9100 is a DEAD target** (no route, down for weeks, not a live node) so the sentence cannot be read as six healthy nodes.
## Verification performed
- Live PM2 set read from CT 100 (`pm2 list`): four processes online - abiba-telegram, abiba-zulip, gitea-runner, zulip-watchdog.
- Prometheus target list read from CT 116: the node job lists the six addresses, `.4:9100` down with "no route to host" while the others are up.
- Three-dot diff against master: exactly the two files.
Reviewers: confirm the pm2 line matches the live `pm2 list` output and that nothing in the contract still asserts spoton-service is a live process; and confirm the Prometheus line matches the live target list, including the dead-target note.
pm2-self-heal.prose.md:
- Add AS-BUILT note: gpu-monitor is systemd-managed, NOT PM2
- gpu-watchdog is decommissioned and folded into gpu-monitor.service
- gitea-runner is KEPT; abiba-zulip is KEPT (online for days)
- spoton-service was deleted; live PM2 set is 4 processes
- Preserve historical context for crash-loop guard
litellm-health.prose.md:
- Correct Prometheus node coverage: 6 nodes (.4/.5/.6/.9/.12/.15:9100)
- Note .4:9100 is DEAD target (no route, down for weeks)
- Clarify this does not read as 6 healthy nodes
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Two small contract corrections that had been sitting unlanded inside a stale branch (closed PRs #94/#96, which were authored in the wrong checkout and duplicated work that had already shipped elsewhere). Landing them properly, with the claims checked against the live systems.
Changes (2 files, +8/-1)
pm2-self-heal.prose.md: adds the AS-BUILT note -gpu-monitoris systemd-managed (gpu-monitor.service), NOT PM2;gpu-watchdogis decommissioned and folded into that service;gitea-runnerandabiba-zulipare KEPT; andspoton-servicewas deleted with its app, so the live PM2 set is four processes (abiba-telegram, abiba-zulip, gitea-runner, zulip-watchdog). The remaining spoton reference is labelled as historical context for the crash-loop guard rather than a live process. This closes backlog row pm2-contract-spoton-drift-20260912.litellm-health.prose.md: the Prometheus node job covers six addresses (.4/.5/.6/.9/.12/.15), not five, and the line now states that .4:9100 is a DEAD target (no route, down for weeks, not a live node) so the sentence cannot be read as six healthy nodes.Verification performed
pm2 list): four processes online - abiba-telegram, abiba-zulip, gitea-runner, zulip-watchdog..4:9100down with "no route to host" while the others are up.Reviewers: confirm the pm2 line matches the live
pm2 listoutput and that nothing in the contract still asserts spoton-service is a live process; and confirm the Prometheus line matches the live target list, including the dead-target note.