docs(handoff): record Vterm Stage 1 merge
Advance canonical main to the #126 merge, retire the completed active lane, and record the landed headless terminal core plus the remaining TUI/GPU stages.
This commit is contained in:
parent
ff6eb9a5ee
commit
87369ed5db
|
|
@ -14,7 +14,7 @@ backlog.
|
|||
machine-local: `origin` may name this canonical URL, a release mirror,
|
||||
or something else, and therefore has no authority by name alone.
|
||||
- Canonical base at this snapshot:
|
||||
`githubsucks/main` @ `7bc0c61` (#125 merged; protocol v18).
|
||||
`githubsucks/main` @ `643d1e1` (#126 merged; protocol v18).
|
||||
- On the transfer source, `origin/main` named a release mirror at
|
||||
`d3fa632` and lagged badly. On the current destination, `origin` names
|
||||
the canonical URL. This difference is why all recovery begins by
|
||||
|
|
@ -48,52 +48,10 @@ git worktree list
|
|||
git status --short --branch
|
||||
```
|
||||
|
||||
The first command must expose `7bc0c61` or a newer intentional main.
|
||||
The first command must expose `643d1e1` or a newer intentional main.
|
||||
If it does not, stop and repair the remote/fetch configuration.
|
||||
|
||||
|
||||
## Active lane: Vterm Stage 1 terminal core
|
||||
|
||||
- Portable branch: `githubsucks/vterm-core`
|
||||
- Implementation commits: `bbc1f33` (Stage 1), `962944b` (Darwin signal),
|
||||
first-review fixes `f0a235f`, `28f2e6c`, `bf972a7`, and second-review
|
||||
hardening `9797ada`; current branch head: `fc4e0ce`.
|
||||
- Pull request: #126,
|
||||
<https://github.com/levineuwirth/pmacs/pull/126> — open, non-draft, targeting
|
||||
canonical `main`; not merged.
|
||||
- State: Arc 5 Stage 2's first of three PRs is implemented, two review rounds
|
||||
are addressed, and the branch is fully gated against protocol-v18 `main`.
|
||||
It is the headless terminal core only; the Stage 2 TUI/Lua surface and Stage
|
||||
3 protocol/GPU renderer are not implemented and must start only after their
|
||||
preceding PR lands.
|
||||
- Framing: `docs/vterm-framing.md` Revision 5 maps Stage 1 Acceptance 1–14,
|
||||
records both review rounds, and preserves the downstream TUI/GPU contracts.
|
||||
- Final from-start sequence after review round 2: Clippy clean; 1,661 default +
|
||||
1,837 CRDT library tests (3 ignored each); 9 default + 10 CRDT vterm
|
||||
acceptance; M4 114 passed (3 ignored, 1 filtered); required GPU 109;
|
||||
workspace 2,769 passed across 79 suites (19 ignored, 1 filtered); diff check
|
||||
clean. Updated PR CI for `fc4e0ce` is green across Linux/macOS, Lua
|
||||
5.4/LuaJIT, GPU, format, lint, acceptance, and performance jobs.
|
||||
- `scripts/bite main src/lib.rs --test vterm_stage1_acceptance` returned
|
||||
`bite: OK` because the old crate root could not compile the new terminal API;
|
||||
this is explicitly weaker compile-time API evidence, not a clean behavioral
|
||||
assertion failure.
|
||||
- `scripts/bite HEAD^ src/ansi.rs --lib
|
||||
parser_split_points_produce_identical_screen` returned `bite: OK` with a
|
||||
clean behavioral cursor-position failure against the pre-dispatch parser.
|
||||
- `scripts/bite HEAD^ src/terminal/screen.rs --test vterm_stage1_acceptance
|
||||
terminal_cells_reject_child_control_characters` returned `bite: OK` with a
|
||||
clean behavioral control-cell failure against the pre-hardening screen.
|
||||
|
||||
Recovery worktree, only if no existing worktree owns the branch:
|
||||
|
||||
```sh
|
||||
git worktree add --track \
|
||||
-b vterm-core \
|
||||
../pmacs-vterm-core \
|
||||
githubsucks/vterm-core
|
||||
```
|
||||
|
||||
## Parked lane: kill-ring browser + persistence
|
||||
|
||||
- Portable branch: `githubsucks/kill-ring-browser`
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# Agent handoff — cross-machine continuity
|
||||
|
||||
**Last updated: 2026-07-21, after Themes Arc 4 completed with
|
||||
statusline segments (#125), JSON/YAML (#123), GPU font preferences
|
||||
(#124), named UI faces (#120), and multi-language injections (#122).**
|
||||
**Last updated: 2026-07-21, after Vterm Stage 1 terminal core (#126)
|
||||
landed on `main` atop completed Themes Arc 4 (#120/#124/#125). Vterm
|
||||
Stages 2 and 3 are 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`
|
||||
|
|
@ -16,7 +16,7 @@ commands, read `docs/active-work.md` immediately after this file.
|
|||
|
||||
## 1. Where the project stands (2026-07-21)
|
||||
|
||||
- `main` @ `7bc0c61` (statusline segments #125), protocol **v18**
|
||||
- `main` @ `643d1e1` (Vterm Stage 1 #126), protocol **v18**
|
||||
(`SUPPORTED=[6..18]`; v16 = `ThemeFacts`, v17 = `FontFacts`, v18 =
|
||||
`StatuslineSegments`).
|
||||
- **Syntax-highlight / language-detection side-quest (#114–#118)
|
||||
|
|
@ -155,6 +155,19 @@ commands, read `docs/active-work.md` immediately after this file.
|
|||
right-pins the protected suffix under narrow clipping. Review
|
||||
hardening pins fixed-face sortedness, retains flattened provider
|
||||
tracebacks, and names unavailable layout contexts accurately.
|
||||
- **Vterm Stage 1 terminal core LANDED — #126**
|
||||
(`docs/vterm-framing.md` rev 5). `AnsiParserProfile::{LineOriented,
|
||||
FullScreen}` preserves compile/REPL behavior while terminal PTYs emit the
|
||||
full cursor/mode/device operation set. `src/terminal/{screen,input,session}.rs`
|
||||
owns a bounded terminal screen, encoders, and the transactional lifecycle
|
||||
registry; one pathless read-only identity buffer anchors each private
|
||||
process/screen. Review hardening added IND/NEL/RI, `TERM=xterm-256color`,
|
||||
portable shutdown liveness, custom-tab-stop preservation, control-free
|
||||
cells, and button-preserving SGR mouse release. Final gates: 1,661 default +
|
||||
1,837 CRDT library tests; 9 default + 10 CRDT Vterm acceptance; 114 M4; 109
|
||||
required GPU; workspace 2,769 across 79 suites; CI green. This is headless:
|
||||
Vterm Stage 2 TUI/Lua and Stage 3 protocol/GPU start as separate PRs from
|
||||
post-#126 `main`.
|
||||
- **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
|
||||
|
|
@ -171,8 +184,8 @@ commands, read `docs/active-work.md` immediately after this file.
|
|||
fix (#101).
|
||||
- **Arc 4 (themes + extensibility) COMPLETE** — named UI faces (#120),
|
||||
live GPU font preferences (#124), statusline providers (#125).
|
||||
- **Arc 5 stage 1 COMPLETE** — compile mode (#113); stage 2 vterm is
|
||||
the next formal roadmap stage.
|
||||
- **Arc 5 terminal stage ACTIVE** — compile mode (#113) and Vterm terminal
|
||||
core (#126) landed; Vterm TUI is the next formal stage.
|
||||
|
||||
## 2. How we work (the part that must not drift)
|
||||
|
||||
|
|
|
|||
|
|
@ -80,15 +80,20 @@ preference at protocol v17; and composable per-window
|
|||
`pmacs.statusline` providers transported to semantic/GPU frontends by
|
||||
protocol-v18 `StatuslineSegments`.
|
||||
|
||||
### Arc 5 — Terminal, staged ← NEXT FORMAL ARC
|
||||
### Arc 5 — Terminal, staged — VTERM CORE LANDED
|
||||
|
||||
- **Stage 1 — LANDED (#113)**: compile mode streams line-oriented
|
||||
process output through the PTY/ANSI substrate, with error-regex
|
||||
navigation and `M-x compile`.
|
||||
- **Stage 2 (vterm)**: extend `ansi.rs` into a 2D grid model
|
||||
(alt-screen, cursor addressing, scrollback — parser already
|
||||
recognizes and discards these), grid-backed buffer view, GPU
|
||||
rendering question (grid cells vs text buffer).
|
||||
- **Compile mode landed in #113**: line-oriented PTY/ANSI output,
|
||||
error-regex navigation, and `M-x compile`.
|
||||
- **Vterm Stage 1 terminal core landed in #126**: compatibility parser
|
||||
profiles, bounded VT screen/scrollback/reflow state, input encoders,
|
||||
internal `TerminalManager`, read-only identity buffers, process lifecycle,
|
||||
control-free renderer-boundary cells, and headless real-PTY acceptance.
|
||||
- **Vterm Stage 2 TUI is next**: terminal-window composition, input/resize,
|
||||
per-context scroll/selection/copy, and the Lua surface.
|
||||
- **Vterm Stage 3 protocol/GPU follows Stage 2**: additive protocol v19
|
||||
complete frames, authenticated daemon routing, and native GPU terminal
|
||||
rendering. Its framing must resolve the 16 MiB transport cap's incompatibility
|
||||
with the legal worst complete terminal frame; never silently chunk.
|
||||
|
||||
### Arc 6 — Folding (keystone gutter rider)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue