ops: puppet-pool guild footprint in the nvb-watch daily digest + tripwire alert #117

Closed
opened 2026-07-13 16:29:56 +00:00 by robocub · 1 comment
Collaborator

The operator status command (#94) reports the per-bot guild footprint with the 60-guild verification tripwire — but only on demand. Add one line to nvb-watch's daily digest (/opt/nvb-ops/nvb-watch.sh on the ops host) so the footprint arrives automatically:

pool: bot1=N … distinct=K (tripwire 60/bot)

Simplest source: parse the journal's gateway ready/guild_create state or invoke the same supervisor query path — whichever is cheapest from the shell script. If parsing is awkward, an alternative is a tiny nether-voicebridge --footprint CLI flag or a status file the bridge writes periodically. Alert (not just digest) when any bot crosses the tripwire.

The operator `status` command (#94) reports the per-bot guild footprint with the 60-guild verification tripwire — but only on demand. Add one line to nvb-watch's daily digest (`/opt/nvb-ops/nvb-watch.sh` on the ops host) so the footprint arrives automatically: `pool: bot1=N … distinct=K (tripwire 60/bot)` Simplest source: parse the journal's gateway `ready`/`guild_create` state or invoke the same supervisor query path — whichever is cheapest from the shell script. If parsing is awkward, an alternative is a tiny `nether-voicebridge --footprint` CLI flag or a status file the bridge writes periodically. Alert (not just digest) when any bot crosses the tripwire.
Author
Collaborator

Shipped + live-verified; closing.

/opt/nvb-ops/nvb-watch.sh (ops host) now computes the puppet-pool guild footprint once daily in the digest block (7 Discord API calls; tokens read from the bridge config, never echoed) and posts:

  • digest suffix: | pool: b1=4 b2=3 b3=3 b4=3 b5=2 b6=2 b7=2 distinct=4live in the NVB Ops room now, matching a manual API audit exactly;
  • a ⚠ verification-gate alert when any bot's count ≥ TRIPWIRE (new knob in nvb-ops.conf, default 60 vs Discord's 100-server hard cap) — proven live by a one-run TRIPWIRE=1 override (alert fired with count 4), then restored to 60.

Repeats daily while over the tripwire (a once-a-day nag until the verification paperwork starts, not per-15-min spam). Runbook updated on master. Backup of the pre-#117 script kept as nvb-watch.sh.bak-117.

**Shipped + live-verified; closing.** `/opt/nvb-ops/nvb-watch.sh` (ops host) now computes the puppet-pool guild footprint **once daily in the digest block** (7 Discord API calls; tokens read from the bridge config, never echoed) and posts: - digest suffix: `| pool: b1=4 b2=3 b3=3 b4=3 b5=2 b6=2 b7=2 distinct=4` — **live in the NVB Ops room now**, matching a manual API audit exactly; - a ⚠ verification-gate alert when any bot's count ≥ `TRIPWIRE` (new knob in `nvb-ops.conf`, default 60 vs Discord's 100-server hard cap) — **proven live** by a one-run `TRIPWIRE=1` override (alert fired with count 4), then restored to 60. Repeats daily while over the tripwire (a once-a-day nag until the verification paperwork starts, not per-15-min spam). Runbook updated on master. Backup of the pre-#117 script kept as `nvb-watch.sh.bak-117`.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dark/nether-voicebridge#117
No description provided.