6.5 KiB
Active work — cross-machine resume ledger
Snapshot: 2026-07-20. This file records volatile work that has not
landed on main. Read it after docs/agent-handoff.md. Remove completed
entries when their PR merges; do not let this become a second permanent
backlog.
Repository authority
- Canonical development remote:
githubsucks(https://github.com/levineuwirth/pmacs.git). - Canonical base at this snapshot:
githubsucks/main@f8096ff(#124 merged, protocol v17). origin/main@d3fa632is the release mirror and was 400 commits behindgithubsucks/mainat the snapshot. Do not base new work on it.- The shared desktop checkout contained unrelated uncommitted work. The branches below were prepared in isolated worktrees; never clean or overwrite the shared checkout to recover them.
Start on another machine with:
git fetch githubsucks --prune
git log -1 --oneline githubsucks/main
git worktree list
git status --short --branch
The first command must expose f8096ff or a newer intentional main.
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 before the transfer checkpoint:
4be2a65 - Original merge base:
56eb67e; current main is nine commits ahead. - Portable checkpoint branch:
githubsucks/json-yaml-handoff-2026-07-20 - Checkpoint head:
a8b7195 - The checkpoint is a continuation branch for recovery, not a second
feature and not a merge target. Finish there, then push its completed
head to
githubsucks/json-yaml-grammar.
The checkpoint carries the unpushed review-fix set that previously lived
only in ../pmacs-jsonyaml:
- push configured settings via
workspace/didChangeConfigurationimmediately afterinitialized; - 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.
Verification already completed before transfer:
- 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_sectionspassed.m4_5_initial_config_pushed_via_did_change_configurationpassed.cargo fmt --checkandgit diff --checkpassed.yaml-language-server@1.24.0standalone protocol smoke passed: initialization reported version 1.24.0; the initialworkspace/configurationrequest was exactlyyaml,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.
Still required on the destination machine:
- Add the PATH-gated real-YAML pmacs acceptance test, mirroring the JSON test. Disable SchemaStore and Kubernetes CRD catalog access in the test for deterministic, network-free operation.
- Run it against the exact Red Hat provider and require: auto-attach, initialized state, a non-empty diagnostic, and no crash.
- Update
docs/json-yaml-framing.mdif the live pmacs path reveals any difference from the standalone evidence. - Rebase the checkpoint onto current
githubsucks/main. - Run the full repository gate suite from
AGENTS.md. - Push the completed head to
githubsucks/json-yaml-grammar; confirm new PR checks belong to that head. Never merge without the user's instruction.
Provider setup is intentionally machine-local:
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:
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 - Framing head:
432e4d4 - State: framing only, revision 1, based on
f8096ff/ protocol v17. - Status: awaiting user review. No implementation and no PR.
- Scope: composable per-window Lua modeline providers, dynamic
modeline-face inventory, and protocol v18
StatuslineSegments; the built-in LSP segment is the first consumer. - Do not implement until the user approves the framing. When approved, continue on this branch so the framing remains the first commit.
Recovery worktree:
git worktree add --track \
-b statusline-segments \
../pmacs-statusline \
githubsucks/statusline-segments
Parked lane: kill-ring browser + persistence
- Portable branch:
githubsucks/kill-ring-browser - Parked framing head:
503c489 - State: framing only, revision 2; no implementation and no PR.
- Status: explicitly parked by the user on 2026-07-20.
- Its original scout was based on
0efb5cd. The preserved framing marks this ground truth stale and requires a complete re-scout against the then-currentgithubsucks/mainbefore implementation. - Compile-mode has merged since the original scout, so old “compile-mode in flight” keybinding/touch-set assumptions are not authoritative.
Recovery worktree, only when the user un-parks it:
git worktree add --track \
-b kill-ring-browser \
../pmacs-kill-ring-browser \
githubsucks/kill-ring-browser
Documentation lane
- Portable branch:
githubsucks/handoff-2026-07-20 - Carries synchronized
AGENTS.md/CLAUDE.md, this ledger, the durable handoff refresh, and the keybinding reference correction. - It changes no runtime code.
- Review and merge this documentation branch separately; it must not be folded into PR #123 or either feature framing branch.
Update protocol
Whenever a listed lane changes materially:
- update its public branch and head/state here;
- record new verification and remove superseded caveats;
- keep durable architecture in
docs/agent-handoff.md, not here; - remove the lane after merge or abandonment;
- verify every recovery command from a clean worktree before calling the transfer complete.