package main import ( "testing" "time" "github.com/novox/mesh-controller/internal/link" ) // **R292 — a drill is never counted as a repair** (novox/hq issue 292). On 2026-10-07 two deliberate // drills of ADR 0240's health check — a module stopped on purpose, then one made to crash, each with the // operator's word — were recorded through `hand-act record --cause drill`, there being no verb for a drill, // and S15 raised `mesh.hand-acts.drill.healer-wanted`: "drill" repaired by hand twice, a healer wanted. The // outcome asserted: those two acts, as the log holds them, want no healer. // // In a file of its own, written only with what the controller had before the fix (watchHandActs, calm, the // hand-act log's row), so the prover can lay it over that commit; replays_test.go holds replays of later // commits that do not build there. func TestReplay292TwoDrillsRecordedByHandWantNoHealer(t *testing.T) { now := time.Date(2026, 10, 7, 12, 0, 0, 0, time.UTC) drill := func(at time.Time, what, why string) link.HandAct { return link.HandAct{ID: "act-" + at.Format("150405"), At: at, By: "the operator at a shell on the laptop", Verb: "hand-act record", Args: []string{what}, Why: why, Cause: "drill"} } f := calm(now) f.handActs = []link.HandAct{ drill(now.Add(-11*time.Hour), "stopped a module on purpose", "ADR 0240: an exited container is said"), drill(now.Add(-30*time.Minute), "made a module crash on purpose", "ADR 0240: a crash loop is said"), } if got := watchHandActs(f); len(got) != 0 { t.Fatalf("two drills the operator approved were counted as repairs: %s", got[0].Summary) } }