4.7 KiB
4.7 KiB
当前进展
Current Focus
- 已完成严格 LSP core 生命周期:initialize/shutdown/exit 使用显式状态机, EOF 与非法 framing 返回非零退出码,launcher 透传服务器退出码
- 已完成
AsyncExecutor协作式取消重构;任务句柄稳定持有结果,按实例取消, 请求 ID 区分整数与字符串,运行中任务通过std::stop_token退出 - 已修复 LSP UTF-16 与 UTF-8/Tree-sitter 字节坐标的双向转换;增量编辑和 syntax diagnostics 对中文与 emoji 使用一致位置
- JSON-RPC 错误、请求异常和 LSP transport framing 均使用严格结构化处理, 不再保留手写空 JSON、生命周期 Provider 或 staged rollout 开关
- 已完成参数解析与启动错误处理重构;CLI 参数严格校验,日志默认固定到 stderr,启动失败使用受控退出码
- 已完成 Conan 依赖升级;
lsp-server当前使用 ConanCenter 可见的最新glaze、taskflow、spdlog、fmt与tree-sitterrecipe
Recent Changes
- vendored
playbook快照已通过 subtree 更新并重新同步托管文件 memory-bank已迁移到tech-context/system-patterns/active-context新结构- 旧
docs/prompts/coding/review.md、docs/prompts/meta/prompt-generator.md、memory-bank/architecture.md、memory-bank/tech-stack.md已移除 glaze已升级到7.4.0,taskflow已升级到4.0.0- 已适配 CMake 4.3
import stdgate、Taskflow 4.0 头文件依赖、 completionLSPAny data反序列化和 scheduler completion callback 顺序 ArgsParser已替换为无状态ParseArgs,并补充参数单元测试与 CLI 启动回归测试- LSP 测试脚本、VSCode 和 Vim 已移除废弃的日志输出选择参数
- 文本坐标转换新增 ASCII、中文、emoji、跨行、越界和无效 UTF-8
回归测试;syntax diagnostics 已在
didOpen后实际发布 UTF-16 坐标 - scheduler 使用 current/active 双索引准确处理重复 ID;
WaitAll覆盖登记到 Taskflow 入队之间的窗口,取消不在状态锁内触发 stop callback - 系统库、workspace 加载、文件索引和 workspace folder 枚举已传递
std::stop_token,并在文件边界检查取消 - core 新增真实 stdio 生命周期、JSON-RPC 错误、请求取消、严格 framing 和
diagnostics 回归;
tsl-server、test_scheduler、test_provider构建通过 test_cli_startup、test_core_server、test_scheduler和 LSP transport smoke 通过;test_provider为 100/110,失败集合与本次 core 改动前一致
Next Steps
- 新任务先写到
docs/superpowers/plans/再执行 - 进入执行阶段前用
main_loop.py claim领取 Plan - Playbook 升级保持 subtree + sync 的固定顺序
- 另行处理既有脚本类测试失败:
test_ast_script、test_symbol_script、test_semantic_script - 后续任务处理
--interpreter=~/...的主目录展开 - 另行处理
test_lsp_json的 rename 响应缺少result;旧服务器二进制 同样可复现 - 另行修复
test_provider的 10 个既有 Provider 行为断言
Open Risks
- CIFS 共享目录上的 git 索引状态可能误报脏工作区, 影响 subtree、status 和 stash 类命令
lsp-server/test/test_tree_sitter/test下部分 TSF fixture 仍存在解析失败, 会导致脚本类 AST / symbol / semantic CTest 失败- 系统 CMake 4.4 的
import std实验门值尚未适配;本次使用 CMake 4.3.4 完成构建验证 test_provider仍有 documentHighlight、implementation、configuration、 refresh、client capability、workDoneProgress、code action、executeCommand 和 will file operations 共 10 个既有失败- Clang 22 在 C++ Modules 全量重编译期间会随机 frontend exit 139;本次在
Glaze 实例化和
interpreter_test.cppm出现,使用相同-j1重试成功 vscode/bin/tsl-server当前是未拉取的 Git LFS 指针,根目录 LSP 冒烟脚本 只能完成语法与参数静态验证
Workflow State
phase: done spec: docs/superpowers/specs/2026-07-13-lsp-core-lifecycle-design.md plan: docs/superpowers/plans/2026-07-13-lsp-core-lifecycle.md executor: executing-plans constraints: karpathy-guidelines,.agents,AGENT_RULES
Plan Status
2026-05-24-playbook-strong-alignment.mddone2026-05-24-conan-dependency-upgrade.mddone: known-failures:test_ast_script,test_symbol_script,test_semantic_script2026-07-11-args-parser-startup-errors.mddone2026-07-12-text-coordinates-utf16.mddone2026-07-12-async-executor-cancellation.mddone2026-07-13-lsp-core-lifecycle.mddone