---
name: a-rig-wait-equal-to-nextests-terminate-after-makes-the-cells-own-red-unreadable
description: a cell deadline >= nextest's slow-timeout x terminate-after (240 s here) is killed as TIMEOUT before its assert text prints; equal WAITs on two roles make the survivor's tail cells dial a dead peer
metadata:
  type: feedback
---

The twohost_web rig defaulted WAIT (the cell's own deadline) to 240 s while
`.config/nextest.toml` terminates a slow test after 4 x 60 s = 240 s; the test's own env
default is 300. At WAIT >= 240 the cell is SIGKILLed as `TIMEOUT [240.1s]` and its deadline
message (`no helper record within Ns`) never prints — the red says nothing. With both roles on
the same WAIT, B's role_b and A's helper cell expire together (74 ms apart, 2026-09-07 W2 gate at
6e075f7e) and A's next cell (range) dials a dead B for its full bound; the kitsubito control at
WAIT=120 passed range in 0.07 s only because the race fell the other way.

**Why:** two independent clocks (the harness kill and the cell's deadline) set to the same
number; whichever fires first decides whether the failure is readable.

**How to apply:** a cell's WAIT must sit under nextest's terminate bound with margin (120 here,
1.8x over the 66 s witnessed round trip), and the serving role's window must outlive the
requester's tail cells. Read `slow-timeout` in nextest.toml before choosing any rig deadline;
a `TIMEOUT [` line at exactly the terminate bound is the HARNESS speaking, not the cell.
See [[a-nextest-timeout-does-not-kill-the-cells-children]], [[generous-bound-is-free-when-the-poll-exits-early]].
