diff --git a/docs/agent-handoff.md b/docs/agent-handoff.md index 4d447a4..95839b6 100644 --- a/docs/agent-handoff.md +++ b/docs/agent-handoff.md @@ -11,10 +11,8 @@ next machine reads it the way you just did. ## 1. Where the project stands (2026-07-21) -- Canonical `main` @ `bb17ec9` (#123 merged atop #124), protocol - **v17** (`SUPPORTED=[6..17]`). The rebased `statusline-segments` - branch implements protocol v18, but v18 is **not on main** until - review and merge. +- Canonical `main` @ `7bc0c61` (#125 merged), protocol + **v18** (`SUPPORTED=[6..18]`). - **Syntax-highlight / language-detection side-quest (#114–#118) LANDED** — a one-shot arc built in sibling worktrees off main while the user's themes lane (`theme-faces`) ran concurrently in the shared @@ -100,8 +98,7 @@ next machine reads it the way you just did. `pmacs.editor.take_typed_edit()` (buffer-revision postcondition, Q#AP9). Substrate: `buf:path()`, `pmacs.lsp.buffer_language(buf)`, `PMACS_FAKE_LSP_CHANGE_SINK`, `TestDaemon::spawn_with_config`. -- **Themes (Arc 4) stages 1 and 2 LANDED; stage 3 IMPLEMENTED ON ITS - FEATURE BRANCH, AWAITING REVIEW.** +- **Themes (Arc 4) stages 1–3 LANDED; Arc 4 COMPLETE ON `main`.** - Stage 1 (#120, `docs/theme-faces-framing.md` rev 9): named UI faces as reserved `ui`/`ui.*` theme entries; transactional split syntax/face epochs; protocol-v16 `ThemeFacts`; snapshot/baseline @@ -110,7 +107,7 @@ next machine reads it the way you just did. `pmacs.gpu.set_font` and authoritative protocol-v17 `FontFacts`; frontend-local family resolution, live font reload/reflow, and visual-run caret geometry. - - Stage 3 (`statusline-segments`, + - Stage 3 (#125, `statusline-segments`, `docs/statusline-segments-framing.md` rev 3): composable strict `pmacs.statusline` providers; borrow-released per-window evaluation with failure latches; legacy-preserving TUI composition; a pure @@ -121,10 +118,13 @@ next machine reads it the way you just did. Clippy clean; 1,619 default + 1,793 CRDT library tests; 7 default + 8 CRDT feature acceptance; 114 M4; 109 required GPU; one-invocation workspace sweep 2,718 passed across 78 suites (19 ignored, - `basedpyright` filtered); `git diff --check` clean. This branch is - awaiting review and **must not be described as merged**. + `basedpyright` filtered); `git diff --check` clean. Stage 3 landed + as #125 and completed Arc 4 on `main`. - **Vterm Stage 1 terminal core IMPLEMENTED ON `vterm-core`, FULLY GATED, AWAITING REVIEW, NOT MERGED** (`docs/vterm-framing.md` rev 3). + - Feature commit: `bbc1f33`; pull request: #126, + (open, non-draft, + targeting `main`). - `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 the state machine, diff --git a/docs/roadmap-2026-07.md b/docs/roadmap-2026-07.md index a9173b0..64d974d 100644 --- a/docs/roadmap-2026-07.md +++ b/docs/roadmap-2026-07.md @@ -80,16 +80,13 @@ saveplace, autosave + crash recovery, optional backups. Generalize the question: what is a "session" in a daemon world; do CRDT snapshots ride along. -### Arc 4 — Themes + extensibility surface — COMPLETE ON FEATURE BRANCH +### Arc 4 — Themes + extensibility surface — COMPLETE ON `main` -Stages 1 and 2 landed as #120 and #124: named `ui.*` faces with -daemon-resolved `ThemeFacts`, then the live global -`pmacs.gpu.set_font` preference at protocol v17. Stage 3 is implemented -and fully gated on `statusline-segments`, awaiting review and **not yet -merged**: composable `pmacs.statusline` providers, per-window TUI -composition, a pure built-in LSP segment, dynamic modeline faces, and -semantic/GPU transport through protocol v18. Merging stage 3 completes -Arc 4 on `main`. +All three stages landed: #120 added named `ui.*` faces and daemon-resolved +`ThemeFacts`; #124 added the live global `pmacs.gpu.set_font` preference at +protocol v17; and #125 added composable `pmacs.statusline` providers, +per-window TUI composition, a pure built-in LSP segment, dynamic modeline +faces, and semantic/GPU transport through protocol v18. ### Arc 5 — Terminal, staged — VTERM STAGE 1 ON FEATURE BRANCH diff --git a/docs/vterm-framing.md b/docs/vterm-framing.md index c460b11..ceb88d0 100644 --- a/docs/vterm-framing.md +++ b/docs/vterm-framing.md @@ -35,9 +35,10 @@ later stage starts only after the preceding stage lands on `main`. ## 0. Revision 3 — Stage 1 implementation record The first of the three vterm PRs is implemented on `vterm-core`, fully gated, -and awaiting review. It is deliberately headless: there is no `pmacs.terminal` -Lua module, interactive terminal command, TUI paint branch, or GPU/protocol -surface yet. +and awaiting review. Feature commit `bbc1f33` is published as open, non-draft +PR #126, , targeting `main`. +It is deliberately headless: there is no `pmacs.terminal` Lua module, +interactive terminal command, TUI paint branch, or GPU/protocol surface yet. ### 0.1 Public seam and ownership @@ -771,10 +772,12 @@ Per-stage utilization: ## 8. Branch and PR plan -Stage 1 is now implemented and fully gated on `vterm-core`, awaiting review and -not merged. Continue the approved plan only after the preceding PR lands: +Stage 1 is implemented and fully gated on `vterm-core` at `bbc1f33`, published +as open, non-draft PR #126 (), +targeting `main` and not merged. Continue the approved plan only after the +preceding PR lands: -1. review `vterm-core`; merge only when the user says; +1. review PR #126; merge only when the user says; 2. after stage 1 merges, create `pmacs-vterm-tui`, branch `vterm-tui`, from the new `main`; implement/gate/open a second PR; 3. after stage 2 merges, create `pmacs-vterm-gpu`, branch `vterm-gpu`, from the