a73x

82749e3c

docs: the gone-pane rule joins the wall invariant

a73x   2026-09-01 10:58

Commit message
docs: the gone-pane rule joins the wall invariant

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

CLAUDE.md
Old New
@@ -141,7 +141,11 @@ own. Test fixtures in `test/`:
141 ride out a blip rather than vanishing. Only a host's OWN list may take a 141 ride out a blip rather than vanishing. Only a host's OWN list may take a
142 pane: a saved pane on a host that answers nothing stays, wearing 142 pane: a saved pane on a host that answers nothing stays, wearing
143 `unreachable`, for as long as the box is dark — an eight-pane setup is 143 `unreachable`, for as long as the box is dark — an eight-pane setup is
144 not worth one quiet machine. `--via` and `mux a` record no host. 144 not worth one quiet machine. A saved pane whose REACHABLE host answers
145 without its session stays too, wearing `gone` — the host said no, not
146 nothing — until Enter re-creates the session in that pane's own rect or
147 `x` dismisses it; every other key at a gone pane is eaten. A wall of
148 only gone panes is not empty. `--via` and `mux a` record no host.
145 Nothing re-creates a session: a daemon restart heals to what that daemon 149 Nothing re-creates a session: a daemon restart heals to what that daemon
146 now has, which for a fresh daemon is session `0`. 150 now has, which for a fresh daemon is session `0`.
147 `client.hosts.load` is strict — a bad line refuses `mux` with rc 2 and prints 151 `client.hosts.load` is strict — a bad line refuses `mux` with rc 2 and prints
docs/decisions.md
Old New
@@ -7732,3 +7732,19 @@ session never wrote.
7732 tile labels before joining pumps (defers run last-declared-first) — a 7732 tile labels before joining pumps (defers run last-declared-first) — a
7733 use-after-free that was invisible while a solo pump never painted its 7733 use-after-free that was invisible while a solo pump never painted its
7734 bar, and a segfault the moment it did. 7734 bar, and a segfault the moment it did.
7735
7736 ## 2026-09-01 — gone panes: placeholders over auto-start
7737
7738 Measured: after a daemon restart, the seeded wall painted its saved cut at
7739 byte 46 of the capture and collapsed it on the first poll answer (~1s) —
7740 the flash the seed was built to remove, surviving in the one path where a
7741 reachable host disowns a saved session. Chosen: dress those panes `gone`
7742 (reversible, pending stays set), Enter re-arms the same tile as a creating
7743 attach in its rect, `x` dismisses. Rejected: auto-starting shells (bends
7744 "nothing re-creates a session" without a keypress; layers on later as
7745 Enter-on-all), and keeping the collapse (the user's stated expectation is
7746 the wall they left). Spec: docs/superpowers/specs/2026-09-01-gone-panes-design.md.
7747 Landing it also fixed two recorded heal defects — a heal now keeps the
7748 survivor's weights and the container's orientation, because nothing
7749 collapses so nothing re-wraps (measured in the e2e heal leg's sidecar
7750 pins).