From 753689955d7deef786d17d157e69c91ee6adda23 Mon Sep 17 00:00:00 2001 From: Levi Neuwirth Date: Tue, 21 Jul 2026 09:48:46 -0400 Subject: [PATCH] docs(handoff): record JSON and YAML merge Mark PR #123 landed at bb17ec9 and remove its completed recovery lane. --- docs/active-work.md | 121 +----------------------------------------- docs/agent-handoff.md | 42 +++++++-------- 2 files changed, 22 insertions(+), 141 deletions(-) diff --git a/docs/active-work.md b/docs/active-work.md index 8af2262..92b317d 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` @ `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 `d3fa632` and lagged badly. On the current destination, `origin` names the canonical URL. This difference is why all recovery begins by @@ -48,126 +48,9 @@ git worktree list 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. -## Active lane: PR #123 — JSON + YAML - -- PR: -- 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 - Portable branch: `githubsucks/statusline-segments` diff --git a/docs/agent-handoff.md b/docs/agent-handoff.md index 5713d05..2b407f9 100644 --- a/docs/agent-handoff.md +++ b/docs/agent-handoff.md @@ -1,9 +1,8 @@ # Agent handoff — cross-machine continuity -**Last updated: 2026-07-21, after the JSON/YAML review-documentation -cleanup and the cross-machine continuity audit; -main still reflects GPU font preferences (#124), themes stage 1 (#120), -and injections (#122).** This file is the +**Last updated: 2026-07-21, after JSON/YAML (#123) merged and the +cross-machine continuity audit; main also reflects GPU font preferences +(#124), themes stage 1 (#120), and injections (#122).** 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` 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 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 - **v17** (`SUPPORTED=[6..17]`; v15→16 shipped `ThemeFacts`, v16→17 - shipped `FontFacts`). +- `main` @ `bb17ec9` (JSON + YAML #123 merged atop GPU font preferences + #124), protocol **v17** (`SUPPORTED=[6..17]`; v15→16 shipped + `ThemeFacts`, v16→17 shipped `FontFacts`). - **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 @@ -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 flattener runs over the WHOLE buffer via the file-style summary, so it 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; framing `docs/compile-mode-framing.md` rev 13). `compile.run` streams `/bin/sh -c "exec 2>&1; "` 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 first built-in provider. Approval → implementation → gates → PR. 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 preserved on branch `kill-ring-browser`, but its `0efb5cd` scout is 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 grammars — HTML/CSS/GraphQL/SQL (`