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
@@ -20,7 +20,7 @@
|
||||
|
||||
> - 当前 shell parity checklist:`/mnt/Data1T/mnote/design/03-rust-web/done/3-8-rust-web-3000-wolai-ui-parity-checklist-v1.md`
|
||||
|
||||
> - Page Aggregate 对齐主线:`/mnt/Data1T/mnote/design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
> - Page Aggregate 对齐主线:`/mnt/Data1T/mnote/design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
|
||||
## 1. 当前结论
|
||||
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
>
|
||||
> 参考主线:
|
||||
> - `/mnt/Data1T/mnote/design/04-tree-domain/done/4-11-tree-rust-family-final-renderer-and-host-thinning-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/done/3-10-rust-web-3000-tree-editor-runtime-integration-checklist-v1.md`
|
||||
|
||||
## 1. 根因确认
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
> - 下文第 2 节保留的是实现前问题基线;当前真实完成状态与验证证据以第 15-16 节为准
|
||||
>
|
||||
> 关联文档:
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-rust-web-long-term-architecture-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/reference/3-rust-web-long-term-architecture-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-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/05-editor-mainline/process/5-5-page-aggregate-single-truth-alignment-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
|
||||
## 1. 结论
|
||||
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
> 关联:
|
||||
> - `/mnt/Data1T/mnote/ARCHITECTURE.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-05-current-priority-overview.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-1-rust-web-long-term-checklist-v2.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/process/5-5-page-aggregate-single-truth-alignment-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/process/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/done/5-6-page-aggregate-alignment-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/07-ai/done/7-3-page-ai-hermes-panel-and-mnote-plugin-v1.md`
|
||||
>
|
||||
> 2026-05-13 口径修正:
|
||||
|
||||
@@ -8,9 +8,9 @@
|
||||
> - `3104` 已按 `/mnt/Data1T/mnote/design/03-rust-web/done/3-4-mnote-web-3104-boundary-retirement-plan-v1.md` 退役为默认/公开边界
|
||||
>
|
||||
> 关联文档:
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-1-tree-first-graph-kernel-checklist-v2.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-1-tree-first-graph-kernel-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`
|
||||
|
||||
## 0. 本轮判断
|
||||
|
||||
|
||||
@@ -13,8 +13,8 @@
|
||||
> 关联文档:
|
||||
> - `/mnt/Data1T/mnote/design/02-convex-rust-long-term-architecture/done/2-2-local-first-workspace-convex-control-plane-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/old/02-convex-rust-long-term-architecture/process/2-tree-first-graph-convex-rust-long-term-architecture-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-rust-web-long-term-architecture-v1.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-rust-web-long-term-architecture-v1.md`
|
||||
|
||||
## 1. 目标
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
> 关联文档:
|
||||
> - `/mnt/Data1T/mnote/ARCHITECTURE.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/reference/3-rust-web-long-term-architecture-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-3-rust-web-tree-realtime-event-stream-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/process/5-5-page-aggregate-single-truth-alignment-v1.md`
|
||||
|
||||
|
||||
@@ -514,7 +514,7 @@ Expected:
|
||||
**Files:**
|
||||
|
||||
- Modify: `ARCHITECTURE.md`
|
||||
- Modify: `design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md`
|
||||
- Modify: `design/03-rust-web/reference/3-1-rust-web-long-term-checklist-v2.md`
|
||||
- Modify: `design/03-rust-web/process/3-6-rust-web-main-execution-plane-checklist-v1.md`
|
||||
- Move when complete: `design/03-rust-web/process/3-5-rust-web-main-execution-plane-cutover-plan-v1.md`
|
||||
- Move when complete: `design/03-rust-web/process/3-6-rust-web-main-execution-plane-checklist-v1.md`
|
||||
|
||||
+5
-3
@@ -1,13 +1,15 @@
|
||||
# 3-1 [process] Rust Web 长期架构实施清单 v2
|
||||
# 3-1 [reference] Rust Web 长期架构实施清单 v2
|
||||
|
||||
> 更新时间:2026-04-29
|
||||
>
|
||||
> 当前状态:`reference`。本文保留 Rust Web 分阶段全景,不再作为 active implementation checklist。
|
||||
>
|
||||
> 基于以下实际状态重写:
|
||||
> - 当前未提交代码
|
||||
> - `/mnt/Data1T/mnote/harness-tasks.json` 中 `task-059` ~ `task-069`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/process/3-rust-web-long-term-architecture-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/03-rust-web/reference/3-rust-web-long-term-architecture-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/old/03-rust-web/process/rust-web-long-term-checklist-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/process/1-tree-first-graph-kernel-v1.md`
|
||||
> - `/mnt/Data1T/mnote/design/01-tree-first-graph-kernel/reference/1-tree-first-graph-kernel-v1.md`
|
||||
|
||||
## 1. 这版为什么要重写
|
||||
|
||||
@@ -1,151 +0,0 @@
|
||||
# 3-17 Convex Export Web Entry v1
|
||||
|
||||
状态:reference
|
||||
|
||||
归档说明(2026-05-21):CLI 迁移闭环已具备并有 smoke 证据;本文只保留为后续 Web 管理入口设计参考,当前不作为 active implementation checklist。若决定短期落地 Web UI,应新建执行 checklist。
|
||||
|
||||
## 目标
|
||||
|
||||
旧 Convex workspace 迁移到本地 workspace 时,用户应能在 Web 控制台完成:
|
||||
|
||||
1. 选择 Convex workspace。
|
||||
2. 选择目标本地 root。
|
||||
3. 先 dry run,查看计划、冲突和预计写入。
|
||||
4. apply 后得到 manifest、冲突报告、索引重建结果。
|
||||
5. 需要时按 manifest rollback。
|
||||
|
||||
## 当前基础
|
||||
|
||||
CLI 已具备最小迁移闭环:
|
||||
|
||||
- `scripts/export-convex-workspace-to-local.js --fixture <fixture.json> --out <dir>`
|
||||
- `--dry-run`
|
||||
- `--manifest <file>`
|
||||
- `--conflict-report <file>`
|
||||
- `--rollback <manifest.json>`
|
||||
|
||||
验证:
|
||||
|
||||
- `node scripts/task444-convex-workspace-export-local-fixture-smoke.js`
|
||||
- `node scripts/task455-convex-export-plan-rollback-smoke.js`
|
||||
|
||||
## Web 入口设计
|
||||
|
||||
入口位置:管理员控制台 `/admin` 新增“Convex 迁移”面板。
|
||||
|
||||
字段:
|
||||
|
||||
- `workspaceId`
|
||||
- `targetRootUri`
|
||||
- `mode=dryRun | apply | rollback`
|
||||
- `manifestPath`,rollback 时必填
|
||||
- `conflictPolicy=stop`,默认只支持 stop,不覆盖目标文件
|
||||
|
||||
## API 设计
|
||||
|
||||
### `GET /api/admin/convex-export/workspaces`
|
||||
|
||||
返回当前可导出的 Convex workspace 列表。
|
||||
|
||||
最小返回:
|
||||
|
||||
```json
|
||||
{
|
||||
"ok": true,
|
||||
"workspaces": [
|
||||
{ "workspaceId": "ws_1", "name": "默认空间", "documentCount": 12 }
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### `POST /api/admin/convex-export/plan`
|
||||
|
||||
输入:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspaceId": "ws_1",
|
||||
"targetRootUri": "file:///mnt/Data1T/Mnote_data/users/user_1/workspaces/imported"
|
||||
}
|
||||
```
|
||||
|
||||
行为:
|
||||
|
||||
- 导出 Convex workspace fixture / snapshot 到临时计划。
|
||||
- 调用迁移 planner,等价于 CLI `--dry-run`。
|
||||
- 写入 `<target>/.mnote/migration-plan.json` 或控制面 job 目录。
|
||||
- 不写正文文件。
|
||||
|
||||
### `POST /api/admin/convex-export/apply`
|
||||
|
||||
输入:
|
||||
|
||||
```json
|
||||
{
|
||||
"workspaceId": "ws_1",
|
||||
"targetRootUri": "file:///mnt/Data1T/Mnote_data/users/user_1/workspaces/imported",
|
||||
"manifestPath": "/mnt/Data1T/Mnote_data/users/user_1/workspaces/imported/.mnote/migration-manifest.json"
|
||||
}
|
||||
```
|
||||
|
||||
行为:
|
||||
|
||||
- 默认 `conflictPolicy=stop`。
|
||||
- 目标文件存在时返回 409 和 conflict report。
|
||||
- 成功后写 `.mnote/migration-manifest.json`、`.mnote/index/search-index.json`。
|
||||
|
||||
### `POST /api/admin/convex-export/rollback`
|
||||
|
||||
输入:
|
||||
|
||||
```json
|
||||
{
|
||||
"manifestPath": "/mnt/Data1T/Mnote_data/users/user_1/workspaces/imported/.mnote/migration-manifest.json"
|
||||
}
|
||||
```
|
||||
|
||||
行为:
|
||||
|
||||
- 按 manifest 删除本次新增文件。
|
||||
- 如 manifest 存在备份文件,则恢复备份。
|
||||
- 不删除 manifest 本身,追加 rollback report。
|
||||
|
||||
## 权限
|
||||
|
||||
- 只有 admin 可以从任意 Convex workspace 导出。
|
||||
- 普通用户只能导出自己拥有的 workspace 到自己有 write grant 的本地 root。
|
||||
- 所有 `targetRootUri` 必须通过 local access policy 校验。
|
||||
- Web API 不能接受任意 shell 命令;CLI 迁移逻辑应抽成 Rust/Node 可调用模块或由受控 job runner 调用固定脚本和固定参数。
|
||||
|
||||
## 状态与报告
|
||||
|
||||
任务状态包含:
|
||||
|
||||
- `queued`
|
||||
- `planning`
|
||||
- `blocked_by_conflict`
|
||||
- `applying`
|
||||
- `indexing`
|
||||
- `completed`
|
||||
- `failed`
|
||||
- `rolled_back`
|
||||
|
||||
报告包含:
|
||||
|
||||
- `documentCount`
|
||||
- `resourceCount`
|
||||
- `aiSessionCount`
|
||||
- `operationCount`
|
||||
- `createdFiles`
|
||||
- `conflicts`
|
||||
- `indexRefresh`
|
||||
- `manifestPath`
|
||||
- `conflictReportPath`
|
||||
|
||||
## 后续落码顺序
|
||||
|
||||
1. 把 CLI planner/apply/rollback 拆成可被 Web route 复用的模块。
|
||||
2. 新增 admin API 的 dry-run route。
|
||||
3. 新增 admin UI “Convex 迁移”面板。
|
||||
4. 新增 apply / rollback route。
|
||||
5. 补 browser smoke:dry-run 不写文件、冲突 409、不覆盖、rollback 后 root 恢复。
|
||||
+4
-2
@@ -1,7 +1,9 @@
|
||||
# 3 [process] Rust Web 长期架构方案 v1
|
||||
# 3 [reference] Rust Web 长期架构方案 v1
|
||||
|
||||
> 更新时间:2026-05-09
|
||||
>
|
||||
> 当前状态:`reference`。本文保留 Rust Web 长期架构边界;当前实现队列以 `design/01-tree-first-graph-kernel/process/1-8-mvp-post-process-execution-order-v1.md` 和对应 `done/` 证据为准。
|
||||
>
|
||||
> 相关文档:
|
||||
> - `/mnt/Data1T/mnote/ARCHITECTURE.md`
|
||||
> - `/mnt/Data1T/mnote/design/old/08-legacy-rust-kernel/done/rust-kernel-cutover-v1.md`
|
||||
@@ -352,7 +354,7 @@ Leptos Islands 很适合承接下面这类长期目标:
|
||||
- Rust Web 已能承接主 API、页面壳和主流式链路
|
||||
- `BlockNote` 已降级为最后的重交互孤岛
|
||||
|
||||
对应的执行细节、逐阶段清单和可验证项,当前应先以 `/mnt/Data1T/mnote/design/01-05-current-priority-overview.md` 确认优先级;`/mnt/Data1T/mnote/design/03-rust-web/process/3-1-rust-web-long-term-checklist-v2.md` 保留为 Rust Web 分阶段全景参考。
|
||||
对应的执行细节、逐阶段清单和可验证项,当前应先以 `/mnt/Data1T/mnote/design/01-05-current-priority-overview.md` 确认优先级;`/mnt/Data1T/mnote/design/03-rust-web/reference/3-1-rust-web-long-term-checklist-v2.md` 保留为 Rust Web 分阶段全景参考。
|
||||
|
||||
### 8.4 当前已落地的最小里程碑(2026-05-09)
|
||||
|
||||
Reference in New Issue
Block a user