Merge pull request #136 from levineuwirth/locals-query-handoff
Record landed locals-query processing
This commit is contained in:
commit
40111dc2b0
|
|
@ -14,7 +14,7 @@ backlog.
|
||||||
machine-local: `origin` may name this canonical URL, a release mirror,
|
machine-local: `origin` may name this canonical URL, a release mirror,
|
||||||
or something else, and therefore has no authority by name alone.
|
or something else, and therefore has no authority by name alone.
|
||||||
- Canonical base at this snapshot:
|
- 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
|
- On the transfer source, `origin/main` named a release mirror at
|
||||||
`d3fa632` and lagged badly. On the current destination, `origin` names
|
`d3fa632` and lagged badly. On the current destination, `origin` names
|
||||||
the canonical URL. This difference is why all recovery begins by
|
the canonical URL. This difference is why all recovery begins by
|
||||||
|
|
@ -48,43 +48,9 @@ git worktree list
|
||||||
git status --short --branch
|
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.
|
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, <https://github.com/levineuwirth/pmacs/pull/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
|
## Parked lane: kill-ring browser + persistence
|
||||||
|
|
||||||
- Portable branch: `githubsucks/kill-ring-browser`
|
- Portable branch: `githubsucks/kill-ring-browser`
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
# Agent handoff — cross-machine continuity
|
# Agent handoff — cross-machine continuity
|
||||||
|
|
||||||
**Last updated: 2026-07-22, with locals-query processing (#134) implemented
|
**Last updated: 2026-07-22, after locals-query processing (#134) landed on
|
||||||
and awaiting review, after modeline language
|
`main`, following modeline language detection (#132), Vterm Stage 2 (#130),
|
||||||
detection (#132), Vterm Stage 2 (#130), and mode system wiring (#129/#131)
|
and mode system wiring (#129/#131). Vterm Stage 3 is not implemented.**
|
||||||
landed on `main`. Vterm Stage 3 is not implemented.**
|
|
||||||
This file is the
|
This file is the
|
||||||
bridge between development machines. If you are an agent reading
|
bridge between development machines. If you are an agent reading
|
||||||
this on a fresh clone: this document plus the `docs/*-framing.md`
|
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)
|
## 1. Where the project stands (2026-07-22)
|
||||||
|
|
||||||
- `main` @ `8bd8298` (landed-state handoff #133; latest runtime merge
|
- `main` @ `8cbb9f4` (locals-query processing #134), protocol **v18**
|
||||||
`1dd47fc`, modeline detection #132), protocol **v18**
|
|
||||||
(`SUPPORTED=[6..18]`; v16 = `ThemeFacts`, v17 = `FontFacts`, v18 =
|
(`SUPPORTED=[6..18]`; v16 = `ThemeFacts`, v17 = `FontFacts`, v18 =
|
||||||
`StatuslineSegments`).
|
`StatuslineSegments`).
|
||||||
- **Config registry LANDED — #127** (`docs/config-registry-framing.md`
|
- **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.
|
`workspace/configuration`). Make has no server.
|
||||||
- **Substrate**: `LanguageEntry.highlights_query` and `.locals_query` are
|
- **Substrate**: `LanguageEntry.highlights_query` and `.locals_query` are
|
||||||
`&[&'static str]` fragments joined base-first (cuda over c/cpp; ts over
|
`&[&'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/
|
grammar's `LOCALS_QUERY`, resolves Tree-sitter's scope/definition/value/
|
||||||
reference conventions into sorted `LocalFacts`, and stores them beside
|
reference conventions into sorted `LocalFacts`, and stores them beside
|
||||||
each layer's tree/query. Work runs once per fresh bundle and only when the
|
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.
|
editing/indent/comment items that were config-blocked.
|
||||||
- **Mode system wiring COMPLETE (#129)** — major-mode keymaps,
|
- **Mode system wiring COMPLETE (#129)** — major-mode keymaps,
|
||||||
introspection, lifecycle initialization, and statusline display shipped.
|
introspection, lifecycle initialization, and statusline display shipped.
|
||||||
- **Locals-query processing IN REVIEW — #134** — grammar locals metadata,
|
- **Locals-query processing COMPLETE — #134** — grammar locals metadata,
|
||||||
lexical resolution, settled per-layer facts, and shared TUI/GPU
|
lexical resolution, settled per-layer facts, shared TUI/GPU
|
||||||
local-predicate filtering are implemented on `locals-query-processing`
|
local-predicate filtering, and a registry-wide locals-query invariant
|
||||||
@ `47ffe5d`.
|
shipped without a protocol change.
|
||||||
- Remaining ranked arcs: 6 folding, 7 DAP, 8 GPU splits, plus the
|
- Remaining ranked arcs: 6 folding, 7 DAP, 8 GPU splits, plus the
|
||||||
`.ipynb` arc (its JSON-grammar prerequisite shipped in #123).
|
`.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
|
mode-scoped settings, `describe-mode`, and persistence of explicit
|
||||||
major-mode overrides/clears across sessions. Modeline detection shipped in #132.
|
major-mode overrides/clears across sessions. Modeline detection shipped in #132.
|
||||||
Highlight/detection (from the #114–#118 side-quest + injections #122):
|
Highlight/detection (from the #114–#118 side-quest + injections #122):
|
||||||
locals-query processing (run each grammar's LOCALS_QUERY so
|
~~locals-query processing~~ **SHIPPED #134**; remaining injection follow-ups
|
||||||
`#is?`/`#is-not? local` is honored instead of the current fail-closed
|
now that the engine landed (#122) —
|
||||||
drop — restores `.builtin` styling for non-shadowed console/require
|
|
||||||
etc.); **injection follow-ups now the engine landed (#122)** —
|
|
||||||
`injection.combined` (many matches → one shared parse; PHP-in-HTML, some
|
`injection.combined` (many matches → one shared parse; PHP-in-HTML, some
|
||||||
comment schemes), child-tree incrementality + range-scoped layer rebuild
|
comment schemes), child-tree incrementality + range-scoped layer rebuild
|
||||||
(child layers cold-reparse on every settle today), injectable
|
(child layers cold-reparse on every settle today), injectable
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
# Locals-query processing - syntax-highlight completion
|
# 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
|
**Base:** `githubsucks/main` at `8bd8298` (mode system #129, Vterm Stage 2
|
||||||
#130, modeline detection #132, and landed-state handoff #133). Protocol remains
|
#130, modeline detection #132, and landed-state handoff #133). Protocol remains
|
||||||
|
|
|
||||||
|
|
@ -25,10 +25,10 @@ cross-cutting index. Keep it pruned as items ship.
|
||||||
|
|
||||||
The direct continuation of the #114–#118 grammar/detection stack.
|
The direct continuation of the #114–#118 grammar/detection stack.
|
||||||
|
|
||||||
- **Locals-query processing** — run each grammar's `LOCALS_QUERY` so
|
- **Locals-query processing — SHIPPED (#134).** Bundled Lua/JavaScript/
|
||||||
`#is?`/`#is-not? local` is honored (restores `.builtin` styling for
|
TypeScript locals queries now drive settled per-layer lexical facts, and
|
||||||
*non-shadowed* console/require etc.), replacing the current
|
both highlight producers honor `#is?`/`#is-not? local`. Non-shadowed
|
||||||
fail-closed drop in `compute_highlight_spans`.
|
builtins regain `.builtin` styling while shadowed names stay ordinary.
|
||||||
- **Multi-language injections — SHIPPED (#122).** The load-bearing
|
- **Multi-language injections — SHIPPED (#122).** The load-bearing
|
||||||
engine landed: `ParseTreeBundle` holds `Vec<Layer>`, the worker builds
|
engine landed: `ParseTreeBundle` holds `Vec<Layer>`, the worker builds
|
||||||
child trees off the static grammar table, settle resolves per-layer
|
child trees off the static grammar table, settle resolves per-layer
|
||||||
|
|
@ -237,13 +237,12 @@ guides (visual, not color).
|
||||||
|
|
||||||
## North star (highest-leverage first)
|
## North star (highest-leverage first)
|
||||||
|
|
||||||
**The original north-star items and mode-system wiring have now shipped** —
|
**The original north-star items, mode-system wiring, and locals-query
|
||||||
multi-language injections (#122), the config registry (#127), JSON + YAML
|
processing have now shipped** — multi-language injections (#122), the config
|
||||||
(#123), and mode-system wiring (#129). The remaining board:
|
registry (#127), JSON + YAML (#123), mode-system wiring (#129), and locals
|
||||||
|
queries (#134). The remaining board:
|
||||||
|
|
||||||
1. **Locals-query processing** — restores `.builtin` styling for
|
1. **Tab-width rendering parity** — five constants across two crates
|
||||||
non-shadowed builtins, the last rough edge of the highlight stack.
|
|
||||||
2. **Tab-width rendering parity** — five constants across two crates
|
|
||||||
with two different values, and no tab expansion at all on the GPU
|
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
|
main text path. Explicitly NOT a config-registry task; see the entry
|
||||||
under "Cross-cutting substrate".
|
under "Cross-cutting substrate".
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue