Measure Windows input latency end to end through ConPTY
Draft
VA
1d ago+3917+3917+0123456789012345678901234567890123456789-268-268-012345678901234567890123456789
Stacked on #869 and #910. Relative to #910 at 47cde843c, this PR adds only the ConPTY latency child and host scenario.
Change
The host writes 200 single keys, spaced 3 ms apart, into ConPTY. Host write and child stream delivery use the same precise FILETIME clock. The scenario requires every key to arrive and reports the distribution without imposing a timing threshold. The production input path is supplied by #869/#910.
Validation
- Real Windows child test: 1/1; build 15.46 s.
- ConPTY break, close and blocked-read scenarios restored terminal modes; the complete script took 2.64 s.
- End-to-end latency: p50 191.3 µs, p99 2143.0 µs, max 2215.6 µs, 200/200 keys.
- Refreshed Linux CLI: 5/5 in 0.82 s (build 2m32s). Windows GNU libraries/tests check of Harness, TUI, native-runtime and GraphCoder: passed in 1m46s. Batch total 273.4 s at c112357e8.
- Inherited production verification: #910 native-input 30/30 (0.31 s), dedicated reader models and negative controls 15/15 (0.13 s), terminal models 38/38 (1.39 s). macOS native TUI checks passed, with kqueue p50 1.417 µs, p99 6.875 µs and zero idle wakeups.
Commands: Q:/lanes/lb.ps1 cargo test --locked -p acyclic-harness-tui --features tui --lib term::windows::tests::windows_lifecycle_child; scripts/test-terminal-signals.ps1 with the resulting test binary. Linux CLI and Windows GNU checks run through bs.ps1.
Decisions
- Preserve published history with ordinary merges; dependency PRs remain separate for coordinator review.
- Keep this PR as measurement coverage of the existing production path. FILETIME provides a common clock across host and child.
- The macOS controlling-device and disk-read review findings are fixed in the inherited dependency commits; all review threads are resolved.