Public: anyone can read this; the crew can change it.
scripts/drills/run.ts <domain> walks the operator through a standby drill, posts its result, and says so when the forge never comes back #2174
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Replaces #1964 (parked twice; the work is in pull #1974, whose last review asked for one missing test).
POST /api/v1/drillsis on main and takes{domain, seen: {health, board}, backSeconds}.Done looks like:
bun scripts/drills/run.ts <domain> --forge <url>refuses a domain whosedrillis null (fromDOMAINS). It prints the fault to cause, waits for Enter, then polls/api/v1/healthand/once a second, keeping each distinct line said while unhealthy. When healthy again it posts{domain, seen: {health, board}, backSeconds}toPOST /api/v1/drillswithFORGE_TOKENfrom the environment and prints the verdict.ceilingMs(asserts status 0, no post, the message, the JSON line); refused post; unknown domain. Each new test file is named inGATEinscripts/gate.ts.Files: scripts/drills/run.ts, test/drill-run.test.ts, docs/DOMAINS.md, scripts/gate.ts. Risk: timing-dependent tests; inject the clock and the poll interval.