tools/community/discord-hooks.mjs (Node 22, standard library): one ember embed per post to #numbers, #announcements and #incidents. Network pulse every 6 h (03/09/15/21 UK) from /api/stats, /api/live, /api/supply with the 6 h window from its own snapshot and a Devnet 2 line that uses the fleet file's numbers and gate word only; a 24 h digest and the reddit kit's weekly template at 09:00 UK; a release subcommand for the shipper (three downloads with sha256, node commit, digest, up to five plain "what changed" lines read from the release plan); incident open and resolve by hand; a watcher that opens one incident per condition (finality paused 5 min, median proof lag 15 min, observer silent 3 min) and resolves after 2 clear minutes, and never opens on a condition already firing when it first looks (the pulse says "finality paused since" instead). Guards before every post: the founder's name and logins, hosts, machine ids, paths, IP addresses, standalone 32-hex tokens, dl.igneum.network outside /public/, webhook URLs, mentions, the tools/ci/forbidden-strings.txt patterns; Discord's limits refused rather than cut; idempotency keys per slot in a state file; exponential backoff on 429; dry run by default with a Discord-like preview in tools/community/out/preview.html. 30 tests on fixtures cut from the live API. infra/build-server/discord-hooks: a tick every minute on igneum-build-1 (the Mac sleeps). install.sh copies the webhook file to /srv/discord-hooks/env (mode 600, over ssh stdin) and refuses without IGNEUM_SECRET_ON_BOX_OK=1; the recorded exception to rule R6 is in docs/plans/build-server.md (main's ruling, 6 October 2026). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
14 lines
No EOL
426 B
JSON
14 lines
No EOL
426 B
JSON
{
|
|
"devnet2": {
|
|
"boxes": 4,
|
|
"seed": "203.0.113.5:11927",
|
|
"updated_at": "2026-10-06T18:21:51Z",
|
|
"height": 3848,
|
|
"daa": 3848,
|
|
"peers": 3,
|
|
"state": "paused for the class v4 rehearsal (the rehearsal chain on the same boxes from 18:22Z); the 10 bps run follows",
|
|
"last_gate": "FAIL: d6350586fe837b1f current object, 4 boxes, 8 min",
|
|
"last_gate_at": "2026-10-06T18:07:26Z",
|
|
"note_at": "2026-10-06T18:23:47Z"
|
|
}
|
|
} |