chore: align local-first control plane and editor fixes
- wire SQLite control-plane access/session paths into Rust web local-folder routes - preserve local Markdown attachment semantics across upload, reload, and secondary-pane resource tabs - refresh design governance docs, Reasonix task templates, and bug records - retire root .mcp.json local MCP config
This commit is contained in:
+1
-1
@@ -64,7 +64,7 @@ Owner:
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `scripts/task444-convex-workspace-export-local-fixture-smoke.js`
|
||||
- 可新增 `scripts/task48*-convex-export-*.js`
|
||||
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-13-rust-web-local-markdown-gfm-ast-parser-migration-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
|
||||
---
|
||||
|
||||
|
||||
+2
-2
@@ -58,7 +58,7 @@ Owner:
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `rust/crates/mnote-web/src/document_buffer_store.rs`
|
||||
- `rust/crates/mnote-web/src/routes/documents.rs`
|
||||
- `rust/crates/mnote-web/src/routes/web_shell.rs`
|
||||
@@ -84,7 +84,7 @@ Owner:
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `rust/crates/core-protocol/src/command.rs`
|
||||
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
|
||||
- `scripts/task476-filetree-editor-context-menu-download-smoke.js`
|
||||
|
||||
+3
-3
@@ -54,7 +54,7 @@ Owner:
|
||||
Owner:
|
||||
|
||||
- `design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-v1.md`
|
||||
- `design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md`
|
||||
- `design/03-rust-web/reference/3-1-rust-web-long-term-checklist-v2.md`
|
||||
- 只读审查:`rust/crates/mnote-web/src/routes/ws.rs`、`rust/crates/mnote-web/src/routes/tree_events.rs`、`rust/crates/mnote-web/src/ssr/pages/layout.rs`、相关 tree live smoke。
|
||||
|
||||
目标:
|
||||
@@ -73,8 +73,8 @@ Owner:
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `rust/crates/core-protocol/src/command.rs`
|
||||
- `rust/crates/mnote-web/src/hermes_tools/doc.rs`
|
||||
- `rust/crates/mnote-web/src/hermes_tools/page.rs`
|
||||
+2
-2
@@ -42,8 +42,8 @@ Owner:
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
|
||||
目标:
|
||||
|
||||
+3
-3
@@ -337,8 +337,8 @@
|
||||
|
||||
### 7.1 导出与备份
|
||||
|
||||
- [x] 设计 Web 导出入口:选择 Convex workspace,选择目标本地 root。
|
||||
- 设计:`design/03-rust-web/reference/3-17-convex-export-web-entry-v1.md`;当前 CLI fixture 入口已支持 dry-run / apply / manifest / conflict report / rollback,Web route 与 admin 面板仍按该设计后续落码。
|
||||
- [x] 冻结旧 Web 导出入口设想,不再作为当前落码入口。
|
||||
- 历史设计:`design/old/03-rust-web/process/3-17-convex-export-web-entry-v1.md`;当前 CLI fixture 入口已支持 dry-run / apply / manifest / conflict report / rollback。由于 Convex 默认运行时与根 functions 已退役,Web route 与 admin 面板不再按该旧稿继续落码,未来如需 cloud/import UI 应按 SQLite control-plane 与 local-first 口径新建 checklist。
|
||||
- [x] 导出前创建 manifest,记录迁移计划、目标 root、workspace、操作列表、冲突、created files、backup dir 与索引刷新结果。
|
||||
- 实现:`scripts/export-convex-workspace-to-local.js --manifest <file>`;apply 成功后同时写入 `<root>/.mnote/migration-manifest.json`。
|
||||
- [x] 导出页面为 `.md`,资源写为本地文件,附件保持相对路径。
|
||||
@@ -467,7 +467,7 @@
|
||||
- [x] P5 simplemindmap / office 资源模型完成 Resource Tree 产品化。
|
||||
- 证据:资源命令面、资源对象壳、AI resource tools 与 changed-files 审计已闭环;`node scripts/task456-resource-object-shell-sync-smoke.js` 已通过。
|
||||
- [x] P6 Convex 导出到本地 workspace 有 dry run、备份、冲突报告和回滚。
|
||||
- 证据:`node scripts/task444-convex-workspace-export-local-fixture-smoke.js`;`node scripts/task455-convex-export-plan-rollback-smoke.js`;Web 入口设计见 `design/03-rust-web/reference/3-17-convex-export-web-entry-v1.md`。
|
||||
- 证据:`node scripts/task444-convex-workspace-export-local-fixture-smoke.js`;`node scripts/task455-convex-export-plan-rollback-smoke.js`;旧 Web 入口设想已退到 `design/old/03-rust-web/process/3-17-convex-export-web-entry-v1.md`,不作为当前 reference 或实施入口。
|
||||
- [x] P7 Page Aggregate / tree command / realtime 兼容链完成阶段性瘦身,并把被替代 process 稿移入 `old/` 或 `done/`。
|
||||
- 证据:Page Aggregate refresh、tree command、local folder projection refresh 与 realtime 双浏览器 smoke 均有验证;`5-5`、`5-6`、`3-3`、`4-34` 仍作为未完全 kernel-native / local-folder no-refresh 深水区过程稿保留在 `process/`,本 checklist 记录阶段性瘦身结果。
|
||||
- [x] `01-05-current-priority-overview.md` 同步更新状态,不再把已完成项描述为当前第一优先级。
|
||||
+35
-24
@@ -2,11 +2,13 @@
|
||||
|
||||
> 创建时间:2026-05-19
|
||||
>
|
||||
> 当前状态:`PARTIALLY_DONE`(Reasonix 已补 A2/A7 基础设施与 A2 保存/watcher 接入;A2 浏览器刷新可见读回、A0 browser smoke、A7 UI 接入、B2/C1 产品化仍未闭环)
|
||||
> 当前状态:`DONE`(A0/A2/A7/B2/C1 已完成;`task431` 只读 DnD smoke 仅作为可选回归项,不再阻塞本清单归档)
|
||||
>
|
||||
> 2026-05-22 归档治理补充:上位路线图 `1-4` 与顺序清单 `1-5` 已移动到 `reference/`;本文只保留真实仍需收口的缺口与证据尾项,不再承接完整下一阶段路线图职责。
|
||||
>
|
||||
> 上位依据:
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-4-next-phase-execution-roadmap-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/reference/1-4-next-phase-execution-roadmap-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/reference/5-14-zed-lapce-vscode-reference-adoption-matrix-v1.md`
|
||||
>
|
||||
> 目的:基于 Reasonix 执行汇总和本轮核对结果,列出仍不能标完成的缺口,形成可继续顺序执行的补充清单。
|
||||
@@ -25,12 +27,12 @@
|
||||
|
||||
本轮 Reasonix 执行后新增:
|
||||
|
||||
- [x] **Gap A0(部分)**: local-first guard 已通过 ✅(`npm run check:local-first-convex-guard` → `{ok: true, guard: "local-first-convex"}`);browser smoke 尚未复跑。
|
||||
- [x] **Gap A0(主路径完成)**: local-first guard 已通过 ✅(`npm run check:local-first-convex-guard` → `{ok: true, guard: "local-first-convex"}`);`task451` / `task452` / `task453` 已复跑,旧 `task431` 仅保留为可选回归项。
|
||||
- [x] **Gap A2(基础设施+运行时接入)**: `BufferStore` 已在 `rust/crates/mnote-web/src/document_buffer_store.rs` 实现,并加入 `AppState.buffer_store`。运行时接入完成:`write_local_markdown_page_body` → `mark_saved`、watcher → `mark_external_modified`、Hermes tools → 共享 helper。11 个单测全部通过(含 3 个新集成测试)。
|
||||
- [x] **Gap A2(运行时接入—完成)**: `write_local_markdown_page_body` 已接入 `BufferStore.mark_saved()`;`documents.rs` `page_body_write` 和 `save` 路由已传递 `state.buffer_store`;Hermes `doc_apply_block_ops` 和 `page_command` 已传递 `state.buffer_store`;watcher 已在 `spawn_local_folder_watcher` 内调用 `mark_external_modified`。3 个新集成测试覆盖运行时入口。
|
||||
- [x] **Gap A2(浏览器可见闭环)**: Codex 复核新增 `task484-local-folder-page-body-refresh-readback-smoke.js`,验证 `POST /api/page-body/write` 后磁盘 `.md`、Page Aggregate、刷新后的 ProseMirror 均读回新正文;旧的“刷新后 editor DOM 未显示正文”证据已判定为过期。
|
||||
- [x] **Gap A7(基础设施)**: `CommandContext` + `when` evaluator 已在 `core-protocol/src/command.rs` 实现。7 个单测全部通过(含 3 个必补测试)。
|
||||
- [ ] **Gap A7(UI/命令接入)**: File Tree 右键菜单、快捷键、AI 写入能力尚未消费 `CommandContext`。
|
||||
- [x] **Gap A7(UI/命令接入)**: File Tree 右键菜单、Delete/Backspace 快捷键、AI 写入能力已消费 `CommandContext` / `workspace.readonly` / `ai.canWrite`。
|
||||
- [x] **Gap B2(部分)**: `resource_rename_uses_resource_command_not_document_command` 测试通过;`local_agent_audit_snapshot_detects_resource_files` 通过;mindmap 生命周期测试通过。
|
||||
- [x] **Gap C1(部分)**: `scripts/task444-convex-workspace-export-local-fixture-smoke.js` 通过;`export-convex-workspace-to-local.js` 既有 `--dry-run`、`--manifest`、`--conflict-report`、`--rollback` 能力已确认,但本轮未新增对应 smoke。
|
||||
- [x] **core-protocol 全量测试**: 41 单元 + 6 editor bridge + 2 resource tree = 49 通过 ✅
|
||||
@@ -62,16 +64,17 @@
|
||||
- 编号已存在脚本目录
|
||||
- 验收:已复跑 browser smoke;`local_agent_audit_snapshot_detects_changed_files` 和 `detects_resource_files` 只能覆盖 audit 单元路径。
|
||||
- **执行记录(2026-05-21, Batch B Worker C)**:✅ **PASS** — capturedKinds: session/run/events 全部捕获。结果文件:`tmp/task453-local-folder-page-ai-changed-files-smoke/result.json`
|
||||
- **Codex 复核(2026-05-22)**:✅ **PASS** — 已扩展为 local-first AI 前台同步 smoke;clean path 验证 Hermes `run.completed.agentAudit.changedFiles` 后工具卡、磁盘 `.md`、Page Aggregate、ProseMirror 均出现 marker 且不进冲突态;dirty path 验证同一路径触发 `external-change-conflict`、冲突面板显示 agent run、冲突信封包含 `externalActor / dirtyState / bufferFileVersion`,diff 同时显示本地未保存 token 与 AI 写盘 token。
|
||||
|
||||
### 1.2 收尾
|
||||
|
||||
- [x] guard 输出已记录(见上)
|
||||
- [x] browser smokes 需完整后端环境运行(mnote-web + Convex + Playwright)
|
||||
- [x] browser smokes 已完成主路径复跑;`task443` / `task445` 已迁移到 local-first fixture 并作为归档证据。
|
||||
- [x] 失败归属:本轮已无 A0 smoke 失败;`task452` 为旧断言假失败
|
||||
|
||||
---
|
||||
|
||||
## 2. Gap A2:把 DocumentBuffer 接入运行时 BufferStore — 🔄 基础设施与运行时接入完成,浏览器可见读回未闭环
|
||||
## 2. Gap A2:把 DocumentBuffer 接入运行时 BufferStore — ✅ 完成
|
||||
|
||||
### 2.1 当前代码锚点(更新后)
|
||||
|
||||
@@ -87,7 +90,7 @@
|
||||
- [x] 接入 tiptap 保存链:`write_local_markdown_page_body` / `documents.rs` `save` 路由已调用 `state.buffer_store.mark_saved()`
|
||||
- [x] 接入外部文件变更 watcher:`spawn_local_folder_watcher` 已通过 `buffer_store.mark_external_modified()` 更新对应 buffer
|
||||
- [x] 接入 Hermes/Reasonix 写入后状态更新:`hermes_tools/doc.rs` 和 `hermes_tools/page.rs` 已通过共享 helper `write_local_markdown_page_body` 自动消费 BufferStore
|
||||
- [ ] conflict UI 数据源改为 buffer state:API 已就绪,未接入
|
||||
- [x] conflict UI 数据源改为 buffer state:冲突信封已包含 `externalActor / dirtyState / bufferFileVersion`,`task451` 已覆盖
|
||||
- [x] 浏览器可见读回:`task484-local-folder-page-body-refresh-readback-smoke.js` 已验证保存后刷新 ProseMirror 可见正文不丢失
|
||||
|
||||
### 2.3 必补测试
|
||||
@@ -118,7 +121,7 @@
|
||||
|
||||
---
|
||||
|
||||
## 3. Gap A7:落地 command context / context key — 🔄 基础设施完成,UI/命令接入未完成
|
||||
## 3. Gap A7:落地 command context / context key — ✅ 主路径完成
|
||||
|
||||
### 3.1 当前代码锚点(更新后)
|
||||
|
||||
@@ -149,7 +152,7 @@
|
||||
- [x] readonly / grant / resource kind 的禁用态可测试
|
||||
- [x] **FileTree 右键菜单已接入**(Batch C Worker C):delete-trash、rename、new-file、new-folder、paste-into 携带 `when: '!workspace.readonly'`
|
||||
- [x] **Delete/Backspace 快捷键已接入**(Batch C Worker C):keydown handler 中有 `!workspace.readonly && tree.selectionCount` 守卫
|
||||
- [ ] **未完成**:下载、多选删除、粘贴、只读阻断的 smoke 保持回退兼容
|
||||
- [x] 下载、多选删除、粘贴、只读阻断的主路径 smoke 已由 `task471` / `task476` 在 Batch H 复跑覆盖;`task431` 作为更旧 DnD readonly smoke 仍保留为可选回归项。
|
||||
- [x] **已完成**:AI 写入能力 (`ai.canWrite`) 已接入 hermes_tools 写入守卫;`mnote.block.*`、`mnote.doc.markdown_edit`、`mnote.page.*`、`mnote.artifact.*`、`mnote.mindmap.apply_ops` 写入链共享 `ensure_write_authorized`,只读 scope、`workspace.readonly=true` 或 `ai.canWrite=false` 均会拒绝写入。
|
||||
|
||||
### 3.5 下一步
|
||||
@@ -157,6 +160,7 @@
|
||||
- `layout.rs` 右键菜单:已引入 `evaluateSidebarFileTreeWhen`(Batch C Worker C 完成)
|
||||
- Delete/Backspace:已接入(Batch C Worker C 完成)
|
||||
- hermes_tools 写入守卫:已消费 `ai.canWrite` / `workspace.readonly` command context;后续若前端新增更多 AI 写入口,必须把同一份 `commandContext` 透传到 tool args。
|
||||
- 归档前可选补跑 `task431-vscode-explorer-dnd-readonly-conflict-smoke.js`,但它不再代表 A7 主路径缺失。
|
||||
|
||||
### 3.6 Batch F 复核记录
|
||||
|
||||
@@ -187,13 +191,18 @@
|
||||
|
||||
- [x] `tree_resource_rename_does_not_emit_document_command` — 被现有测试覆盖:
|
||||
- `resource_rename_uses_resource_command_not_document_command` ✅(验证 canonicalCommand 为 `tree.resource.rename` 而非 `tree.node.rename`)
|
||||
- [ ] `mindmap_resource_trash_restore_keeps_markdown_body` — 部分覆盖:
|
||||
- [x] `mindmap_resource_trash_restore_keeps_markdown_body` — 已覆盖:
|
||||
- `mindmap_delete_restore_keeps_markdown_reference_out_of_lifecycle_command` ✅(验证 mindmap 生命周期不携带 documentId 从而不影响 markdown 页面)
|
||||
- 尚未验证文档正文在 trash/restore 后是否完整
|
||||
- `local_folder_mindmap_delete_moves_resource_file_to_trash` ✅(2026-05-22 补断言:archive / restore 后 `Page.md` 正文引用保持原文)
|
||||
- [x] `local_agent_audit_snapshot_detects_resource_files` — 通过 ✅
|
||||
- [x] browser smokes:`task443`、`task445` 需 Playwright 后端环境
|
||||
- **执行记录(2026-05-21, Batch B Worker C)**:❌ **FAIL** — 两个 smoke 均因 `waitForURL` 断言 `/mindmap/` 路由超时,实际导航走的是 `/documents/...?resourceTab=...`。归因:**脚本过时**(mindmap 路由改为 resourceTab,smoke 未同步)。结果文件:`tmp/task443-filetree-mindmap-click-active-row-smoke/result.json`、`tmp/task445-filetree-mindmap-switch-no-flicker-smoke/result.json`
|
||||
- **Codex 复核(2026-05-21)**:✅ **PASS** — 已更新为当前 `resourceTab=resource:mindmap:{docId}:{mindmapId}` 断言,两个 smoke 实跑通过。`task445` 仍捕获一次跨文档 mindmap API `400 Bad Request` console error,但 smoke failures 为空,单独保留为后续噪声/边界排查。
|
||||
- **Codex 复核(2026-05-22)**:✅ **代码级修复** — `task445` 的 400 不是纯噪声,根因是跨文档后 asset row 打开时沿用了当前 URL 的 document,而不是资源 owner document。已补 `sidebar_filetree_asset_open_uses_owner_document_id` 回归测试,并让 filetree asset row 输出/消费 `data-owner-document-id`;`task445` 同步增加 owner URL 断言。浏览器复跑当前被旧 Convex fixture 阻塞:`workspaces:ensureDefaultWorkspace` function 已退役,返回 502。
|
||||
- **Codex 复核(2026-05-22 续)**:✅ **PASS** — `task443` / `task445` 已迁移为 local-first fixture(临时 root + `.mnote/workspace.json` + 本地 `.md` / `.mindmap.json`),不再依赖退役 Convex function。复跑命令:
|
||||
- `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task443-filetree-mindmap-click-active-row-smoke.js`
|
||||
- `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task445-filetree-mindmap-switch-no-flicker-smoke.js`
|
||||
- 两者结果均为 PASS,结果文件分别为 `tmp/task443-filetree-mindmap-click-active-row-smoke/result.json`、`tmp/task445-filetree-mindmap-switch-no-flicker-smoke/result.json`。
|
||||
|
||||
### 4.4 完成标准
|
||||
|
||||
@@ -265,19 +274,19 @@
|
||||
- 结果:`tmp/task452-local-search-index-browser-smoke/result.json`
|
||||
- 归因:**脚本断言过时** — 原断言期待 frontmatter 标题,当前索引面板按路径标题展示
|
||||
- `task453-local-folder-page-ai-changed-files-smoke.js`
|
||||
- **PASS** ✅ — capturedKinds: session/run/events 全部捕获
|
||||
- **PASS** ✅ — clean AI 写入后 Page Aggregate / ProseMirror 前台同步,dirty AI 写入触发 conflict UI 并显示 BufferStore 信封
|
||||
- 命令:同上
|
||||
- 结果:`tmp/task453-local-folder-page-ai-changed-files-smoke/result.json`
|
||||
- `task443-filetree-mindmap-click-active-row-smoke.js`
|
||||
- **PASS** ✅ — mindmap 资源行点击后 URL 使用 `/documents/...&resourceTab=resource:mindmap:...`,且对应 asset row 选中
|
||||
- **PASS** ✅ — local-first fixture 下,mindmap 资源行点击后 URL 使用 `/documents/...&resourceTab=resource:mindmap:...`,且对应 asset row 选中
|
||||
- 命令:`PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task443-filetree-mindmap-click-active-row-smoke.js`
|
||||
- 结果:`tmp/task443-filetree-mindmap-click-active-row-smoke/result.json`
|
||||
- 归因:**脚本过时后已更新** — mindmap 已改为 resourceTab 路由
|
||||
- 归因:**脚本过时后已更新并去 Convex fixture 化** — mindmap 已改为 resourceTab 路由,fixture 改为 local_folder
|
||||
- `task445-filetree-mindmap-switch-no-flicker-smoke.js`
|
||||
- **PASS** ✅ — 页面和 mindmap 来回切换时 file tree root 稳定,选中态正确
|
||||
- **PASS** ✅ — local-first fixture 下,页面和 mindmap 来回切换时 file tree root 稳定,选中态正确;跨文档资源重新打开时 URL pathname 使用资源 owner document
|
||||
- 命令:`PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task445-filetree-mindmap-switch-no-flicker-smoke.js`
|
||||
- 结果:`tmp/task445-filetree-mindmap-switch-no-flicker-smoke/result.json`
|
||||
- 归因:**脚本过时后已更新** — 仍有一次 400 console noise,后续单独排查
|
||||
- 归因:**脚本过时后已更新并去 Convex fixture 化** — 400 根因已收口到 ResourceTab owner document URL 同步
|
||||
|
||||
### 6.2.2 本次执行汇总
|
||||
|
||||
@@ -285,9 +294,9 @@
|
||||
|-------|------|------|
|
||||
| task451 | ✅ PASS | — |
|
||||
| task452 | ✅ PASS | 脚本断言过时,已按当前路径标题和链接片段语义更新 |
|
||||
| task453 | ✅ PASS | — |
|
||||
| task443 | ✅ PASS | 脚本过时,已改为 resourceTab 路由断言 |
|
||||
| task445 | ✅ PASS | 脚本过时,已改为 resourceTab 路由断言;仍有 400 console noise |
|
||||
| task453 | ✅ PASS | 已扩展为 AI clean/dirty 前台同步与 conflict UI 证据 |
|
||||
| task443 | ✅ PASS | 已改为 resourceTab 路由断言,并迁移到 local-first fixture |
|
||||
| task445 | ✅ PASS | 已改为 resourceTab 路由断言,并迁移到 local-first fixture;ResourceTab owner document URL 已修复 |
|
||||
|
||||
---
|
||||
|
||||
@@ -295,8 +304,10 @@
|
||||
|
||||
| Gap | 状态 | 关键产出 | 剩余 |
|
||||
|-----|------|----------|------|
|
||||
| A0 | 🔄 部分 | guard、task451、task452、task453 通过 | task431 等剩余 browser smokes 未复跑 |
|
||||
| A2 | 🔄 运行时接入 + 浏览器读回完成 | `BufferStore` 实现 + 11 tests;task484 验证保存后磁盘、PageAggregate、刷新后 ProseMirror 全部读回 | conflict UI 未接 buffer state |
|
||||
| A7 | 🔄 基础设施完成 | `CommandContext` + when evaluator + 7 tests | UI/快捷键/菜单接入 |
|
||||
| B2 | 🔄 部分 | 资源生命周期 + agent audit 测试通过;task443/task445 通过 | mindmap body 测试、跨文档 ResourceTab 400 噪声排查 |
|
||||
| A0 | ✅ 主路径完成 | guard、task451、task452、task453 通过 | task431 可选复跑 |
|
||||
| A2 | ✅ 完成 | `BufferStore` 实现 + 11 tests;task451 覆盖 BufferStore 冲突信封;task484 验证保存后磁盘、PageAggregate、刷新后 ProseMirror 全部读回 | — |
|
||||
| A7 | ✅ 主路径完成 | `CommandContext` + when evaluator + 7 tests;FileTree 菜单、Delete/Backspace、AI 写入守卫接入 | task431 可选复跑 |
|
||||
| B2 | ✅ 主路径完成 | 资源生命周期 + agent audit 测试通过;mindmap 正文引用保持、ResourceTab owner 修复与 task443/task445 local-first browser 证据已补齐 | Resource Tree projection 产品形态深化另列后续项 |
|
||||
| C1 | ✅ 完成 | export/rollback/dry-run 脚本 + task444/task455 smoke 全部通过 | — |
|
||||
|
||||
归档结论:本清单原本承担的 gap closure 已完成。后续活跃执行转入 `1-8` 的顺序表与 `7-14` 的 AI Markdown 编辑路径收敛,不再把本文件作为 active process。
|
||||
+38
-26
@@ -4,6 +4,8 @@
|
||||
>
|
||||
> 当前状态:`PROCESS`
|
||||
>
|
||||
> 2026-05-22 归档治理补充:当前 active `process/` 只保留可直接执行的少量收口稿;长期架构、愿景、参考矩阵、Wolai 对标基线、Mindmap 总设计、旧 AI 块级执行稿和 Convex Web 迁移入口已分别移动到 `reference/`、`done/` 或 `old/`。本文是后续调度入口,不代表下列所有历史入口仍在 `process/`。
|
||||
>
|
||||
> 目标:把本轮 design governance 后剩余的主线 `process/` 文档排成可执行顺序,避免后续 worker 在 active process 中自行猜优先级。
|
||||
>
|
||||
> 上位依据:
|
||||
@@ -115,9 +117,9 @@
|
||||
|
||||
入口文档:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-4-next-phase-execution-roadmap-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/reference/1-4-next-phase-execution-roadmap-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/05-editor-mainline/done/5-26-resource-open-resolver-convergence-checklist-v1.md`
|
||||
|
||||
执行目标:
|
||||
@@ -141,9 +143,9 @@
|
||||
|
||||
入口文档:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/done/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
|
||||
执行目标:
|
||||
|
||||
@@ -165,7 +167,7 @@
|
||||
|
||||
入口文档:
|
||||
|
||||
- `design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
- `design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
- `design/05-editor-mainline/reference/5-5-page-aggregate-single-truth-alignment-v1.md`
|
||||
- `design/03-rust-web/done/3-13-rust-web-local-markdown-gfm-ast-parser-migration-v1.md`
|
||||
|
||||
@@ -193,7 +195,7 @@
|
||||
入口文档:
|
||||
|
||||
- `design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-v1.md`
|
||||
- `design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md`
|
||||
- `design/03-rust-web/reference/3-1-rust-web-long-term-checklist-v2.md`
|
||||
|
||||
执行目标:
|
||||
|
||||
@@ -235,7 +237,7 @@
|
||||
|
||||
入口文档:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/reference/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/04-tree-domain/done/4-44-filetree-action-layer-paste-drop-delete-v1.md`
|
||||
|
||||
执行目标:
|
||||
@@ -261,28 +263,36 @@
|
||||
入口文档:
|
||||
|
||||
- `design/07-ai/done/7-27-online-markdown-writeback-final-content-truth-v2.md`
|
||||
- `design/07-ai/process/7-18-local-first-agent-file-editing-control-plane-v1.md`
|
||||
|
||||
执行目标:
|
||||
|
||||
1. 修正 online / compat `mnote.doc.markdown_edit` 的 final markdown 写回真相。
|
||||
2. 避免 full_content 和多 operation 场景仍从旧 blocks 二次推导。
|
||||
3. 保持 local-first 默认编辑仍走 agent 原生 patch/diff,不把 `markdown_edit` 升回默认主路径。
|
||||
1. 将 `7-27` 限定为历史 online / compat 回归证据,不再把 `mnote.doc.markdown_edit` 推回 active 设计。
|
||||
2. 以 `7-18` 为当前 AI 编辑执行入口:MNote 只提供文件定位、授权边界、selection/context、审计和前台同步。
|
||||
3. Hermes / Reasonix 用自身文件 read / write / patch / diff 能力在 allowed roots 内修改 `.md`。
|
||||
4. 先实现 Agent Target Resolver / target chip / target picker,解决多工作区、多 tab、多资源时到底把哪个对象发送给 agent 的问题。
|
||||
|
||||
验收:
|
||||
|
||||
- `cargo test -p mnote-web hermes_tools -- --test-threads=1`
|
||||
- 覆盖 full_content、多 op、inline content、selection scope 的回归测试。
|
||||
- Page AI composer 可见 target chip,能展示 workspace、target title、resourceKind、scope、dirty / readonly 状态。
|
||||
- target picker 能在当前焦点、打开 tabs、树选中项之间选择;默认 target 来自 last focused editor / resource tab。
|
||||
- local-first agent 编辑 smoke 断言不调用 `mnote.doc.markdown_edit`。
|
||||
- Hermes / Reasonix run body 包含 `currentFile`、`allowedRoots`、`allowedFiles`、selection 和 dirty / readonly context。
|
||||
- Hermes / Reasonix run body 包含 `targetPackage`,且切 tab 后不影响已冻结 run target。
|
||||
- agent 写入后 watcher -> BufferStore -> Page Aggregate -> ProseMirror 可见更新。
|
||||
- dirty buffer 下 agent 写入不会静默覆盖。
|
||||
|
||||
归档条件:
|
||||
|
||||
- `7-27` 的 6 步实施计划已完成并归档;后续只保留 `revisionRef` 注释可见性、复杂 GFM fallback、多余退役函数体清理等增强项,不阻塞 Batch E。
|
||||
- `7-18` Phase A0/A/B/C 完成后归档到 `design/07-ai/done/`。
|
||||
|
||||
### P3.2 ACP runtime 后续步骤
|
||||
|
||||
入口文档:
|
||||
|
||||
- `design/07-ai/process/7-15-page-ai-acp-agent-runtime-unified-layer-v1.md`
|
||||
- `design/07-ai/process/7-12-page-ai-hermes-tool-routing-and-review-surface-v1.md`
|
||||
- `design/07-ai/done/7-15-page-ai-acp-agent-runtime-unified-layer-v1.md`
|
||||
- `design/07-ai/reference/7-12-page-ai-hermes-tool-routing-and-review-surface-v1.md`
|
||||
- `design/07-ai/done/7-34-acp-runtime-cleanup-availability-stability-tail-v1.md`
|
||||
|
||||
执行目标:
|
||||
@@ -307,8 +317,8 @@
|
||||
|
||||
入口文档:
|
||||
|
||||
- `design/06-mindmap/process/6-mindmap-kernel-phase6-projection-editor-v1.md`
|
||||
- `design/06-mindmap/process/6-mindmap-phase6-leptos-ui-shell-reuse-checklist-v1.md`
|
||||
- `design/06-mindmap/reference/6-mindmap-kernel-phase6-projection-editor-v1.md`
|
||||
- `design/06-mindmap/done/6-mindmap-phase6-leptos-ui-shell-reuse-checklist-v1.md`
|
||||
- `design/06-mindmap/reference/6-mindmap-leptos-adapter-reference-notes-v1.md`
|
||||
|
||||
执行目标:
|
||||
@@ -326,7 +336,7 @@
|
||||
|
||||
入口文档:
|
||||
|
||||
- `design/05-editor-mainline/process/5-9-wolai-aline-continuous-checklist-v1.md`
|
||||
- `design/05-editor-mainline/reference/5-9-wolai-aline-continuous-checklist-v1.md`
|
||||
- `design/08-wolai-aline-test-flow/reference/wolai-aline-test-flow-v1.md`
|
||||
- `design/05-editor-mainline/reference/5-7-wolai-page-tree-main-editor-experience-restoration-v1.md`
|
||||
|
||||
@@ -344,8 +354,8 @@
|
||||
|
||||
这些文档不进入当前直接执行序列,只有当产品优先级明确时再拆 checklist:
|
||||
|
||||
- `design/03-rust-web/reference/3-17-convex-export-web-entry-v1.md`
|
||||
- CLI 已有迁移闭环;Web 管理入口未排期。
|
||||
- `design/old/03-rust-web/process/3-17-convex-export-web-entry-v1.md`
|
||||
- CLI 已有迁移闭环;Web 管理入口在当前 Convex 默认退役后已降级为历史设想,不作为 active 或 reference 执行入口。
|
||||
- `design/04-tree-domain/reference/4-23-local-cloud-explicit-bridge-p3-candidate-v1.md`
|
||||
- P3 候选,不能进入 local-first 默认主链。
|
||||
- `design/07-ai/reference/7-17-acp-session-convex-sharing-contract-v1.md`
|
||||
@@ -410,16 +420,18 @@
|
||||
|
||||
### Batch E:AI 与资源工具
|
||||
|
||||
1. `7-27`(已归档到 `design/07-ai/done/`)
|
||||
2. `7-15` 后续拆分(下一批拆 `7-34`)
|
||||
3. `7-12` Phase B-F 拆分(下一批拆 `7-34`)
|
||||
4. `7-28` 仅在 mindmap / office AI 明确排期后进入
|
||||
1. `7-18`
|
||||
2. `7-27`(已归档到 `design/07-ai/done/`,只作为历史 online / compat 回归证据)
|
||||
3. `7-15` 后续拆分(下一批拆 `7-34`)
|
||||
4. `7-12` Phase B-F 拆分(下一批拆 `7-34`)
|
||||
5. `7-28` 仅在 mindmap / office AI 明确排期后进入
|
||||
|
||||
完成后预期:local-first AI 主路径稳定,cloud/compat 工具不再误导默认路径。
|
||||
完成后预期:local-first AI 主路径稳定,普通 Markdown 编辑不再依赖 MNote 专用编辑工具。
|
||||
|
||||
当前批次状态:
|
||||
|
||||
- `7-27` 已由 Batch I 复核归档;`mnote.doc.markdown_edit` 在线写回以最终 markdown 为真源,`markdown_edit` 相关 targeted tests 与 manifest write contract 测试已通过。
|
||||
- `7-18` 已成为当前 active AI 编辑控制面稿;后续实现不再保留 `mnote.doc.markdown_edit` 作为 local-first 默认、fallback 或 remote fallback。
|
||||
- `7-29` 已完成 Worker A/B/C 审查,结论是 `7-15` Step 15-17 与 `7-12` Phase B/F 不应继续压在一个大文档里推进。
|
||||
- `7-34` 已完成并归档到 `design/07-ai/done/`:旧 HTTP proxy 默认关闭、`page_ai_workflow` 受共享 tool executor 守卫保护;profile disabled list 三处同源;`capabilityScope` 中心校验已完成;ACP abort API 改为 best-effort cancellation 并主动推送 `run.aborted`;`task488` 已在当前 3000 真实通过,覆盖 3 个 Reasonix ACP session、并发 run、abort 与 SSE terminal event。cache benchmark 仍是 P2 度量;Phase C Review Mode 继续冻结。
|
||||
|
||||
|
||||
-166
@@ -1,166 +0,0 @@
|
||||
# 1-9 [process] Batch B P1 Identity / BufferStore / Page Aggregate Execution Checklist v1
|
||||
|
||||
> 创建时间:2026-05-21
|
||||
>
|
||||
> 上位入口:`design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md`
|
||||
>
|
||||
> 阶段:Batch B / P1 工作区身份、BufferStore、Page Aggregate 收口
|
||||
>
|
||||
> 当前状态:`PROCESS`
|
||||
|
||||
## 1. 目标
|
||||
|
||||
按 `1-8` 的 P1 顺序,把当前已经明确的 P1 缺口拆成可并行执行的小阶段:
|
||||
|
||||
1. `5-26` 正文附件 open resolver 与 FileTree open resolver 收敛未执行。
|
||||
2. `1-6` Gap A2 的 BufferStore 运行时接入已完成,但保存后刷新读回仍有浏览器可见缺口。
|
||||
3. `1-6` Gap A0 browser smoke 已复跑,A2/A7/B2/C1 仍有证据尾项。
|
||||
4. `5-6` / `3-13` 的 Page Aggregate / GFM AST 尾项状态需要继续拆小,避免大文档长期停在 process。
|
||||
5. 本轮 smoke 复核后,`task443` / `task445` / `task452` 已确认是过期断言,不是当前业务回归。
|
||||
|
||||
本阶段优先处理“已实现但缺浏览器/测试证据”与“已有计划但未落地”的缺口,不扩新产品面,不改变 local-first / tree-first 口径。
|
||||
|
||||
## 2. 上游入口
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-5-next-phase-sequential-execution-checklist-v1.md`
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md`
|
||||
- `design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
- `design/03-rust-web/process/3-13-rust-web-local-markdown-gfm-ast-parser-migration-v1.md`
|
||||
|
||||
## 3. 不做事项
|
||||
|
||||
- 不把 `documents/save` 重新描述为 local-first 长期正文主入口。
|
||||
- 不把 `md/text/code` 改成 OnlyOffice 或浏览器窗口默认打开。
|
||||
- 不把 browser smoke 失败伪装成通过。
|
||||
- 不移动 `design/old/**`。
|
||||
- Reasonix worker 不提交 git;最终由 Codex 复核和提交。
|
||||
|
||||
## 4. Reasonix Worker 拆分
|
||||
|
||||
### Worker A:5-26 resource open resolver convergence
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md`
|
||||
- `rust/crates/mnote-web/src/routes/web_shell.rs`
|
||||
- 可新增或修改一个 `scripts/task48*-resource-open-resolver-*.js` smoke。
|
||||
|
||||
目标:
|
||||
|
||||
- 审查 `resolveResourceOpen`、`openEditorAttachmentEditTab`、`openEditorAttachmentNewWindow`、FileTree asset open/edit-mode 的重复判断。
|
||||
- 如能小范围安全实现,抽出最小 shared resolver/helper,减少正文附件与 FileTree 分歧。
|
||||
- 必须保持:正文附件 `弹窗编辑` 进入 main resource tab,`新窗口编辑` 进入浏览器窗口,`md/text/code` 继续走 tiptap / text/code 渲染路径。
|
||||
|
||||
验收:
|
||||
|
||||
- `cargo test -p mnote-web sidebar_tree_runtime_opens_office_assets_through_resource_shell -- --test-threads=1`
|
||||
- `node --check scripts/task463-onlyoffice-resolver-smoke.js`
|
||||
- 如新增 smoke,则 `node --check scripts/task48*-resource-open-resolver-*.js`
|
||||
|
||||
### Worker B:A2 BufferStore browser visible readback gap
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- `rust/crates/mnote-web/src/routes/web_shell.rs`
|
||||
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
|
||||
- 可新增或修改一个 `scripts/task48*-bufferstore-*.js` smoke。
|
||||
|
||||
目标:
|
||||
|
||||
- 复现并定位 `POST /api/page-body/write` 后磁盘与 Page Aggregate 已更新,但刷新后编辑器 DOM/截图未显示正文的问题。
|
||||
- 优先做最小修复:让刷新后的主编辑器可见 DOM 消费最新 Page Aggregate / blockDocument。
|
||||
- 若无法安全修复,必须输出可复现 bug 证据和具体源码定位,不把该项标完成。
|
||||
|
||||
验收:
|
||||
|
||||
- `cargo test -p mnote-web document_buffer -- --test-threads=1`
|
||||
- `cargo test -p mnote-web page_aggregate -- --test-threads=1`
|
||||
- 相关 browser smoke 能证明保存后刷新可见正文不丢失,或明确失败原因。
|
||||
|
||||
### Worker C:A0/A2/B2/C1 baseline smoke evidence
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/01-tree-first-graph-kernel/process/1-6-next-phase-gap-closure-checklist-v1.md`
|
||||
- 可新增 `.codex/reasonix-tasks/results/batch-b-worker-c-baseline-smokes.md`
|
||||
- 不修改 Rust / JS 业务代码。
|
||||
|
||||
目标:
|
||||
|
||||
- 运行并记录 `1-6` 中尚未复跑的 browser smokes:
|
||||
- `task451-local-markdown-conflict-resolution-ui-smoke.js`
|
||||
- `task452-local-search-index-browser-smoke.js`
|
||||
- `task453-local-folder-page-ai-changed-files-smoke.js`
|
||||
- `task443-filetree-mindmap-click-active-row-smoke.js`
|
||||
- `task445-filetree-mindmap-switch-no-flicker-smoke.js`
|
||||
- 失败时记录为环境阻塞或业务 bug,附 stdout / result.json 路径。
|
||||
- 不做业务修复。
|
||||
|
||||
验收:
|
||||
|
||||
- 每个 smoke 有明确 `PASS` / `FAIL` / `BLOCKED`。
|
||||
- 对失败项给出 `tmp/.../result.json` 或日志路径。
|
||||
|
||||
### Worker D:Page Aggregate / GFM AST tail audit
|
||||
|
||||
Owner:
|
||||
|
||||
- `design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
- `design/03-rust-web/process/3-13-rust-web-local-markdown-gfm-ast-parser-migration-v1.md`
|
||||
- 可新增 `.codex/reasonix-tasks/results/batch-b-worker-d-pageaggregate-gfm-tail.md`
|
||||
- 默认只改文档和 smoke 建议;如需改代码,先只输出建议,不直接改核心 Rust。
|
||||
|
||||
目标:
|
||||
|
||||
- 审查 `5-6` 中仍未勾选项是否已被后续实现覆盖,哪些应追认,哪些应拆新 checklist。
|
||||
- 审查 `3-13` 中 GFM AST 尾项:空段落/空表格、legacy <-> Tiptap mark、保存失败错误、过渡 parser 标记、web_shell 临时分支。
|
||||
- 给出下一步最小执行包,不把未验证项移动到 done。
|
||||
|
||||
## 5. 本轮执行记录
|
||||
|
||||
- 2026-05-21:Batch B 仍保留为 process,原因是 `5-26` 还未形成可复核实现,A2 的冲突 UI 数据源接 BufferStore 也尚未落地。
|
||||
- 2026-05-21:`task443` / `task445` / `task452` 已在后续复核中修正为过期断言,不再作为当前业务回归证据。
|
||||
|
||||
验收:
|
||||
|
||||
- 输出明确表格:`已完成可追认` / `仍需代码修复` / `仅参考保留`。
|
||||
- 更新对应 process 文档的执行记录,但不归档。
|
||||
|
||||
## 5. Codex 复核项
|
||||
|
||||
- [ ] 逐个读取 Reasonix `final.md` / `result.json`。
|
||||
- [ ] 检查 `git diff`,确认 worker 没有越权修改。
|
||||
- [ ] 运行 worker 涉及脚本的 `node --check`。
|
||||
- [ ] 运行受影响 Rust targeted tests。
|
||||
- [ ] 对 UI / browser 可见项派发或执行独立浏览器测试。
|
||||
- [ ] 更新本 checklist 的执行记录。
|
||||
|
||||
## 6. 浏览器测试阶段
|
||||
|
||||
Batch B 代码 / smoke / 审查完成后,再按实际变更拆分浏览器测试 worker:
|
||||
|
||||
- Browser Worker 1:resource open resolver,验证正文附件 / FileTree asset / edit / new-window 分流。
|
||||
- Browser Worker 2:BufferStore 保存后刷新可见读回。
|
||||
- Browser Worker 3:Page Aggregate / GFM tail smoke,验证正文刷新、inline mark、task list 不回退。
|
||||
|
||||
Codex 必须复核浏览器测试结果;不能只相信 worker 文字总结。
|
||||
|
||||
## 7. 完成条件
|
||||
|
||||
- `5-26` 至少完成审查与最小实现,或明确不可安全实现的阻塞原因。
|
||||
- `1-6` Gap A2 浏览器可见读回有明确结果:完成、失败 bug 或环境阻塞。
|
||||
- `1-6` A0 browser smokes 有新的 PASS / FAIL / BLOCKED 证据。
|
||||
- `5-6` / `3-13` 尾项不再是模糊 TODO,已拆出下一步执行包。
|
||||
- `git diff --check` 通过。
|
||||
- `codegraph sync .` 已运行。
|
||||
- 本阶段完成后由 Codex 提交 git。
|
||||
|
||||
## 8. 本轮执行记录
|
||||
|
||||
- 2026-05-21:Codex 建立 Batch B P1 checklist,并准备派发 Reasonix Worker A/B/C/D。
|
||||
- 2026-05-21:Reasonix Worker C 完成 baseline smoke 证据收集;`task451`、`task453` PASS,`task452` 初判为 page-settings 本地索引面板渲染回归,`task443` / `task445` 初判为 mindmap smoke 仍按历史 `/mindmap/` 路由断言导致 false-negative。
|
||||
- 2026-05-21:Reasonix Worker D 完成 Page Aggregate / GFM AST 尾项审计;只改文档,不改业务代码。关键结论:`3-13` 中标题优先级被误标为完成,列对齐 marker 可追认,legacy/Tiptap marks、空单元格、保存失败可解释错误、写侧过渡标记仍需后续小包。
|
||||
- 2026-05-21:Reasonix Worker A/B 运行到 runner 超时后未生成 `final.md` / `result.json`,也未留下业务代码 diff;Codex 不采纳为完成项。A 的 transcript 只留下 resource open resolver 收敛计划,指出重复判断主要位于 `layout.rs` sidebar JS,原任务允许范围过窄;B 的 transcript 只留下 BufferStore / PageAggregate hydration 排查片段,未形成可复核结论。
|
||||
- 2026-05-21:Codex 复核裁定:`task452` 实为旧断言假失败,`task443` / `task445` 已改为 resourceTab 断言并实跑通过;本轮可采纳 C/D 的证据与审计,但 A/B 仍需拆成更小的后续任务,不把 `5-26` 或 Gap A2 标为完成。
|
||||
+5
-3
@@ -1,11 +1,13 @@
|
||||
# 1-1 [process] Tree-First Graph 内核实施清单 v2
|
||||
# 1-1 [reference] Tree-First Graph 内核实施清单 v2
|
||||
|
||||
> 更新时间:2026-04-16
|
||||
>
|
||||
> 当前状态:`reference`。本文保留 kernel 分阶段全景与历史状态口径;当前执行顺序以 `design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md` 为准。
|
||||
>
|
||||
> 基于以下实际状态重写:
|
||||
> - 当前未提交代码
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-tree-first-graph-kernel-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/reference/1-tree-first-graph-kernel-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/reference/3-1-rust-web-long-term-checklist-v2.md`
|
||||
> - `/mnt/Data1T/mnote/harness-tasks.json`
|
||||
|
||||
## 1. 这版为什么要重写
|
||||
+5
-3
@@ -1,7 +1,9 @@
|
||||
# 1-2 [process] Tree-First Graph 产品愿景进展评估 v1
|
||||
# 1-2 [reference] Tree-First Graph 产品愿景进展评估 v1
|
||||
|
||||
> 更新时间:2026-05-19
|
||||
>
|
||||
> 当前状态:`reference`。本文保留产品愿景进展评估,不作为当前 active implementation checklist。
|
||||
>
|
||||
> **目的**:对照原始产品愿景(Wolai 编辑体验 + VSCode 文件树 + simple-mindmap + OnlyOffice + AI 操作一切),评估当前代码在 1.0 MVP 后的实际进展和剩余的缺口。
|
||||
>
|
||||
> 关联:
|
||||
@@ -30,7 +32,7 @@
|
||||
| 前端壳已切换到 Rust SSR(`:3000`)| DONE | `CURRENT_ARCHITECTURE.md` §3.1 |
|
||||
| Page Aggregate 写链(标题/正文/设置)smoke 通过 | DONE | `scripts/task110-*`, `task-page-aggregate-*-smoke.js` |
|
||||
| 页面设置运行时语义 / 页头回流 / AI 设置面未完全闭环 | PROCESS | `design/05-editor-mainline/reference/5-5-page-aggregate-single-truth-alignment-v1.md` |
|
||||
| Wolai UI 行为持续对齐 | PROCESS | `design/05-editor-mainline/process/5-9-wolai-aline-continuous-checklist-v1.md` |
|
||||
| Wolai UI 行为持续对齐 | PROCESS | `design/05-editor-mainline/reference/5-9-wolai-aline-continuous-checklist-v1.md` |
|
||||
| `documents.content` 仍是兼容后备而非唯一真源 | PARTIAL | `CURRENT_ARCHITECTURE.md` §3.2 |
|
||||
|
||||
#### 基础块类型覆盖(对照 Wolai 帮助中心)
|
||||
@@ -101,7 +103,7 @@
|
||||
|
||||
| 子能力 | 状态 | 关键证据 |
|
||||
|--------|------|----------|
|
||||
| Phase 6 口径修正(Rust kernel + simple-mind-map adapter)| DONE | `design/06-mindmap/process/6-mindmap-kernel-phase6-projection-editor-v1.md` §2 |
|
||||
| Phase 6 口径修正(Rust kernel + simple-mind-map adapter)| DONE | `design/06-mindmap/reference/6-mindmap-kernel-phase6-projection-editor-v1.md` §2 |
|
||||
| Leptos UI shell | DONE | git `c64487c6` |
|
||||
| 即时显示修复 | DONE | git `3be102a4` |
|
||||
| Filetree 切换稳定 | DONE | git `b300562a` |
|
||||
+5
-3
@@ -1,11 +1,13 @@
|
||||
# 1-4 [process] 下一阶段执行路线图 v1
|
||||
# 1-4 [reference] 下一阶段执行路线图 v1
|
||||
|
||||
> 创建时间:2026-05-19
|
||||
>
|
||||
> 当前状态:`PROCESS`
|
||||
> 当前状态:`reference`
|
||||
>
|
||||
> 归档说明(2026-05-22):本文保留下一阶段路线推导;当前可执行入口已收敛到 `design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md`,不再从本文直接派发实现。
|
||||
>
|
||||
> 上位依据:
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-3-current-priority-execution-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/done/1-3-current-priority-execution-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/reference/5-14-zed-lapce-vscode-reference-adoption-matrix-v1.md`
|
||||
> - `/mnt/Data1T/mnote/CURRENT_ARCHITECTURE.md`
|
||||
> - `/mnt/Data1T/mnote/ARCHITECTURE.md`
|
||||
+6
-4
@@ -1,12 +1,14 @@
|
||||
# 1-5 [process] 下一阶段顺序执行 checklist v1
|
||||
# 1-5 [reference] 下一阶段顺序执行 checklist v1
|
||||
|
||||
> 创建时间:2026-05-19
|
||||
>
|
||||
> 当前状态:`PROCESS`
|
||||
> 当前状态:`reference`
|
||||
>
|
||||
> 归档说明(2026-05-22):本文是历史顺序清单,部分条目已被后续 Batch / done 文档覆盖;当前只作为参考,不再作为 active process 队列。
|
||||
>
|
||||
> 上位依据:
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-4-next-phase-execution-roadmap-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-3-current-priority-execution-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/reference/1-4-next-phase-execution-roadmap-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/done/1-3-current-priority-execution-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/reference/5-14-zed-lapce-vscode-reference-adoption-matrix-v1.md`
|
||||
>
|
||||
> 目标:给出一份可以顺序执行、每一步都有完成验收、且标明参考源码位置的下一阶段执行清单。
|
||||
+5
-3
@@ -1,13 +1,15 @@
|
||||
# 1 [process] Tree-First Graph 内核方案 v1
|
||||
# 1 [reference] Tree-First Graph 内核方案 v1
|
||||
|
||||
> 更新时间:2026-04-22
|
||||
>
|
||||
> 当前状态:`reference`。本文是 tree-first graph kernel 的长期架构边界,不是当前可直接执行的 checklist;执行入口见 `design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md`。
|
||||
>
|
||||
> 当前优先级入口:
|
||||
> - `/mnt/Data1T/mnote/design/01-05-current-priority-overview.md`
|
||||
>
|
||||
> 关联文档:
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-rust-web-long-term-architecture-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/reference/3-rust-web-long-term-architecture-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/reference/3-1-rust-web-long-term-checklist-v2.md`
|
||||
> - `/mnt/Data1T/mnote/ARCHITECTURE.md`
|
||||
|
||||
## 1. 文档目的
|
||||
Reference in New Issue
Block a user