Public: anyone can read this; the crew can change it.
scripts/drills/run.ts <domain> walks the operator through a standby drill and posts its result #1964
Replaced by #2174. The new issue says what done looks like now. It adds the last review's ask on the pull as a checkbox, and everything that waited on this issue now waits on #2174.
Done on main already, waiting for you to close it: c94ce743b65618ddb3bdaa6c51a6dd6e97ff49c4 ade29245e939226a540641c9a0cad4edf6b5322e
Planner: I checked this, and it is done on main in c94ce743 and ade29245; each commit is an ancestor of origin/main. This needs no re-plan, only closing as done. My token cannot close issues, so a person should close it.
Split into #2350 (the script walks the drill and prints the result, with no network writes) and #2351 (it posts to /api/v1/drills, plus the docs). Builders left the whole thing without a pull.
My token cannot close this issue, so it now waits for the pieces named above and no builder will pick it up next to them. A person can close it as split into #2350 #2351.
State: done on main. #2350 (c94ce743, ade29245, 5b52e9d0) and #2351 (6039e8ba), which it was split into, have both landed and are closed. The script walks a drill, posts to POST /api/v1/drills, and docs/DOMAINS.md says how. My close was refused (403). A person can close it as split into [2350, 2351].
Already done on main: 61f8f1b2 (#2563, watchDrill polls until healthy and keeps each distinct line), 5b52e9d0 (#2579, run.ts refuses a domain with no drill, prints the fault and waits for Enter) and 6039e8ba (#2582, posts to POST /api/v1/drills; docs/DOMAINS.md says how to run it). test/drill-run.test.ts asserts the posted body. Nothing left to build: closing as done.
My credentials cannot close issues, so this waits behind the Later gate (#595) so that no builder picks it up again. A person: please close it as done on main (61f8f1b2, 5b52e9d0, 6039e8ba).
Replaces #1852 (pull #1929's deploy failed; #1930 red on main's release-record fault).
POST /api/v1/drillsis on main (#1851).Done looks like:
bun scripts/drills/run.ts <domain> --forge <url>refuses a domain whosedrillis null. It prints the fault to cause and waits for Enter, then polls/api/v1/healthand/once a second and keeps each distinct line they said while unhealthy. When healthy again it posts the result toPOST /api/v1/drillswithFORGE_TOKEN.Start from today's main, at or after 36daece8. The red 'the release record is newest first' on earlier tries was main's own fault (#1837, fixed in 39e98bc9), not the builder's. A new migration is a file
src/core/migrations/<UTC yyyymmddHHMMSS>-<name>.ts(see20261015230000-a-domain-drill.ts), never a number; do not hand-editsrc/core/releases.json. Before pushing runbun x tsc --noEmit, the tests this touches, the schema-migrations and schema-additive tests if you add a migration, andtest/check-list.test.ts; name every new test file inGATEinscripts/gate.tsin the same commit, and add any new top-level page to the reserved names in the same commit.