diff --git a/docs/active-work.md b/docs/active-work.md index 559df74..8ee476f 100644 --- a/docs/active-work.md +++ b/docs/active-work.md @@ -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` @ `8bd8298` (landed-state handoff #133; protocol v18). + `githubsucks/main` @ `8cbb9f4` (locals-query processing #134; 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,43 +48,9 @@ git worktree list git status --short --branch ``` -The first command must expose `8bd8298` or a newer intentional main. +The first command must expose `8cbb9f4` or a newer intentional main. If it does not, stop and repair the remote/fetch configuration. -## Locals-query processing lane - -- Portable branch: `githubsucks/locals-query-processing` -- Base: canonical `main` @ `8bd8298`. -- Framing head: `42a28b9` (`docs/locals-query-processing-framing.md`). -- Implementation head: `47ffe5d`. -- PR: #134, , open for review. - Implementation is complete; protocol remains v18. -- Scope: bundled Lua/JavaScript/TypeScript locals metadata, lexical - scope/definition/value/reference resolution cached on each settled layer, - and shared `#is?`/`#is-not? local` filtering in the TUI and semantic/GPU - highlight producers. -- Focused verification: - - default and Lua 5.4 lexical suites: 35 passed each; - - default and Lua 5.4 end-to-end render/edit acceptance: 1 passed each. -- Full pre-PR verification: - - `cargo fmt --check`: clean; - - strict workspace Clippy: clean; - - default library: 1,757 passed (3 ignored); - - CRDT library: 1,933 passed (3 ignored); - - M4 acceptance excluding basedpyright: 121 passed, 3 ignored, 1 filtered; - - required GPU: 109 passed; - - workspace: 2,893 passed across 82 suites, 19 ignored, 1 filtered; - - `git diff --check`: clean. - -Recovery worktree on a machine that does not already own the branch: - -```sh -git worktree add --track \ - -b locals-query-processing \ - ../pmacs-locals-query \ - githubsucks/locals-query-processing -``` - ## 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 c2124f3..17eae1c 100644 --- a/docs/agent-handoff.md +++ b/docs/agent-handoff.md @@ -1,9 +1,8 @@ # Agent handoff — cross-machine continuity -**Last updated: 2026-07-22, with locals-query processing (#134) implemented -and awaiting review, after modeline language -detection (#132), Vterm Stage 2 (#130), and mode system wiring (#129/#131) -landed on `main`. Vterm Stage 3 is not implemented.** +**Last updated: 2026-07-22, after locals-query processing (#134) landed on +`main`, following modeline language detection (#132), Vterm Stage 2 (#130), +and mode system wiring (#129/#131). 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` @@ -17,8 +16,7 @@ commands, read `docs/active-work.md` immediately after this file. ## 1. Where the project stands (2026-07-22) -- `main` @ `8bd8298` (landed-state handoff #133; latest runtime merge - `1dd47fc`, modeline detection #132), protocol **v18** +- `main` @ `8cbb9f4` (locals-query processing #134), protocol **v18** (`SUPPORTED=[6..18]`; v16 = `ThemeFacts`, v17 = `FontFacts`, v18 = `StatuslineSegments`). - **Config registry LANDED — #127** (`docs/config-registry-framing.md` @@ -120,7 +118,7 @@ commands, read `docs/active-work.md` immediately after this file. `workspace/configuration`). Make has no server. - **Substrate**: `LanguageEntry.highlights_query` and `.locals_query` are `&[&'static str]` fragments joined base-first (cuda over c/cpp; ts over - js/jsx). On `locals-query-processing` @ `47ffe5d`, settle compiles the + js/jsx). Since locals-query processing #134, settle compiles the grammar's `LOCALS_QUERY`, resolves Tree-sitter's scope/definition/value/ reference conventions into sorted `LocalFacts`, and stores them beside each layer's tree/query. Work runs once per fresh bundle and only when the @@ -341,10 +339,10 @@ commands, read `docs/active-work.md` immediately after this file. editing/indent/comment items that were config-blocked. - **Mode system wiring COMPLETE (#129)** — major-mode keymaps, introspection, lifecycle initialization, and statusline display shipped. - - **Locals-query processing IN REVIEW — #134** — grammar locals metadata, - lexical resolution, settled per-layer facts, and shared TUI/GPU - local-predicate filtering are implemented on `locals-query-processing` - @ `47ffe5d`. + - **Locals-query processing COMPLETE — #134** — grammar locals metadata, + lexical resolution, settled per-layer facts, shared TUI/GPU + local-predicate filtering, and a registry-wide locals-query invariant + shipped without a protocol change. - Remaining ranked arcs: 6 folding, 7 DAP, 8 GPU splits, plus the `.ipynb` arc (its JSON-grammar prerequisite shipped in #123). @@ -579,10 +577,8 @@ Mode system (SHIPPED #129): minor modes, `buffer.after-mode-change`, mode-scoped settings, `describe-mode`, and persistence of explicit major-mode overrides/clears across sessions. Modeline detection shipped in #132. Highlight/detection (from the #114–#118 side-quest + injections #122): -locals-query processing (run each grammar's LOCALS_QUERY so -`#is?`/`#is-not? local` is honored instead of the current fail-closed -drop — restores `.builtin` styling for non-shadowed console/require -etc.); **injection follow-ups now the engine landed (#122)** — +~~locals-query processing~~ **SHIPPED #134**; remaining injection follow-ups +now that the engine landed (#122) — `injection.combined` (many matches → one shared parse; PHP-in-HTML, some comment schemes), child-tree incrementality + range-scoped layer rebuild (child layers cold-reparse on every settle today), injectable diff --git a/docs/locals-query-processing-framing.md b/docs/locals-query-processing-framing.md index 4cba836..2f10f85 100644 --- a/docs/locals-query-processing-framing.md +++ b/docs/locals-query-processing-framing.md @@ -1,6 +1,7 @@ # Locals-query processing - syntax-highlight completion -**Status:** Revision 1, implementation active by user direction, 2026-07-22. +**Status:** Revision 1 implemented and landed as PR #134 on 2026-07-22 +(`8cbb9f4`). Protocol remains v18. **Base:** `githubsucks/main` at `8bd8298` (mode system #129, Vterm Stage 2 #130, modeline detection #132, and landed-state handoff #133). Protocol remains diff --git a/docs/side-quest-backlog.md b/docs/side-quest-backlog.md index 324673c..9e2609a 100644 --- a/docs/side-quest-backlog.md +++ b/docs/side-quest-backlog.md @@ -25,10 +25,10 @@ cross-cutting index. Keep it pruned as items ship. The direct continuation of the #114–#118 grammar/detection stack. -- **Locals-query processing** — run each grammar's `LOCALS_QUERY` so - `#is?`/`#is-not? local` is honored (restores `.builtin` styling for - *non-shadowed* console/require etc.), replacing the current - fail-closed drop in `compute_highlight_spans`. +- **Locals-query processing — SHIPPED (#134).** Bundled Lua/JavaScript/ + TypeScript locals queries now drive settled per-layer lexical facts, and + both highlight producers honor `#is?`/`#is-not? local`. Non-shadowed + builtins regain `.builtin` styling while shadowed names stay ordinary. - **Multi-language injections — SHIPPED (#122).** The load-bearing engine landed: `ParseTreeBundle` holds `Vec`, the worker builds child trees off the static grammar table, settle resolves per-layer @@ -237,13 +237,12 @@ guides (visual, not color). ## North star (highest-leverage first) -**The original north-star items and mode-system wiring have now shipped** — -multi-language injections (#122), the config registry (#127), JSON + YAML -(#123), and mode-system wiring (#129). The remaining board: +**The original north-star items, mode-system wiring, and locals-query +processing have now shipped** — multi-language injections (#122), the config +registry (#127), JSON + YAML (#123), mode-system wiring (#129), and locals +queries (#134). The remaining board: -1. **Locals-query processing** — restores `.builtin` styling for - non-shadowed builtins, the last rough edge of the highlight stack. -2. **Tab-width rendering parity** — five constants across two crates +1. **Tab-width rendering parity** — five constants across two crates with two different values, and no tab expansion at all on the GPU main text path. Explicitly NOT a config-registry task; see the entry under "Cross-cutting substrate".