summaryrefslogtreecommitdiffhomepage
path: root/tasks.md
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-24 17:15:59 +0900
committerAdam Malczewski <[email protected]>2026-06-24 17:15:59 +0900
commit709f00869f7601c3e5729cbb5a2877197d3b66b8 (patch)
treef0fac62d9e68fcce3ab7362dec9091492e827c1a /tasks.md
parent8f6114be790016bd954fcfccbe80a88bd0cb758e (diff)
downloaddispatch-709f00869f7601c3e5729cbb5a2877197d3b66b8.tar.gz
dispatch-709f00869f7601c3e5729cbb5a2877197d3b66b8.zip
docs: update tasks.md (per-edit diagnostics milestone, 1468 tests) + retire stale HANDOFF.md
- tasks.md: record per-edit LSP diagnostics auto-append milestone (commit 8f6114b), fix test count 1453→1468 - HANDOFF.md: retire stale post-MVP handoff (referenced arch-rewrite path, 178 tests, next-steps all done) → current accurate pointer file
Diffstat (limited to 'tasks.md')
-rw-r--r--tasks.md18
1 files changed, 17 insertions, 1 deletions
diff --git a/tasks.md b/tasks.md
index 17ef83e..6c631b8 100644
--- a/tasks.md
+++ b/tasks.md
@@ -5,7 +5,23 @@
> Keep this lean and current; do not let it re-accrete a step-by-step changelog.
## Status (current)
-`tsc -b` EXIT 0 · biome clean · **1453 vitest** green.
+`tsc -b` EXIT 0 · biome clean · **1468 vitest** green.
+
+## Per-edit LSP diagnostics auto-append (DONE)
+After a successful `edit_file`, the extension now calls LSP `getDiagnostics` on the
+post-edit buffer and appends any errors/warnings (severity ≤ 2) to the tool result —
+so the model sees lint/diagnostics feedback inline without a separate round-trip.
+Multi-server aggregation queries ALL connected servers matching the file's extension
+(not just the first), merging diagnostics tagged by source (`[steep]`, `[ruby-lsp]`, etc.).
+Incremental sync (`textDocument/didChange`) captures each server's `change` kind during
+`initialize` and computes prefix/suffix diff ranges for `change:2` servers, full content
+for `change:1`. New pure `diff.ts` (`computeChangeRange` + `offsetToPosition`, O(n)).
+60s timeout; slow warning if >10s; graceful degradation when no LSP available. Generic
+— works for any LSP. `languageId` mapping extended (`.rb`/`.rbs`/`.c`/`.cpp`/etc.).
+- [x] Wave 1 — `packages/lsp/` (single unit): diff.ts, client, tool, diagnostics, language, types, extension. 15 new diff tests + multi-server tool test.
+- [x] Wave 2 — `packages/tool-edit-file/`: optional dep on `@dispatch/lsp` via `host.getService()` (not manifest `dependsOn`); appends diagnostics after successful edit.
+- [x] Verified: `tsc -b` EXIT 0, biome clean, **1468 vitest** pass (was 1453, +15).
+- [ ] **LIVE-VERIFIED** — not yet exercised against a real running server.
## Broken-chat self-repair (read-time reconcile) (DONE)
Conversation `77574596` broke unrecoverably: `reconcile()` only repaired orphaned