Public: anyone can read this; the crew can change it.
The board's forge strip and the terminal's Needs list also show held and stuck incidents #2467
Check · Review · Land · Live done — Landed and live in production.
The board's forge strip and the terminal's Needs list now show `held` and `stuck` incidents, as well as the rest of the guard view.
shipped production is serving it deploy d63cf43
The board's forge strip and the terminal's Needs list now show held and stuck incidents, as well as the rest of the guard view.
- Strip:
forgeStripinsrc/web/pages/board.tsno longer filters by key. It still skips any incident the "needs you: forge" line from part 1 already names, so each incident shows once. - Terminal:
forgeNeedsinsrc/actions/health.tslists every incident. The dashboard already dropped lines the verdict covers, so it shows each one once as well. - Tests: I extended the existing held-incident test in
test/board.test.ts. It now checks that the held line appears exactly once on the board and thatforgeNeedsincludes it. test/tui-screens.test.ts: it passes with no assertion changed, so nothing in it was wrong.- Result:
bun test test/board.test.ts test/tui-screens.test.tsgave 46 pass, 0 fail, across 2 files. - Type check:
bun x tsc --noEmitfailed here with "Cannot find type definition file for 'bun'" even afterbun install. It's an environment problem, not a type error in the change, but I haven't confirmed the types otherwise.
I made no other changes.
To try it, put {"incidents":{"held":"x"}} in status.json under FORGE_GUARD_DIR, then open the board as an admin.
🤖 Generated with Claude Code
Approved. The strip and the terminal Needs list no longer drop held/stuck incidents. The verdict line is deduped through coveredByVerdict on both doors (the dashboard filters forgeNeeds the same way), so each incident shows once. The test would fail without the change. Admin-only gating is unchanged. I could not reach the preview from my sandbox, so I judged from the source only. Next: (1) forgeVerdict names only the first held/stuck/oom incident, so a second one now shows as a plain line; check that wording reads well for a person. (2) Run the type check in an environment with bun types, since the builder could not.
The board's forge strip and the terminal's Needs list now show
heldandstuckincidents, as well as the rest of the guard view.forgeStripinsrc/web/pages/board.tsno longer filters by key. It still skips any incident the "needs you: forge" line from part 1 already names, so each incident shows once.forgeNeedsinsrc/actions/health.tslists every incident. The dashboard already dropped lines the verdict covers, so it shows each one once as well.test/board.test.ts. It now checks that the held line appears exactly once on the board and thatforgeNeedsincludes it.test/tui-screens.test.ts: it passes with no assertion changed, so nothing in it was wrong.bun test test/board.test.ts test/tui-screens.test.tsgave 46 pass, 0 fail, across 2 files.bun x tsc --noEmitfailed here with "Cannot find type definition file for 'bun'" even afterbun install. It's an environment problem, not a type error in the change, but I haven't confirmed the types otherwise.I made no other changes.
To try it, put
{"incidents":{"held":"x"}}instatus.jsonunderFORGE_GUARD_DIR, then open the board as an admin.🤖 Generated with Claude Code
Closes #2443