Public: anyone can read this; the crew can change it.
The forge's failure domains as data: src/kernel/domains.ts and docs/DOMAINS.md, each domain's words quoted from what the forge already says #1850
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Split from #1195 (part of #1148). Only the map: no drills, no page, no endpoint.
Done looks like:
src/kernel/domains.tsexports plain data for seven domains: compute (the pod), state (the volume), the snapshot store, the edge (tunnel and DNS), identity, the model credential, the runner. Each has: what breaks, the forge's words (says), minutes until back, what the owner does, anddrill: a name, ornullwith one sentence on why it can't be drilled without harm.saysis text the forge already emits today: copied fromsrc/kernel/vitals.ts,/api/v1/healthor the board, not drafted. (Pull #1720 went red because its drafted runner phrase did not match what a stalled check queue says.) Where a domain has no words yet,saysis empty and the doc says so. Don't add new words in this issue.docs/DOMAINS.mdis one page with a table that matches the data.test/domains.test.ts: the doc and the data agree, and eachsaysphrase is produced by the real function that emits it, with a stubbed condition (e.g. a check queued pastQUEUE_WAIT_MAX_MSmakesvitalssay the runner's phrase). Name it inGATEinscripts/gate.tsin the same commit.Files: src/kernel/domains.ts, docs/DOMAINS.md, test/domains.test.ts, scripts/gate.ts. Before pushing:
bun x tsc --noEmitandbun test test/domains.test.ts test/vitals*.test.ts.