diff --git a/docs/active-work.md b/docs/active-work.md index a10dd16..d2715d3 100644 --- a/docs/active-work.md +++ b/docs/active-work.md @@ -14,8 +14,8 @@ 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` @ `96d0bae` (documentation refresh #140 atop Vterm - Stage 3 #135 and tab-width parity #137; protocol v19). + `githubsucks/main` @ `63fbc66` (one-command GPU invocation #141 atop + documentation refresh #140; protocol v19). - 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 @@ -49,53 +49,9 @@ git worktree list git status --short --branch ``` -The first command must expose `96d0bae` or a newer intentional main. +The first command must expose `63fbc66` or a newer intentional main. If it does not, stop and repair the remote/fetch configuration. -## Active lane: one-command GPU invocation - -- Portable branch: `githubsucks/gpu-invocation` -- Pull request: **#141 OPEN — do not merge without explicit user approval.** -- Base: `githubsucks/main` @ `96d0bae`; protocol remains v19. -- Implementation checkpoints: `154cb9f` (second implementation-review fixes) - atop `69825d0` (exception-safe immediate reaper ownership), `82355ca` - (first implementation-review fixes), and `6fd5834`; approved framing began - at `821835b` and is now Revision 6. -- State: both implementation reviews are resolved, all 18 acceptance criteria - complete, and the PR awaits user review. Public path is additive - `pmacs --gpu [--socket NAME|PATH]`; bare `pmacs [FILE]` remains TUI and - `pmacs --gpu FILE` remains rejected. -- Review fixes: pre-state GPU events are buffered until winit state exists; - daemon stdio is detached; spawned-child ownership is handed off without a - leak window; direct CLI guidance, help/path operands, and sibling-file - discovery are strict; transient retry, timeout reporting, hermetic socket - paths, deterministic concurrent-loser reaping, pre-I/O non-CRDT gating, and - post-SIGINT use of a pre-attached frontend have behavioral coverage. Probe - disconnect polling remains bounded and cleanup skips already-reaped PIDs. -- Verification: strict workspace and CRDT acceptance Clippy; 1,768 default + - 1,944 CRDT library tests; root CLI 33; GPU 149 required; GPU invocation - acceptance 1 default + 9 CRDT; Vterm Stage 3 7; M4 121 with 3 ignored and - the requested `basedpyright` skip; full workspace 2,961 across 85 suites - with 19 ignored and 1 requested skip; formatting and diff check clean. - Unified release build passed. Two real Wayland/Vulkan launches attached at - protocol v19; the second reused the daemon retained after the first GPU - process exited. -- Distribution remains source-checkout/workspace oriented: `pmacs-gpu` is - still unpublished. No install/service packaging claim was added. - -Recovery: - -```sh -git fetch githubsucks --prune -git worktree add --track \ - -b gpu-invocation \ - ../pmacs-gpu-invocation \ - githubsucks/gpu-invocation -cd ../pmacs-gpu-invocation -cargo build -p pmacs-gpu -cargo test --features crdt --test gpu_invocation_acceptance -``` - ## Parked lane: kill-ring browser + persistence - Portable branch: `githubsucks/kill-ring-browser` diff --git a/docs/agent-handoff.md b/docs/agent-handoff.md index 393805c..bc8163c 100644 --- a/docs/agent-handoff.md +++ b/docs/agent-handoff.md @@ -1,11 +1,11 @@ # Agent handoff — cross-machine continuity -**Last updated: 2026-07-23, with the approved one-command GPU invocation -broker implemented on open PR #141, after the documentation refresh (#140), -Vterm Stage 3 (#135, protocol v19 and native GPU terminal), tab-width -rendering parity (#137), locals-query processing (#134), modeline detection -(#132), mode system wiring (#129), config registry (#127), Vterm Stages 1–2 -(#126/#130), and completed Themes Arc 4 (#120/#124/#125).** +**Last updated: 2026-07-23, after one-command GPU invocation (#141) landed, +following the documentation refresh (#140), Vterm Stage 3 (#135, protocol v19 +and native GPU terminal), tab-width rendering parity (#137), locals-query +processing (#134), modeline detection (#132), mode system wiring (#129), +config registry (#127), Vterm Stages 1–2 (#126/#130), and completed Themes +Arc 4 (#120/#124/#125).** 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` @@ -19,21 +19,22 @@ commands, read `docs/active-work.md` immediately after this file. ## 1. Where the project stands (2026-07-23) -- `main` @ `96d0bae` (documentation refresh #140 atop Vterm Stage 3 #135 - and tab-width parity #137), protocol **v19** (`SUPPORTED=[6..=19]`; v16 = - `ThemeFacts`, v17 = `FontFacts`, v18 = `StatuslineSegments`, v19 = terminal - frames/events). -- **One-command GPU invocation is implemented on OPEN PR #141, not yet on - `main`** (`gpu-invocation`, second implementation-review checkpoint - `154cb9f`, framing Revision 6). The additive public path is - `pmacs --gpu [--socket NAME|PATH]`; bare `pmacs [FILE]` remains the TUI. - Root owns the CRDT gate, socket resolution, sibling-regular-file GPU - discovery/PATH fallback, and GPU outcome. The separate `pmacs-gpu` binary - owns connect-or-start, a five-second / 50-ms retry window, pre-winit event - buffering, daemon process-group/stdin/stdout/stderr isolation, and named - child reaping with explicit ownership handoff. Direct - `pmacs-gpu --attach RAW_PATH` remains strict, is documented as advanced, - and never auto-starts. No protocol change. +- `main` @ `63fbc66` (one-command GPU invocation #141 atop documentation + refresh #140), protocol **v19** (`SUPPORTED=[6..=19]`; v16 = `ThemeFacts`, + v17 = `FontFacts`, v18 = `StatuslineSegments`, v19 = terminal frames/events). +- **One-command GPU invocation LANDED — #141** + (`docs/gpu-invocation-framing.md` rev 6; merge `63fbc66`; two implementation + reviews). The additive public path is `pmacs --gpu [--socket NAME|PATH]`; + bare `pmacs [FILE]` remains the TUI. Root owns the CRDT gate, socket + resolution, sibling-regular-file GPU discovery/PATH fallback, and GPU + outcome. The separate `pmacs-gpu` binary owns connect-or-start, a + five-second / 50-ms retry window, pre-winit event buffering, daemon + process-group/stdin/stdout/stderr isolation, and named child reaping with + explicit ownership handoff. Direct `pmacs-gpu --attach RAW_PATH` remains + strict, is documented as advanced, and never auto-starts. No protocol + change. The initial macOS/LuaJIT CI run exceeded an unrelated outline + performance threshold (147 ms / 100 ms); the complete failed-job rerun + passed all twelve checks before merge. - **Config registry LANDED — #127** (`docs/config-registry-framing.md` rev 3; merge `2e37c04`; two review rounds). `pmacs.config` is the typed, introspectable options registry the backlog ranked first, and