Skip to content

Record optional tmux feature requirements - #151

Draft
tony wants to merge 2 commits into
bump-min-tmux-000from
bump-min-tmux-001
Draft

tony wants to merge 2 commits into
bump-min-tmux-000from
bump-min-tmux-001

Conversation

@tony

@tony tony commented Oct 17, 2026

Copy link
Copy Markdown
Contributor

Record each optional tmux feature's requirement on the tmux support guide, separately from the 3.3a core minimum, with the five support states and what each port does. This is stacked on the core minimum change.

Feature Requirement
Library-managed control mode tmux 3.7, decided before any control client attaches
Named buffer deletion and rename tmux 3.4 (named paste-buffer -d -b stays on 3.3a)
Captured run-shell stdout not 3.3 or 3.4
break-pane and names with : or . not exact 3.7
Percentage splits -l N%; raw -p refused on 3.4
Layout strings validated before dispatch below 3.4

The guide defines Non-operative, Timing-sensitive, Operative with synchronization, Qualified and Unverified, gives the native state on each affected release, and states that guards cover library-chosen operations and literal command items but not opaque shell text or alias bodies. The port table names what Python, tmuxp, Go and Rust enforce; every other port is marked Unverified, and no result is summarized as a count.

A new check (site/test/tmux-support-page.test.ts) requires a table row per feature with its release, a defining row per state, every port group in the port table, and no ratio.

Validation (local; same environment and component runs as the core change):

  • The site Vitest suite passes with the new check (one existing ownership test timed out under host load in the full run and passes alone).
  • Deliberate breaks, each failing the matching case and passing once restored: dropping the Unverified row; changing the named-buffer requirement to 3.3; replacing a port group with a "Five of eight" count (docs/deliberate-break-support-page.log in the evidence folder).

Not qualified: port rows rest on those ports' pull request descriptions, not on a run of their code here, and Qualified there means native Linux runs. The assembled-site build and publication audit run in hosted CI.

Closes #147.

tony added 2 commits October 17, 2026 04:35
why: A shared 3.3a floor does not make every control, buffer, shell or
layout operation safe on that release. Readers had no page that says
which features need a newer tmux, what a library does below it, and
which ports have evidence for their refusal.

what:
- Add the optional features to the tmux support guide: library-managed
  control mode from 3.7, named buffer deletion and rename from 3.4,
  captured run-shell output outside 3.3 and 3.4, exact 3.7 break-pane
  and name restrictions, split percentages sent as -l N%, and layout
  validation below 3.4
- Define the five support states (Non-operative, Timing-sensitive,
  Operative with synchronization, Qualified, Unverified) and give the
  native state for each affected release
- Name what the Python, tmuxp, Go and Rust changes enforce, and mark
  every other port Unverified until its change has checked evidence
- State that guards cover library-chosen operations and literal command
  items, not opaque shell text or configured alias bodies
- Update the guides index card to mention optional features
why: The optional-feature page is only useful while each feature keeps
its own requirement, the states use the contract's names and results
name ports instead of summarizing them as a ratio.

what:
- Require a table row for each optional feature with its tmux release
- Require a defining row for each of the five support states
- Reject ratios such as "5/8" or "five of eight" and require every port
  group in the port table

Verified: the check passes; dropping the Unverified row, changing the
named-buffer requirement to 3.3 and replacing a port group with a
"five of eight" count each make it fail on the matching case, and the
restored page passes.
@tony
tony force-pushed the bump-min-tmux-000 branch from 2a58002 to 99df2a3 Compare October 17, 2026 13:38
@tony
tony force-pushed the bump-min-tmux-001 branch 2 times, most recently from 24dd014 to ad179f0 Compare October 17, 2026 16:34
@tony
tony force-pushed the bump-min-tmux-000 branch from 564121d to 7a7a677 Compare October 17, 2026 17:54
@tony
tony force-pushed the bump-min-tmux-001 branch from ad179f0 to 3d7407a Compare October 17, 2026 17:54

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant