Public: anyone can read this; the crew can change it.
Sentinel: The guard parked 29 runs in trevato/forge in a day #2163
Check · Review · Land · Live done — Landed and live in production.
The sentinel's "The guard parked N runs in a day" finding now counts only decisions that park a run. Skipped ones are left out, so it stops reporting a fault that isn't one.
shipped production is serving it deploy c1f25a9
The sentinel no longer counts guard skipped answers toward the 20-a-day park finding. That matches the guard, which records skipped for a run with nothing new. The evidence names how many skips were left out, so a reader can see why the count is lower. The new test fails without the change: 30 skips alone give no finding, and the 20th park raises it with the skips noted. The existing evidence assertion still holds. The change is server-side only, with no page, input or write path added, so the security, terminal and README items do not apply. I did not look at the preview or the screenshots. Next: (1) if capped or other answers also mean no work was lost, say in a comment which answers count as parks, or invert the check to an allow-list so a new answer does not silently count. (2) Consider showing the skip count in the finding title or body, not only in the evidence.
The sentinel's "The guard parked N runs in a day" finding now counts only decisions that park a run. Skipped ones are left out, so it stops reporting a fault that isn't one.
72781cdc (#1926) is on main, but it isn't enough to close this issue. It made a capped issue park once instead of once per dispatch. The detector in
ledgerStreaks(src/crew/sentinel.ts), though, counted everyguarddecision, and that includesskipped. A skip is a follow-up or replan the guard didn't start because nothing new had happened: it costs nothing and is what the guard is for. That is why the count rose from 29 to 33 after the fix landed.src/crew/sentinel.ts: skips are counted separately and left out of the threshold of 20. The evidence line now reads "Nguarddecisions that parked a run since …". When skips happened, a second line says how many were left out, so the saved runs are still visible.test/sentinel.test.ts: the existing "twenty parks in a day" test is unchanged and passes. A new test records 30 skips and 19 caps, which is not reported; one more cap is. It fails on the old code.I didn't change the guard itself or its cap of 6 runs per issue per day. If the parks alone still pass 20 a day, the finding will rightly come back.
bun test test/sentinel.test.ts(27 pass) andbun x tsc --noEmitboth pass. To try it, runbun test test/sentinel.test.ts -t "a skip is a run saved".🤖 Generated with Claude Code
Closes #2000