docs(handoff): record JSON and YAML merge
Mark PR #123 landed at bb17ec9 and remove its completed recovery lane.
This commit is contained in:
parent
5ba9c526b4
commit
753689955d
|
|
@ -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` @ `f8096ff` (#124 merged, protocol v17).
|
`githubsucks/main` @ `bb17ec9` (#123 merged atop #124, protocol v17).
|
||||||
- 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,126 +48,9 @@ git worktree list
|
||||||
git status --short --branch
|
git status --short --branch
|
||||||
```
|
```
|
||||||
|
|
||||||
The first command must expose `f8096ff` or a newer intentional main.
|
The first command must expose `bb17ec9` 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.
|
||||||
|
|
||||||
## Active lane: PR #123 — JSON + YAML
|
|
||||||
|
|
||||||
- PR: <https://github.com/levineuwirth/pmacs/pull/123>
|
|
||||||
- Public PR branch: `githubsucks/json-yaml-grammar`
|
|
||||||
- Public PR head: `ffcb903`
|
|
||||||
- Original merge base was `56eb67e`; the completed branch is rebased onto
|
|
||||||
canonical main `f8096ff`.
|
|
||||||
- Portable checkpoint branch:
|
|
||||||
`githubsucks/json-yaml-handoff-2026-07-20`
|
|
||||||
- Checkpoint head: `ffcb903`
|
|
||||||
- The checkpoint is a continuation branch for recovery, not a second
|
|
||||||
feature and not a merge target. Its completed head now exactly matches
|
|
||||||
`githubsucks/json-yaml-grammar`.
|
|
||||||
|
|
||||||
The checkpoint carries the transferred review-fix set, completed
|
|
||||||
destination-machine continuation, and final review-documentation cleanup:
|
|
||||||
|
|
||||||
- push configured settings via
|
|
||||||
`workspace/didChangeConfiguration` immediately after `initialized`;
|
|
||||||
- fake-LSP configuration sink and a deterministic delivery test;
|
|
||||||
- explicit `json.validate.enable = true`;
|
|
||||||
- JSON provider pin
|
|
||||||
`@t1ckbase/vscode-langservers-extracted@2.0.2`;
|
|
||||||
- corrected YAML configuration sections:
|
|
||||||
`yaml`, `http`, `[yaml]`, `editor`, `files`;
|
|
||||||
- corrected telemetry, schema-network, and schema-association claims;
|
|
||||||
- PATH-gated real JSON provider integration test.
|
|
||||||
- PATH-gated real YAML 1.24.0 integration test with SchemaStore and the
|
|
||||||
Kubernetes CRD catalog disabled for network-free determinism. It pins
|
|
||||||
YAML-specific auto-attach/initialization, a real syntax diagnostic,
|
|
||||||
no crash, and continued initialized state after the diagnostic.
|
|
||||||
|
|
||||||
Verification completed across the source and destination machines:
|
|
||||||
|
|
||||||
- JSON provider standalone protocol smoke passed.
|
|
||||||
- JSON provider through pmacs passed
|
|
||||||
`m4_real_json_provider_receives_config_and_reports_diagnostics`.
|
|
||||||
- `m4_json_yaml_lsp_configs_pin_command_and_sections` passed.
|
|
||||||
- `m4_5_initial_config_pushed_via_did_change_configuration` passed.
|
|
||||||
- `cargo fmt --check` and `git diff --check` passed.
|
|
||||||
- `yaml-language-server@1.24.0` standalone protocol smoke passed:
|
|
||||||
initialization reported version 1.24.0; the initial
|
|
||||||
`workspace/configuration` request was exactly
|
|
||||||
`yaml`, `http`, `[yaml]`, `editor`, `files`; opening the document
|
|
||||||
caused a second scoped `[yaml]` request; invalid YAML produced a real
|
|
||||||
parser diagnostic; shutdown exited 0 with empty stderr.
|
|
||||||
- `m4_real_yaml_provider_pulls_config_and_reports_diagnostics` passed
|
|
||||||
against `/tmp/pmacs-yamlls` on the destination machine (0.36s).
|
|
||||||
- Bite verification passed: with `builtin/runtime/lsp.lua` swapped to
|
|
||||||
pre-JSON/YAML `56eb67e`, the real YAML test failed at the absent YAML
|
|
||||||
config rather than skipping.
|
|
||||||
- The four-commit checkpoint rebased cleanly onto canonical
|
|
||||||
`githubsucks/main` @ `f8096ff`; the rewritten portable head was pushed
|
|
||||||
with an exact force-with-lease.
|
|
||||||
- The first post-rebase Clippy pass found one `doc_markdown` warning in
|
|
||||||
the new YAML test comment. The backtick-only correction was amended
|
|
||||||
into the test commit and pushed at the checkpoint head above; the
|
|
||||||
standalone rerun passed.
|
|
||||||
- Post-rebase gates completed on checkpoint `5c202c5`:
|
|
||||||
- `cargo fmt --check` passed;
|
|
||||||
- `cargo clippy --workspace --all-targets -- -D warnings` passed as its
|
|
||||||
own step;
|
|
||||||
- `cargo test --lib`: 1,594 passed, 3 ignored;
|
|
||||||
- `cargo test --lib --features crdt`: 1,768 passed, 3 ignored;
|
|
||||||
- `cargo test --test m4_acceptance -- --skip basedpyright` with both
|
|
||||||
pinned providers on PATH: 114 passed, 3 ignored, 1 filtered; the
|
|
||||||
real JSON and real YAML tests both ran and passed;
|
|
||||||
- `PMACS_REQUIRE_GPU=1 cargo test -p pmacs-gpu`: 102 passed against a
|
|
||||||
real GPU device.
|
|
||||||
- `cargo test --workspace -- --skip basedpyright` passed as one
|
|
||||||
pipefail-protected invocation with both pinned providers on PATH; its
|
|
||||||
complete machine-local log is
|
|
||||||
`/tmp/pmacs-json-yaml-workspace-5c202c5.log`, and the log confirms both
|
|
||||||
live provider tests ran and passed.
|
|
||||||
- Final-head `cargo fmt --check`, `git diff --check`, and clean-worktree
|
|
||||||
audit passed.
|
|
||||||
- The completed head was pushed to `githubsucks/json-yaml-grammar` with
|
|
||||||
an exact force-with-lease. PR #123 is open against `main` at full OID
|
|
||||||
`5c202c54c19c05b0824812a578463ec082810981`; fresh CI run
|
|
||||||
`29778967156` completed successfully for that head: all 12 jobs passed
|
|
||||||
(format; LuaJIT/Lua 5.4 lint and Linux/macOS tests; headless GPU; and
|
|
||||||
M1/M4/M5/M6 gates).
|
|
||||||
- Review cleanup `ffcb903` refreshes the stale YAML transfer-task test
|
|
||||||
comment and the framing/handoff checkpoint status. Its targeted
|
|
||||||
`m4_json_yaml_lsp_configs_pin_command_and_sections`, `cargo fmt --check`,
|
|
||||||
and `git diff --check` verification passed; both public and checkpoint
|
|
||||||
refs were fast-forwarded to it.
|
|
||||||
|
|
||||||
Still required:
|
|
||||||
|
|
||||||
1. Await user review. Never merge without the user's instruction.
|
|
||||||
|
|
||||||
Provider setup is intentionally machine-local:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install --prefix /tmp/pmacs-jsonls \
|
|
||||||
@t1ckbase/vscode-langservers-extracted@2.0.2
|
|
||||||
npm install --prefix /tmp/pmacs-yamlls \
|
|
||||||
yaml-language-server@1.24.0
|
|
||||||
```
|
|
||||||
|
|
||||||
The Node language servers had to run outside the prior machine's
|
|
||||||
restrictive execution sandbox. The `/tmp` prefixes and smoke harnesses
|
|
||||||
do not travel.
|
|
||||||
|
|
||||||
Recovery worktree:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
git worktree add --track \
|
|
||||||
-b json-yaml-handoff-2026-07-20 \
|
|
||||||
../pmacs-jsonyaml-home \
|
|
||||||
githubsucks/json-yaml-handoff-2026-07-20
|
|
||||||
```
|
|
||||||
|
|
||||||
If that local branch name already exists, omit `--track -b ...` and
|
|
||||||
give the existing local branch as the final argument.
|
|
||||||
|
|
||||||
## Active lane: Arc 4 stage 3 — statusline segments
|
## Active lane: Arc 4 stage 3 — statusline segments
|
||||||
|
|
||||||
- Portable branch: `githubsucks/statusline-segments`
|
- Portable branch: `githubsucks/statusline-segments`
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
# Agent handoff — cross-machine continuity
|
# Agent handoff — cross-machine continuity
|
||||||
|
|
||||||
**Last updated: 2026-07-21, after the JSON/YAML review-documentation
|
**Last updated: 2026-07-21, after JSON/YAML (#123) merged and the
|
||||||
cleanup and the cross-machine continuity audit;
|
cross-machine continuity audit; main also reflects GPU font preferences
|
||||||
main still reflects GPU font preferences (#124), themes stage 1 (#120),
|
(#124), themes stage 1 (#120), and injections (#122).** This file is the
|
||||||
and injections (#122).** 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`
|
||||||
files ARE your memory. Read this fully before taking on work, seed
|
files ARE your memory. Read this fully before taking on work, seed
|
||||||
|
|
@ -14,11 +13,11 @@ reads it the way you just did.
|
||||||
For volatile branches, checkpoints, verification, and recovery
|
For volatile branches, checkpoints, verification, and recovery
|
||||||
commands, read `docs/active-work.md` immediately after this file.
|
commands, read `docs/active-work.md` immediately after this file.
|
||||||
|
|
||||||
## 1. Where the project stands (2026-07-20)
|
## 1. Where the project stands (2026-07-21)
|
||||||
|
|
||||||
- `main` @ `f8096ff` (GPU font preferences #124 merged), protocol
|
- `main` @ `bb17ec9` (JSON + YAML #123 merged atop GPU font preferences
|
||||||
**v17** (`SUPPORTED=[6..17]`; v15→16 shipped `ThemeFacts`, v16→17
|
#124), protocol **v17** (`SUPPORTED=[6..17]`; v15→16 shipped
|
||||||
shipped `FontFacts`).
|
`ThemeFacts`, v16→17 shipped `FontFacts`).
|
||||||
- **Syntax-highlight / language-detection side-quest (#114–#118)
|
- **Syntax-highlight / language-detection side-quest (#114–#118)
|
||||||
LANDED** — a one-shot arc built in sibling worktrees off main while
|
LANDED** — a one-shot arc built in sibling worktrees off main while
|
||||||
the user's themes lane (`theme-faces`) ran concurrently in the shared
|
the user's themes lane (`theme-faces`) ran concurrently in the shared
|
||||||
|
|
@ -75,6 +74,16 @@ commands, read `docs/active-work.md` immediately after this file.
|
||||||
`inline` node; matches tree-sitter-md's own splitter), and the wire
|
`inline` node; matches tree-sitter-md's own splitter), and the wire
|
||||||
flattener runs over the WHOLE buffer via the file-style summary, so it
|
flattener runs over the WHOLE buffer via the file-style summary, so it
|
||||||
must be an event sweep, not O(spans²).
|
must be an event sweep, not O(spans²).
|
||||||
|
- **JSON + YAML grammars and language servers (#123) LANDED** — bundled
|
||||||
|
ABI-current `tree-sitter-json` / `tree-sitter-yaml` cover `.json`,
|
||||||
|
`.yaml`, and `.yml`; the existing injection engine now highlights YAML
|
||||||
|
frontmatter and JSON/YAML fences. Default external LSP configs are the
|
||||||
|
pinned `vscode-json-language-server` provider and
|
||||||
|
`yaml-language-server`; configured settings are pushed after
|
||||||
|
`initialized`, which also supports push-model servers. The fake-server
|
||||||
|
delivery proof and PATH-gated live JSON/YAML provider smokes cover the
|
||||||
|
configuration contract. `.jsonc` / `.json5` remain a deliberate
|
||||||
|
follow-up because the JSON grammar is strict.
|
||||||
- **Compile-mode (Arc 5 stage 1, #113) LANDED** (2026-07-14, 7 rounds;
|
- **Compile-mode (Arc 5 stage 1, #113) LANDED** (2026-07-14, 7 rounds;
|
||||||
framing `docs/compile-mode-framing.md` rev 13). `compile.run` streams
|
framing `docs/compile-mode-framing.md` rev 13). `compile.run` streams
|
||||||
`/bin/sh -c "exec 2>&1; <cmd>"` into an intercept-read-only
|
`/bin/sh -c "exec 2>&1; <cmd>"` into an intercept-read-only
|
||||||
|
|
@ -140,15 +149,6 @@ commands, read `docs/active-work.md` immediately after this file.
|
||||||
`StatuslineSegments` channel; the existing LSP status tracker is the
|
`StatuslineSegments` channel; the existing LSP status tracker is the
|
||||||
first built-in provider. Approval → implementation → gates → PR.
|
first built-in provider. Approval → implementation → gates → PR.
|
||||||
Completing stage 3 completes Arc 4.
|
Completing stage 3 completes Arc 4.
|
||||||
- **OPEN: JSON + YAML PR #123.** Public and checkpoint branches both
|
|
||||||
point to review-cleanup `ffcb903`, atop fully gated `5c202c5` rebased
|
|
||||||
onto `f8096ff`. Review fixes include config push delivery, corrected
|
|
||||||
provider/config claims, both live-provider paths, and the final stale
|
|
||||||
checkpoint-text cleanup; the real YAML-through-pmacs smoke proves
|
|
||||||
auto-attach, network-free configuration, diagnostics, and continued
|
|
||||||
liveness against Red Hat 1.24.0. CI run `29778967156` passed all 12
|
|
||||||
jobs for `5c202c5`; the doc-only cleanup passed its targeted checks and
|
|
||||||
the PR awaits user review. Exact recovery is in `docs/active-work.md`.
|
|
||||||
- **PARKED: kill-ring browser + persistence.** Revision 2 framing is
|
- **PARKED: kill-ring browser + persistence.** Revision 2 framing is
|
||||||
preserved on branch `kill-ring-browser`, but its `0efb5cd` scout is
|
preserved on branch `kill-ring-browser`, but its `0efb5cd` scout is
|
||||||
stale and must be repeated before implementation. No PR or
|
stale and must be repeated before implementation. No PR or
|
||||||
|
|
@ -357,13 +357,11 @@ runtime/Lua-registered languages (v1 resolves only against
|
||||||
`BUILTIN_LANGUAGES`), and the next injection *consumers* gated on new
|
`BUILTIN_LANGUAGES`), and the next injection *consumers* gated on new
|
||||||
grammars — HTML/CSS/GraphQL/SQL (`<script>`/`<style>`, JS/TS template
|
grammars — HTML/CSS/GraphQL/SQL (`<script>`/`<style>`, JS/TS template
|
||||||
literals, doc-comment code); modeline detection as a 5th layer
|
literals, doc-comment code); modeline detection as a 5th layer
|
||||||
(`-*- mode: … -*-` / `# vim: ft=…`); JSON/YAML grammars+LSP
|
(`-*- mode: … -*-` / `# vim: ft=…`);
|
||||||
(PR #123 open; checkpoint and remaining verification are in
|
|
||||||
`docs/active-work.md`);
|
|
||||||
byte-accurate multibyte cursor placement in `move_active_cursor_to`
|
byte-accurate multibyte cursor placement in `move_active_cursor_to`
|
||||||
(still steps one codepoint per LSP byte column). A full Jupyter `.ipynb`
|
(still steps one codepoint per LSP byte column). A full Jupyter `.ipynb`
|
||||||
setup (reader → editable → kernel execution) is a real arc now gated on
|
setup (reader → editable → kernel execution) now has its JSON grammar
|
||||||
**JSON** (injections shipped in #122), NOT a one-shot.
|
prerequisite, but remains a real arc, not a one-shot.
|
||||||
GPU: auto-reconnect after daemon restart, splits/multi-buffer, gutter
|
GPU: auto-reconnect after daemon restart, splits/multi-buffer, gutter
|
||||||
riders (whitespace guides, folding, git markers).
|
riders (whitespace guides, folding, git markers).
|
||||||
Themes (full list in theme-faces framing rev 9 "Deferred (named)"):
|
Themes (full list in theme-faces framing rev 9 "Deferred (named)"):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue