docs(vterm): record PR 130 review round 1
Align the durable handoff with the approved escape-prefix contract, record the performance and lifecycle hardening, update the Stage 2 verification map, and publish exact final gate evidence in the active-work ledger.
This commit is contained in:
parent
8702791de9
commit
2e332b579c
|
|
@ -55,7 +55,7 @@ If it does not, stop and repair the remote/fetch configuration.
|
|||
## Vterm Stage 2 implementation lane
|
||||
|
||||
- Portable branch: `githubsucks/vterm-tui`
|
||||
- Feature head: `da8f6ae`; first published ledger checkpoint: `d2fca0c`
|
||||
- Feature head after review round 1: `8702791`
|
||||
- Base: canonical `main` @ `f1a2f75` (handoff refresh #128 atop config
|
||||
registry #127 and Vterm Stage 1 #126).
|
||||
- PR: #130, <https://github.com/levineuwirth/pmacs/pull/130>, open against
|
||||
|
|
@ -66,15 +66,20 @@ If it does not, stop and repair the remote/fetch configuration.
|
|||
clipboard/BEL through the authenticated frontend, and routes daemon
|
||||
terminal input by connection source. Protocol remains v18; Stage 2 changes
|
||||
neither the wire schema nor the GPU renderer.
|
||||
- Review round 1: addressed. Dispatch now requires `C-c` before terminal-local
|
||||
editor bindings; non-terminal context operations error; controller
|
||||
replacement is atomic per frontend; zero-area layouts retain view anchors;
|
||||
view projection borrows retained rows instead of deep-cloning scrollback.
|
||||
- Implementation commits: `39e07cb`, `7c39535`, `0a846d9`, `0dacac7`,
|
||||
`dc92257`, merge `0ddff24`, and final integration hardening `da8f6ae`.
|
||||
- Final from-start verification: `cargo fmt --check`; strict workspace
|
||||
Clippy; 1,742 default + 1,918 CRDT library tests (3 ignored each);
|
||||
Stage 1 acceptance 9 default + 10 CRDT; Stage 2 acceptance 3 default +
|
||||
3 CRDT; statusline acceptance 7 default + 8 CRDT; M4 114 passed
|
||||
(3 ignored, 1 filtered); required GPU 109; workspace 2,869 passed across
|
||||
`dc92257`, merge `0ddff24`, integration hardening `da8f6ae`, and first-review
|
||||
fixes `8702791`.
|
||||
- Review-round final verification: `cargo fmt --check`; strict workspace
|
||||
Clippy; 1,743 default + 1,919 CRDT library tests (3 ignored each);
|
||||
Stage 1 acceptance 9 default + 10 CRDT; Stage 2 acceptance 4 default +
|
||||
4 CRDT; statusline acceptance 7 default + 8 CRDT; M4 114 passed
|
||||
(3 ignored, 1 filtered); required GPU 109; workspace 2,871 passed across
|
||||
81 suites (19 ignored, 1 filtered); `git diff --check` clean.
|
||||
- Next: user review rounds. Do not merge without explicit authorization.
|
||||
- Next: second user review. Do not merge without explicit authorization.
|
||||
|
||||
Recovery worktree on a machine that does not already own the branch:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
# Agent handoff — cross-machine continuity
|
||||
|
||||
**Last updated: 2026-07-21, after the config registry (#127), Vterm
|
||||
Stage 1 terminal core (#126), and handoff refresh (#128) landed on
|
||||
`main`, atop completed Themes Arc 4 (#120/#124/#125). Vterm Stage 2 is
|
||||
implemented on `vterm-tui`; Stage 3 is not implemented.**
|
||||
**Last updated: 2026-07-22, after Vterm Stage 2 PR #130 review round 1
|
||||
was addressed on `vterm-tui`; config registry (#127), Vterm Stage 1
|
||||
terminal core (#126), and handoff refresh (#128) are landed on `main`,
|
||||
atop completed Themes Arc 4 (#120/#124/#125). Vterm Stage 3 is not
|
||||
implemented.**
|
||||
This file is the
|
||||
bridge between development machines. If you are an agent reading
|
||||
this on a fresh clone: this document plus the `docs/*-framing.md`
|
||||
|
|
@ -233,12 +234,15 @@ commands, read `docs/active-work.md` immediately after this file.
|
|||
- **Stage 2 TUI is implemented on `vterm-tui`** (`docs/vterm-framing.md`
|
||||
Revision 7, criteria 15–27). `TerminalViewKey` keys per-frontend/window
|
||||
projection state over one shared process/screen; logical row anchors retain
|
||||
scroll/selection through reflow. A most-recent authenticated controller
|
||||
owns input and cell resize, with release on focus/switch/kill/detach.
|
||||
scroll/selection through reflow. One authenticated frontend controls at
|
||||
most one session, with atomic replacement and release on
|
||||
focus/switch/kill/detach.
|
||||
- The strict `pmacs.terminal` Lua surface owns open/state/view/send/terminate
|
||||
and context-implicit scroll/copy commands. Buffer-local terminal keymaps
|
||||
resolve before raw child transport; fixed `C-c` remains the terminal escape
|
||||
and owns its continuation per frontend. Copy drains through the acting
|
||||
and context-implicit scroll/copy commands; the latter error unless the
|
||||
invoking frontend's active window is a terminal. Fixed `C-c` is the
|
||||
per-frontend terminal escape: only its next key reaches terminal-local
|
||||
editor bindings, while unescaped bound keys pass through to the child.
|
||||
`C-c C-c` sends one literal interrupt. Copy drains through the acting
|
||||
frontend's clipboard path; active BELs drain once locally and per daemon
|
||||
frontend, while historical/passive bells are baseline-suppressed.
|
||||
- TUI composition paints owned terminal cells/styles only inside each
|
||||
|
|
@ -251,12 +255,18 @@ commands, read `docs/active-work.md` immediately after this file.
|
|||
isolation, clipboard/modeline behavior, and a hermetic real `/bin/sh` TUI
|
||||
PTY smoke. Stage 2 changes no wire schema or GPU renderer; protocol remains
|
||||
v18 until Stage 3.
|
||||
- Integrated Stage 2 final gate: `cargo fmt --check`; strict workspace
|
||||
Clippy; 1,742 default + 1,918 CRDT library tests (3 ignored each);
|
||||
Stage 1 acceptance 9 default + 10 CRDT; Stage 2 acceptance 3 default +
|
||||
3 CRDT; statusline acceptance 7 default + 8 CRDT; M4 114 passed
|
||||
(3 ignored, 1 filtered); required GPU 109; workspace 2,869 passed
|
||||
across 81 suites (19 ignored, 1 filtered); `git diff --check` clean.
|
||||
- PR #130 review round 1 (`8702791`) aligned dispatch with the approved
|
||||
escape-prefix contract, closed the non-terminal Lua error path, made
|
||||
controller replacement atomic, retained zero-area view anchors, removed
|
||||
duplicate detach work, and replaced per-view deep scrollback clones with
|
||||
borrowed live/published row projections. Focused child-input coverage pins
|
||||
both unescaped bound-key passthrough and `C-c C-c`.
|
||||
- Review-round final gate: `cargo fmt --check`; strict workspace Clippy;
|
||||
1,743 default + 1,919 CRDT library tests (3 ignored each); Stage 1
|
||||
acceptance 9 default + 10 CRDT; Stage 2 acceptance 4 default + 4 CRDT;
|
||||
statusline acceptance 7 default + 8 CRDT; M4 114 passed (3 ignored,
|
||||
1 filtered); required GPU 109; workspace 2,871 passed across 81 suites
|
||||
(19 ignored, 1 filtered); `git diff --check` clean.
|
||||
- **PARKED: kill-ring browser + persistence.** Revision 2 framing is
|
||||
preserved on branch `kill-ring-browser`, but its `0efb5cd` scout is stale
|
||||
and must be repeated before implementation. No PR or implementation is
|
||||
|
|
|
|||
|
|
@ -1150,8 +1150,9 @@ coverage remains beside the owning implementation. The criteria map as follows:
|
|||
paste_and_focus_are_exact, unsupported_keys_are_invisible}` and the real-TUI
|
||||
input/paste path.
|
||||
- **19:** `editor::tests::dispatch_prefix_state_is_independent_per_frontend`,
|
||||
`terminal_escape_gates_local_bindings_and_double_escape_sends_interrupt`,
|
||||
`lua_surface_is_strict_fresh_transactional_and_context_safe`, and the
|
||||
real-TUI terminal-escape/quit path.
|
||||
real-TUI escaped editor-binding/quit path.
|
||||
- **20:** `terminal::input::tests::sgr_mouse_modes_modifiers_and_coordinates`
|
||||
plus the real-TUI editor-owned scroll/drag/copy path.
|
||||
- **21:** `terminal::view::tests::{copy_joins_soft_wraps_trims_default_blanks_and_separates_hard_rows,
|
||||
|
|
|
|||
Loading…
Reference in New Issue