Files
tsl-devkit/memory-bank/progress.md
T

92 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 当前进展
## 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-sitter` recipe
## 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 std` gate、Taskflow 4.0 头文件依赖、
completion `LSPAny 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
1. 新任务先写到 `docs/superpowers/plans/` 再执行
2. 进入执行阶段前用 `main_loop.py claim` 领取 Plan
3. Playbook 升级保持 subtree + sync 的固定顺序
4. 另行处理既有脚本类测试失败:
`test_ast_script``test_symbol_script``test_semantic_script`
5. 后续任务处理 `--interpreter=~/...` 的主目录展开
6. 另行处理 `test_lsp_json` 的 rename 响应缺少 `result`;旧服务器二进制
同样可复现
7. 另行修复 `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
<!-- workflow-state:start -->
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
<!-- workflow-state:end -->
## Plan Status
<!-- plan-status:start -->
- [x] `2026-05-24-playbook-strong-alignment.md` done
- [x] `2026-05-24-conan-dependency-upgrade.md` done: known-failures:test_ast_script,test_symbol_script,test_semantic_script
- [x] `2026-07-11-args-parser-startup-errors.md` done
- [x] `2026-07-12-text-coordinates-utf16.md` done
- [x] `2026-07-12-async-executor-cancellation.md` done
- [x] `2026-07-13-lsp-core-lifecycle.md` done
<!-- plan-status:end -->