mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-22 16:02:24 +00:00
Twelve `tab new` at once against one workspace, then check that every tab landed exactly once and that the tree's pane count still matches the registry's. Both invariants this leans on are invisible to a single-threaded test. The store takes `notify_order` before its state lock and holds it across delivery, so subscribers see mutations in the order they happened; and each `tab new` spawns its pane before the tree is asked to hold it, so a refusal in between leaves a pane running that nothing references. That second one is quiet — it shows up only as these two counts disagreeing, which is what `pane close --orphans` exists to mop up. Verified by hand first: twelve racing creates, and a mixed race of splits, tab creates, renames and closes, both left the counts equal with no orphans; the same held with a GUI mirroring the changes live, whose log recorded no resync or divergence. This is that check, kept. Also measured while here, and sound, so it is not re-run: 180 pane create/close cycles move the daemon from 10 fds and 5 threads to 13 and 7, and then stay there across two further rounds — one-time overhead, not a leak.