chore: align sqlite control plane architecture
- replace default Convex control-plane wording with Rust SQLite control-plane across architecture, AGENTS, Reasonix, and design docs - retire root Convex functions source and deploy script into recycle while keeping explicit cloud/compat/sync-replica boundaries - add control-plane migration guard/docs and keep CodeGraph refreshed after the SQLite control-plane cutover
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 当前完整架构
|
||||
|
||||
> 更新时间:2026-05-21
|
||||
> 更新时间:2026-05-22
|
||||
>
|
||||
> 范围:`/mnt/Data1T/mnote` 当前可见实现、local-first MVP 后阶段主线口径、历史退役边界和后续功能缺口。
|
||||
|
||||
@@ -18,11 +18,12 @@
|
||||
- Rust kernel / projection / command 持有树、页面、资源和权限语义。
|
||||
- tiptap 是 Markdown 的前端显示与交互层,不是 agent 的主工作面。
|
||||
- Hermes / Reasonix 默认应像 VSCode 中的 agent 一样,在授权目录白名单内用自身 patch / diff / 文件编辑能力修改文件。
|
||||
- Convex / 服务端不再是默认正文、附件、AI 会话全文主存储,而是 auth、membership、share grants、sync state、AI policy、cloud source、compat 和 sync replica 控制面。
|
||||
- Rust SQLite control-plane 是默认 auth、membership、share grants、sync state、AI policy、ACP/Hermes runtime session 控制面;Convex / 服务端不再是默认正文、附件、AI 会话全文主存储,也不再是默认控制面,只保留历史迁移源、显式 cloud source、compat 和 sync replica 边界。
|
||||
|
||||
上位设计已完成并迁入:
|
||||
|
||||
- [2-2 local-first workspace 与 Convex 控制面降级方案](/mnt/Data1T/mnote/design/02-convex-rust-long-term-architecture/done/2-2-local-first-workspace-convex-control-plane-v1.md)
|
||||
- [2-8 Convex 替换为 Rust SQLite 控制面](/mnt/Data1T/mnote/design/02-convex-rust-long-term-architecture/done/2-8-convex-replace-with-rust-sqlite-control-plane-v1.md)
|
||||
|
||||
## 2. 当前分层
|
||||
|
||||
@@ -31,7 +32,7 @@
|
||||
- `local_folder` 是默认 source:`/mnt/Data1T/Mnote_data/users/<actor>/workspaces/my-space/` 是受管“我的空间”默认根。
|
||||
- 管理员通过控制面授权用户可读写目录;普通用户不能自助获得全盘读写。
|
||||
- 上传到本地 Markdown 页面时,图片和附件默认写入 sibling assets,例如 `README.assets/image.png`,正文保存相对 Markdown 链接。
|
||||
- Convex source 仍可作为 cloud / compat / sync replica,但新增功能不能默认把 `documents.*`、`mediaAssets.*`、`aiSessions.*` 当主存储。
|
||||
- Convex source 仍可作为 cloud / compat / sync replica 或历史迁移源,但新增功能不能默认把 `documents.*`、`mediaAssets.*`、`aiSessions.*` 当主存储,也不能把根 Convex functions 重新作为默认控制面。
|
||||
|
||||
### 2.2 Rust Kernel / Projection
|
||||
|
||||
@@ -60,7 +61,7 @@
|
||||
|
||||
- `mnote.doc.fetch`、`mnote.doc.markdown_edit`、`mnote.doc.apply_block_ops`、`mnote.block.*` 和 `mnote.page.*` 保留为 cloud / remote agent / compat / 复杂结构辅助工具。
|
||||
- `/api/page-ai/block-edit-workflow` 不再作为 local-first 普通正文编辑主路径。
|
||||
- AI session 全文在 local source 下默认写入 `ai-sessions/private/*.jsonl` 或 `ai-sessions/shared/<share-id>/*.jsonl`;Convex 只保存必要 metadata / audit / sync replica。
|
||||
- AI session 全文在 local source 下默认写入 `ai-sessions/private/*.jsonl` 或 `ai-sessions/shared/<share-id>/*.jsonl`;ACP/Hermes runtime session 默认落到 SQLite control-plane;Convex 只作为显式 legacy/cloud metadata / audit / sync replica 边界。
|
||||
|
||||
## 3. 已完成 MVP 收口
|
||||
|
||||
@@ -69,7 +70,7 @@
|
||||
- `cargo fmt --check --all`、`local_folder`、`hermes_tools`、local/shared AI session、local-first Convex guard、Convex export fixture、local asset upload smoke、external-change conflict smoke 均已作为 `2-2` 验收证据记录。
|
||||
- 本地上传链路已避免 Convex media asset,落盘相对 Markdown 链接。
|
||||
- 本地 AI 会话已区分 private / shared / cloud,并在 UI 上显示来源。
|
||||
- Convex guard 已阻止 active 路径重新引入未标注的 Convex documents / media / aiSessions 默认主存储口径。
|
||||
- Convex guard 已阻止 active 路径重新引入未标注的 Convex documents / media / aiSessions 默认主存储口径,并拦截根 `convex/` functions 源码回流默认控制面。
|
||||
|
||||
## 4. MVP 后阶段功能缺口
|
||||
|
||||
@@ -121,12 +122,14 @@
|
||||
12. **旧 Convex 数据迁移产品化**
|
||||
- 当前已有 fixture/offline 导出脚本。
|
||||
- 后续需要真实 Convex workspace 导出入口、迁移进度、冲突报告、回滚/备份策略。
|
||||
- 根 `convex/` functions 源码已软删除到 `recycle/20260522-convex-runtime-retirement/convex/`,只作为审计和迁移对照素材。
|
||||
|
||||
## 5. 已退役或降级口径
|
||||
|
||||
以下说法不再作为当前主线:
|
||||
|
||||
- “Convex 是默认正文 / 附件 / AI 会话全文主存储。”
|
||||
- “Convex 是默认 auth / membership / share / AI runtime 控制面。”
|
||||
- “`mnote.doc.markdown_edit` 是 local-first 普通 Markdown 编辑唯一主路径。”
|
||||
- “页面 AI 必须走 `/api/page-ai/block-edit-workflow` 或 `mnote.block.*` 才能改正文。”
|
||||
- “`/api/documents/save` 是长期正文保存主入口。”
|
||||
|
||||
Reference in New Issue
Block a user