docs(memory): SVOS/Miranda fully live; bank two restart patterns from svos-dev

svos-dev restarted :8770 at 02:17 and both roster lines printed clean. Confirmed
from this side rather than taken on their word: :8770 answers 200 on the new pid,
an unauthenticated Bifrost dispatch gets 401, and Hermes reports 29 toolsets with
svos_miranda the sole enabled=True row.

Two patterns from their restart that generalise past this service.

A dry-run boot against the still-held port: start the new process while the old
one still owns the socket, and it proves every check above the bind before dying
on EADDRINUSE. Zero downtime, no commitment, and it turns a one-way restart into a
rehearsed one. Worth doing for any service whose startup validates before binding.

And a trap: SIGTERM released the port but left the process alive for 35 seconds,
needing SIGKILL. The port was free that entire time, so a script waiting on port
availability would have started the replacement alongside a still-running old
process. Kill by PID and wait on the PID, never on the port - a freed port is not
evidence of a dead process, the same way an unreachable post office is an outage
rather than an empty inbox.
This commit is contained in:
vh
2026-09-15 02:20:10 -07:00
parent 406769e64b
commit 01f0014489
2 changed files with 31 additions and 0 deletions
@@ -59,6 +59,35 @@ expected refusal — which looked like the plugin's collision reading was wrong.
was not: doctor's sandbox holds no built-ins, so nothing was claimed and **my
positive case was not positive.** Reported as untested rather than as a finding.
## ✅✅ FULLY LIVE 2026-09-15 02:17 — SVOS restarted, roster verified both ends
svos-dev restarted `:8770` (pid 3931403; the pre-cutover process running since 09-09 is
gone) and both startup lines printed clean:
hermes roster required: platform_toolsets[api_server] = ['svos_miranda'] ;
agent.disabled_toolsets NOT required
hermes roster verified: ('svos_miranda',) -> [the eight]
**Independently confirmed from this side**, not taken on their word: `:8770` → 200,
pid matches, an unauthenticated Bifrost dispatch → **401** (wall armed), and Hermes
reports 29 toolsets with `svos_miranda` the sole `enabled=True`.
### ⭐⭐ Two ops patterns from their restart — both generalise well past SVOS
**1. Dry-run boot against the still-held port.** They ran `python -m server` while the
OLD process still held `:8770`. It printed both roster lines and restored the thread,
then died on `[Errno 98] address already in use`. **Every check above the bind proven,
zero downtime, before touching anything.** It converts a one-way restart into a
rehearsed one and costs nothing. Adopt for any service whose startup does meaningful
validation before it binds.
**2. ⚠⚠ SIGTERM released the port but did NOT end the process.** It sat in shutdown for
**35 seconds** and needed SIGKILL — and **the port was free that whole time.** A script
that waits on the port would have started the replacement alongside a still-live old
process. ⭐ **Kill by PID and wait on the PID, never on the port.** Same family as
*an unreachable post office is an OUTAGE, not an empty inbox*: a freed port is not
evidence of a dead process.
## ✅ LIVE 2026-09-15 02:10 — gateway restarted, plugin registered
`GET /v1/toolsets` = **29 rows including `svos_miranda`**. An api_server session