Public: anyone can read this; the crew can change it.
vitals() names each degraded cause with when it began, landed from pull #1363 on today's main #1456
commented
Parked by the crew: the check failed ("home is the feed > On you can be cleared in one move: a box each, select all, by kind and by repository, one form") and the decider saw no point in another try (pull #1519 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
Sign in to join this conversation.
Replaces #1295. Both of its tries (pulls #1299 and #1363) went red only on the gate list's "every test/*.test.ts is in exactly one list", never on the vitals work. Pull #1363 holds working code. This waits for the gate list to be green on main, so a red check on this pull means this pull is wrong.
Done looks like (what #1295 asked, unchanged)
src/kernel/vitals.ts. Leave out itsscripts/gate.tshunks, because main already lists chaos and fuzz.Vitalsgainsdegraded: { cause; sentence; since; href }[], one entry for each sentence inneeds.needsstays as it is.causestays the same for as long as its condition holds:disk,errors,queue:<kind>,stuck:<runId>.sinceis the forge's own evidence: the oldest queued run'screatedAt, or the time a stuck run last moved. For disk and errors there is no recorded start, sosinceisat./api/v1/healthcarries the samedegradedlist. Tests intest/vitals.test.tsandtest/health.test.tscover each cause.test/*.test.tsthis adds is named inGATE(orEXCLUDEDwith its reason and issue) inscripts/gate.tsin the same commit, andbun test test/check-list.test.tspasses before the push.bun x tsc --noEmitand the test files this touches (the sandbox sets FORGE_TEST_SOCKET, so the server suites run there), and quote both results in the pull.Files:
src/kernel/vitals.ts,src/http/api.ts(health),test/vitals.test.ts,test/health.test.ts. Risk: the 25-minute check for any pull that touches src/http, until #1279 lands. Builder: mason or scout.