a73x

ab4acd00

docs: record selection-follow approval and demo teardown

a73x   2026-09-06 13:32

Commit message
docs: record selection-follow approval and demo teardown

RETRO.md
Old New
@@ -1573,3 +1573,14 @@ Next owners/triggers:
1573 still deferred. Platform owner: Linux evidence does not establish macOS. 1573 still deferred. Platform owner: Linux evidence does not establish macOS.
1574 - Coordinator, on acceptance: record product review separately from architecture 1574 - Coordinator, on acceptance: record product review separately from architecture
1575 and tests, verify/stop this demo server, and only then begin an authorized slice. 1575 and tests, verify/stop this demo server, and only then begin an authorized slice.
1576
1577
1578 Selection-follow product sign-off — 2026-09-06: the user approved after reporting
1579 that drag selection remains highlighted when scrolling the wheel and discussing
1580 the held-drag limitation. Clarified viewport movement versus terminal output
1581 moving the underlying rows. Recorded that specific hands-on observation and
1582 approval without treating it as manual coverage of every test. Verified ownership
1583 and stopped localhost demo server PID 257482; port 18778 is closed. Its compositor
1584 and app fixtures had already stopped. Retained the page, 25-second recording and
1585 check evidence, preserved unrelated services, and left the known NVIDIA frame
1586 budget debt open. No next sprint was started.
docs/demos/native-selection-follow.html
Old New
@@ -14,7 +14,7 @@
14 </head> 14 </head>
15 <body> 15 <body>
16 <main> 16 <main>
17 <span class="status">Functional checks passed · product review pending</span> 17 <span class="status">Product approved · 6 September 2026</span>
18 <h1>Selection follows terminal output</h1> 18 <h1>Selection follows terminal output</h1>
19 <p class="lede">A completed selection keeps naming the same terminal occurrence when new output scrolls it upward. The recording uses a duplicate marker and its distinct successor so a stale coordinate or the other duplicate cannot pass the check.</p> 19 <p class="lede">A completed selection keeps naming the same terminal occurrence when new output scrolls it upward. The recording uses a duplicate marker and its distinct successor so a stale coordinate or the other duplicate cannot pass the check.</p>
20 <section class="card"> 20 <section class="card">
@@ -31,11 +31,11 @@
31 <h2>Controls and input</h2> 31 <h2>Controls and input</h2>
32 <p>Ordinary drag selects locally when the application has not requested mouse reporting. Hold Shift at press to select locally inside a mouse-reporting application. Ctrl+Shift+C asks the daemon to copy the completed tracked selection. The video uses genuine Wayland pointer input with a visible cursor; fixture output is emitted through fixture-owned PTYs.</p> 32 <p>Ordinary drag selects locally when the application has not requested mouse reporting. Hold Shift at press to select locally inside a mouse-reporting application. Ctrl+Shift+C asks the daemon to copy the completed tracked selection. The video uses genuine Wayland pointer input with a visible cursor; fixture output is emitted through fixture-owned PTYs.</p>
33 <h2>Validation</h2> 33 <h2>Validation</h2>
34 <p>Native unit and integration gates passed. Real NVIDIA Wayland checks passed for selection, scrolling, scale transitions, shared foot/tmux mouse behavior, and live tmux counters in windowed and fullscreen modes. Web ABI: 798 passed, 0 failed. Full CI passed: 117 end-to-end scenarios, 10 agent checks and throughput. Architectural review has no open blocker; product acceptance is pending.</p> 34 <p>Native unit and integration gates passed. Real NVIDIA Wayland checks passed for selection, scrolling, scale transitions, shared foot/tmux mouse behavior, and live tmux counters in windowed and fullscreen modes. Web ABI: 798 passed, 0 failed. Full CI passed: 117 end-to-end scenarios, 10 agent checks and throughput. Architectural review has no open blocker; product acceptance was given on 6 September 2026.</p>
35 <p>Rebuild both the daemon and client: they share the new selection protocol, with one request/reply path and no compatibility fallback.</p> 35 <p>Rebuild both the daemon and client: they share the new selection protocol, with one request/reply path and no compatibility fallback.</p>
36 <h2>Limits and known debt</h2> 36 <h2>Limits and known debt</h2>
37 <ul> 37 <ul>
38 <li>Completed selections follow output. A held drag still cancels if its coordinate source moves; copying during a held drag remains supported. Resize/reflow, screen/mode changes and reset clear selection. Character insertion/deletion, rectangular margins and a range crossing a partially scrolled region also clear it. Paste, IME and ligatures are deferred.</li> 38 <li>Completed selections follow output. Moving the viewport with the wheel preserves the selection. New terminal output moving the underlying rows during a held drag still cancels it; copying during a held drag remains supported. Resize/reflow, screen/mode changes and reset clear selection. Character insertion/deletion, rectangular margins and a range crossing a partially scrolled region also clear it. Paste, IME and ligatures are deferred.</li>
39 <li>The alternate screen and mouse-reporting scenario belongs to separate automation and is not claimed by this video.</li> 39 <li>The alternate screen and mouse-reporting scenario belongs to separate automation and is not claimed by this video.</li>
40 <li>Evidence is Linux-only. macOS behavior remains unverified.</li> 40 <li>Evidence is Linux-only. macOS behavior remains unverified.</li>
41 <li>The NVIDIA raw-output frame gate remains red: p99 20.7 ms against 20 ms. Output continued and reopen succeeded; sampled input-to-painted time stayed at or below 60.4 ms (including 5 ms polling). Prior-sprint measurements also missed this budget; no performance improvement is claimed.</li> 41 <li>The NVIDIA raw-output frame gate remains red: p99 20.7 ms against 20 ms. Output continued and reopen succeeded; sampled input-to-painted time stayed at or below 60.4 ms (including 5 ms polling). Prior-sprint measurements also missed this budget; no performance improvement is claimed.</li>
docs/superpowers/plans/2026-09-06-native-selection-follow.md
Old New
@@ -1,7 +1,7 @@
1 # Native selection follows output 1 # Native selection follows output
2 2
3 Status: implemented, functionally validated and architecturally reviewed. 3 Status: implemented, functionally validated and architecturally reviewed.
4 Product acceptance pending; existing NVIDIA frame-time debt remains open. 4 Product accepted on 2026-09-06; existing NVIDIA frame-time debt remains open.
5 5
6 Goal: a completed local selection follows the same terminal text as output 6 Goal: a completed local selection follows the same terminal text as output
7 scrolls. This includes Shift+drag in an application using mouse reporting. 7 scrolls. This includes Shift+drag in an application using mouse reporting.
@@ -119,10 +119,16 @@ NVIDIA Wayland at 200% scale. It shows a real pointer drag, three appended rows,
119 neighbour output and independently read clipboard replacement/recopy. 119 neighbour output and independently read clipboard replacement/recopy.
120 Video decoding, page loading and HTTP byte ranges were verified. 120 Video decoding, page loading and HTTP byte ranges were verified.
121 121
122 Local review URL: <http://localhost:18778/selection-follow/>. No publication was 122 Product sign-off — 2026-09-06: the user approved after confirming that wheel
123 requested or created. Server PID 257482 is recorded in 123 scrolling the viewport preserves the highlight. The held-drag limitation concerns
124 `dist/selection-follow/server.json`; after product acceptance verify its command 124 terminal output moving the underlying coordinate source, not merely looking at
125 still names this worktree's `dist/selection-follow/serve-page.py`, then run 125 other existing rows. This records the reported hands-on wheel behavior and
126 `kill 257482`. Recording and test rigs closed; owned compositor PID 141229 was 126 explicit approval, not hands-on verification of every automated scenario.
127 verified and stopped (`fixture-teardown.json`). Preserve unrelated services and 127
128 retain page/video/check evidence. Product sign-off has not yet been given. 128 The former localhost review URL on port 18778 is retired. No publication was
129 created. Verified server PID 257482 named this worktree's
130 `dist/selection-follow/serve-page.py`, stopped it, and verified port 18778 closed.
131 `dist/selection-follow/accepted-demo-teardown.json` records the cleanup.
132 Recording and test rigs had already closed; owned compositor PID 141229 had
133 already been stopped. Page, recording and validation evidence remain; unrelated
134 services were preserved. No next sprint was started by this approval.