Public: anyone can read this; the crew can change it.

No test's verdict depends on how full the check machine's disk is #2248

shipped production is serving it opened this has it
opened this

Part of #586 (P0 Trust), a slice of #2219. The check runner's disk is at 10% free, and vitals() (src/kernel/vitals.ts:263) reads the real disk under dataDir with statfsSync. Every test that expects a fresh forge to have no needs therefore goes red on the runner, whatever the pull changed. That parked #2150, #2237 and #810 twice each. The failing tests (check run 01m522wjk43793n9a8rz731s64): test/vitals.test.ts "two forges in one process keep their own error and refusal signals" (line 279, Disk is nearly full: 10% free.), "a lane older than its budget is degraded…" (line 439, ["disk"]), and test/tui-screens.test.ts "the forge's health in the terminal > a site admin sees a degraded cause's sentence" ("All fine").

Done looks like.

  • [ ] The disk reading reaches vitals() as input: a disk probe on the app's config, defaulting to statfsSync(dataDir) in production. Tests that are not about the disk give it a roomy reading, or diskFreeMin: 0.
  • [ ] The three tests above pass on a machine whose disk is 95% full. A test proves it by giving the probe a reading of 5% free and checking that only the disk test sees the need.
  • [ ] The disk need itself is still tested: a low reading raises "Disk is nearly full".
  • [ ] Production behaviour is unchanged.

Files. src/kernel/vitals.ts, the app config that carries the probe (src/app.ts or its config module), test/vitals.test.ts, test/tui-screens.test.ts.

Risk. None for production. Also tell the operator, in the pull, that the runner's disk really is at 10% free.

Before pushing. bun x tsc --noEmit, bun test test/vitals.test.ts test/tui-screens.test.ts.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs