mirror of
https://github.com/l0ng-ai/tty7.git
synced 2026-09-23 00:02:27 +00:00
Ending a pane was one function: work out which parked panes nothing holds, then hang them up. Only the second half needs a running daemon, and mixing them meant the rule could only be checked by watching a fuzz run -- which swings from fifty operations to five between runs on the same seed. That is how a change of mine looked effective for five iterations while doing nothing at all. `stranded_of` is now the rule on its own, and a test states it directly: a pane on screen is never ended whatever the tree says, a pane the tree still names is never ended whatever the window shows, and only one held by neither goes. Each of those three has been the difference between a leaked shell and a killed one at some point in this file's history. No behaviour change -- same filter, same order, called from the same place. Verified the test earns its keep: dropping the `showing` check from the filter fails it with `left: [1, 4], right: [4]`.