feat(rag): harden post-LightRAG runtime

Retire legacy OCR/media/evidence fallbacks, add local-folder event bus and Page Aggregate guards, and archive completed design checklists.

Validation: cargo test -p mnote-web -- --test-threads=1; cargo test --workspace -- --test-threads=1; git diff --check; codegraph sync .; codegraph_status.
This commit is contained in:
lix-2026
2026-06-07 10:35:21 +08:00
parent 22a92edcda
commit 9551d4c1dc
59 changed files with 4053 additions and 5249 deletions
@@ -1,60 +0,0 @@
# 19 Non-LightRAG design cleanup and follow-up checklist v1
> 创建时间:2026-06-06
>
> 状态:`process`
>
> Owner10-review / 03-rust-web / 05-editor-mainline / 07-ai
## 1. 边界
当前另一个 agent 正在修改 LightRAG 相关实现与设计。本 checklist 暂不写 `design/07-ai/done/7-50-lightrag-knowledge-rag-provider-v1.md``rust/crates/mnote-web/src/routes/knowledge_rag.rs``rust/crates/mnote-web/src/hermes_tools/knowledge_rag.rs` 或 LightRAG smoke。等对方改动稳定后,再单独做 LightRAG diff review。
本轮先减少非 LightRAG 设计误读:关闭已完成 process、降级历史快照、把真实未完成项拆成更小 checklist。
## 2. 已执行清理
- [x] `4-25-filetree-view-state-model-driven-lazy-reveal-v1.md``04-tree-domain/process/` 移到 `04-tree-domain/done/`,并标注历史 18 秒冷加载当前未复现。
- [x] `3-23-sidebar-local-folder-resource-runtime-followup-v1.md``03-rust-web/process/` 移到 `03-rust-web/reference/`,并固定 `refreshLocalFolderSidebarSnapshot` 的 shell 编排边界。
- [x] `5-13-tiptap-runtime-cold-load-mindmap-split-checklist-v1.md``05-editor-mainline/process/` 移到 `05-editor-mainline/done/`,只归档 mindmap 重包拆分。
- [x] 新增并复核 `5-36-tiptap-real-shell-cold-load-followup-v1.md`。当前 checkout 未复现 18 秒冷加载,已降级为 `05-editor-mainline/reference/`
- [x]`3-6-rust-web-main-execution-plane-checklist-v1.md` 增加历史快照说明,避免从旧 `[ ]` 项继续派活。
- [x] 收紧 `10-current-mnote-ai-runtime-review-v1.md``mnote.doc.markdown_edit` 口径,避免把历史工具描述成 local-first 新 agent fallback。
## 3. 下一批非 LightRAG checklist
### P0Tiptap real shell cold-load
- [x] 执行 7-45 当前 checkout 临时复核:`domContentLoadedMs=102``editorVisibleMs=271``tableVisibleMs=274``mindmapRuntimeRequested=false`
- [x] 因未复现,`5-36` 降为 reference;暂不改 modulepreload、runtime prewarm 或非关键 surface 初始化顺序。
### P1Local-folder event bus
- [ ] 新建 `03-rust-web` process:浏览器端 local-folder event bus。
- [ ] 目标是 sidebar、document session、resource tab 订阅同一 `/api/local-folder/events` 连接。
- [ ] 验收要统计同一页面只有一个 local-folder EventSource,且后台写入仍能触发 document refresh 与 localized filetree refresh。
### P2Page Aggregate local-first hard guard
- [ ] 新建或更新 `05-editor-mainline` processlocal-first 文档页必须优先消费 `page_aggregate.block_document`
- [ ]`compat.legacy_content` fallback 增加 local-first telemetry 或负向 smoke,确保它只出现在 cloud/legacy/explicit compat 场景。
- [ ] 保存链路继续向 `EditorBlockDocument` / `tiptapDocument` 单一主 payload 收口。
### P37-18 agent edit clean/dirty smoke
- [x] 在不碰 LightRAG 的前提下,拆出 `design/07-ai/process/7-18-agent-edit-clean-dirty-smoke-checklist-v1.md`
- [ ] 验 clean bufferagent 原生 patch 修改当前 `.md` 后,watcher -> BufferStore -> Page Aggregate -> ProseMirror 可见更新。
- [ ] 验 dirty buffer:外部 agent 写入不会静默覆盖,必须出现冲突或 review 状态。
- [ ] 验 readonly:写入型 run 在 ACP/tool 层前置拒绝,而不是只靠审计后置记录。
### P4LightRAG diff review gate
- [ ] 等另一个 agent 完成后,只读检查 LightRAG diff。
- [ ] 重点核对 source registry、watcher stale/delete/reindex、query scope、`locatorDegraded`、job ledger 与 smoke 是否互相一致。
- [ ] 若 LightRAG diff 已稳定,再决定是否新建 `7-51` 或更新现有 `7-48`
## 4. 非目标
- 不在本 checklist 中修改 LightRAG 实现。
- 不删除历史设计证据;只通过移动目录、状态说明和新 checklist 降低误读。
- 不把已归档文件中的旧 checklist 当作新 worker 的任务来源。