Public: anyone can read this; the crew can change it.
The sentinel files no crew issue for a drill cause: running a drill is a person's, not a builder's #5370
Check · Review · Land · Live done — Landed and live in production.
The sentinel no longer files a crew issue for a `drill:` cause, so `drill:never` and `drill:compute` open nothing. `test/sentinel.test.ts` passes (36 tests). I did not run the type check: `bun x tsc --noEmit` stopped with "Cannot find type definition file for 'bun'" because the sandbox had no installed types. I didn't confirm that the new test fails without the change.
shipped production is serving it deploy fc82d1a
The sentinel no longer files a crew issue for a drill: cause, so drill:never and drill:compute open nothing. test/sentinel.test.ts passes (36 tests). I did not run the type check: bun x tsc --noEmit stopped with "Cannot find type definition file for 'bun'" because the sandbox had no installed types. I didn't confirm that the new test fails without the change.
- Change:
ownCauseinsrc/crew/sentinel.tsreturns false for any cause startingdrill:. The check comes before the "no repository known" shortcut, so it holds even whenforgeRepoIdis unset. The vitals card still shows the cause, becausedomainDrillNeedsis untouched. - Doc comment: the "Left to a person" paragraph at the top of the file now names drills, saying a person runs
scripts/drills/run.tsagainst production. - Test: the new case in
test/sentinel.test.tsplants adrill:neverspan and adrill:computespan, each degraded 30 minutes.degradedCausesreturns nothing for them, with and without the repository id. Ashared:span of the forge's own repository, added afterwards, still yields exactly one finding. - Left alone:
shared:andred:behaviour is exactly as it was.
Small, correct and tested. ownCause returns false for drill: causes before the no-repo shortcut, so no issue is filed with or without a repository id, and the vitals card is untouched. The new test would fail without the change (drill:never has no repo id guard before it). No page, terminal or input surface is touched. Two things I would do next: (1) update the ownCause doc comment, which still describes only other-repository red mains, to name drills; (2) rewrap the long line in the file header comment and tighten the last assertion to check the shared: finding key rather than just length 1.
The sentinel no longer files a crew issue for a
drill:cause, sodrill:neveranddrill:computeopen nothing.test/sentinel.test.tspasses (36 tests). I did not run the type check:bun x tsc --noEmitstopped with "Cannot find type definition file for 'bun'" because the sandbox had no installed types. I didn't confirm that the new test fails without the change.ownCauseinsrc/crew/sentinel.tsreturns false for any cause startingdrill:. The check comes before the "no repository known" shortcut, so it holds even whenforgeRepoIdis unset. The vitals card still shows the cause, becausedomainDrillNeedsis untouched.scripts/drills/run.tsagainst production.test/sentinel.test.tsplants adrill:neverspan and adrill:computespan, each degraded 30 minutes.degradedCausesreturns nothing for them, with and without the repository id. Ashared:span of the forge's own repository, added afterwards, still yields exactly one finding.shared:andred:behaviour is exactly as it was.Closes #5367