diff --git a/README.md b/README.md index b84dd24..10374c8 100644 --- a/README.md +++ b/README.md @@ -255,13 +255,33 @@ pre-0.4.0 box through `migrate-host`, and removes what it minted — currently **83 checks**. [drill/RUNS.md](drill/RUNS.md) is the full history, including every trap that fooled a run into a wrong verdict. +### Run the drill yourself + +The drill ships in the repo, not the installed tree — run it from a checkout. +Two versions are in play and both must be current: **the drill script you +run** (a stale checkout judges the past), and **the code under test** — the +drill does not test your working tree; it installs box from GitHub +(default: `heavy-duty/box@main`) and asserts the installed tree is exactly +the ref it asked for before issuing any verdict. + ```sh +git clone https://github.com/heavy-duty/box && cd box # or refresh an existing +git log --oneline -1 # checkout — this commit is + # the drill that will judge bash drill/doctor.sh # read-only: is this host healthy and the stack live? bash drill/drill.sh # FULL end-to-end — mutates the host; use a machine you own bash drill/wipe.sh # scorched earth: strip BOTH name generations, images and # (--purge-storage) the pool, so a run starts from bare ``` +To drill something other than latest `main` — a release ref, or a PR branch +on a fork: + +```sh +bash drill/drill.sh --ref +bash drill/drill.sh --repo / --ref # a PR under review +``` + The doctor reads ground truth, not config claims — the kernel's `isolated on` flag per bridge port, the process table, the resolver actually in use — and diagnoses the host faults that have actually happened: a wedged Incus daemon, diff --git a/drill/drill.sh b/drill/drill.sh index 9d60bae..f638b3a 100755 --- a/drill/drill.sh +++ b/drill/drill.sh @@ -32,7 +32,7 @@ # false FAILs on the first live run. The pipeline verdict must be grep's alone. set -u -REPO="${BOX_REPO:-heavy-duty/claudebox}" +REPO="${BOX_REPO:-heavy-duty/box}" REF="${BOX_REF:-main}" YES=0; KEEP=0 SELF="$(readlink -f "$0")"