Repository navigation
2026.8.1
What's Changed
Features
- Every provider in a batch now shares one streaming tmux pane instead of splitting its own. Providers launched directly — not only through
run-all.sh— find the window's live pane through a registry entry under$TMPDIRand join it, so three providers produce one pane rather than three. The entry is a directory, makingmkdirthe atomic create-once lock; a token per participant underactive/decides when the pane closes, andrun-all.shholds one for its whole batch (c490c29)
Fixes
- The test suite no longer opens panes in your live tmux session. The gemini, openai, and xai suites run the provider scripts far enough to reach the display pane, so they now call
disable_display, and a static check fails any suite that runs a provider or runner script against the live session without it (5f322d8) - Display suites no longer leave a watch directory behind for every pane they build —
TMPDIRis isolated per test and removed in teardown (5f322d8)
Docs
- README covers the registry, the create-once claim, and the token refcount that decides when the pane closes. The skill and agent guides note that providers share a pane only while they overlap in time, so
run-all.shremains the way to reach several at once. TESTING lists the new suite and adds a manual check for two providers launched directly at the same time (96608e1)
Other
- Ignore cs session-local files and add
.csmerge drivers (8df283e) - Internal cleanups from a review pass over the above: the token protocol is now a matched
__pane_acquire/__pane_releasepair sorun-all.shno longer reaches intodisplay.sh's private layout; the tmux target-args block that had been copied to four call sites is one helper; joining a pane reads its registry entry once with a builtin instead of three times through forkedcats; and the invariant that only a self-attached process may close a pane is now recorded where someone would otherwise be tempted to level it (a927560, and the follow-up)
Full Changelog: 2026.7.1...2026.8.1