chore: align mvp design governance
- 统一 local-first MVP 后阶段架构口径,补充 process 执行总序和 Reasonix 协作记录 - 归档已完成的 design checklist,标注参考型 process,更新 AGENTS/REASONIX/架构文档 - 补充文件树/主编辑器下载与上下文菜单相关实现、bug 记录和 smoke 脚本 验证:git diff --check;codegraph sync .;cargo test -p mnote-web;node --check scripts/task476-filetree-editor-context-menu-download-smoke.js
This commit is contained in:
+33
-11
@@ -1,8 +1,8 @@
|
||||
# 当前完整架构
|
||||
|
||||
> 更新时间:2026-05-19
|
||||
> 更新时间:2026-05-21
|
||||
>
|
||||
> 范围:`/mnt/Data1T/mnote` 当前可见实现、主线口径、历史退役边界和后续功能缺口。
|
||||
> 范围:`/mnt/Data1T/mnote` 当前可见实现、local-first MVP 后阶段主线口径、历史退役边界和后续功能缺口。
|
||||
|
||||
## 1. 当前产品形态
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
|
||||
这意味着:
|
||||
|
||||
- 初步 MVP 已建立,后续不是继续证明 Rust Web、local-first 或 tiptap island 是否成立,而是收紧底座、减少 compat、补齐产品化闭环。
|
||||
- 本地 workspace folder 是早期产品默认数据真相。
|
||||
- 本地 `.md` 文件是页面正文真相;Page Aggregate、tiptap state、AI context 都是投影或工作副本。
|
||||
- Rust kernel / projection / command 持有树、页面、资源和权限语义。
|
||||
@@ -61,42 +62,63 @@
|
||||
- `/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。
|
||||
|
||||
## 3. 已完成收口
|
||||
## 3. 已完成 MVP 收口
|
||||
|
||||
- Local-first workspace 上位设计和 checklist 已完成,迁入 `design/02-convex-rust-long-term-architecture/done/2-2-*`。
|
||||
- 3000 下文档页、Sidebar/File Tree/Page Tree、tree command preferred path、tree realtime WS 主链 / SSE fallback、本地上传下载、AI 会话本地化与 VSCode-like agent 运行口径已建立。
|
||||
- `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 默认主存储口径。
|
||||
|
||||
## 4. 仍在推进的功能缺口
|
||||
## 4. MVP 后阶段功能缺口
|
||||
|
||||
1. **管理员目录授权 UI / API**
|
||||
1. **WorkspacePath / ObjectIdentity runtime 消费统一**
|
||||
- 继续把本地路径、资源 identity、页面正文 `.md`、附件、mindmap、office 资源归属统一到 kernel / projection contract。
|
||||
- 防止 UI、compat route 或临时文件逻辑重新生成第二套资源真相。
|
||||
|
||||
2. **DocumentBuffer / BufferStore**
|
||||
- 让 tiptap、文件 watcher、agent 写入、冲突检测和页面 tab 共用打开态与文件版本仲裁。
|
||||
- 避免 dirty editor、资源 tab、文件树点击之间各自维护状态。
|
||||
|
||||
3. **Page Aggregate compat 瘦身 / kernel-native projection**
|
||||
- 继续退役 legacy `body.content` / compat join 边界。
|
||||
- local-first 正文真相保持为 `.md` 文件,Page Aggregate 只输出稳定投影。
|
||||
|
||||
4. **tree command context / context key**
|
||||
- 菜单、快捷键、按钮、AI 写入能力的 enablement 判断应收口到同一套 command context。
|
||||
- 文件树和主编辑器右键菜单不能继续各自硬编码。
|
||||
|
||||
5. **tree live cache 统一**
|
||||
- 把 local-folder watcher、projection refresh、WS/SSE snapshot/delta/resync 收进同一 live cache。
|
||||
- 减少 polling 或重复补偿链。
|
||||
|
||||
6. **管理员目录授权 UI / API**
|
||||
- 需要把 `access-policy.json` 和当前 auth actor、admin grant、read/write/share 权限做成可管理界面。
|
||||
- 管理员可授权任意 canonical 目录;普通用户只能访问自己的受管 my-space 或被授权目录。
|
||||
|
||||
2. **VSCode-like 冲突处理 UI**
|
||||
7. **VSCode-like 冲突处理 UI**
|
||||
- 当前已有 clean/dirty watcher 行为和冲突态 smoke。
|
||||
- 还需要做可用的“接受磁盘版本 / 保留当前版本 / 打开 diff 合并”交互。
|
||||
|
||||
3. **agent 写入审计**
|
||||
8. **agent 写入审计**
|
||||
- local-first agent 应回收 changed files、diff summary、tool/run id、actor、workspace root、permission level。
|
||||
- audit 默认本地落盘,同步开启时再上报控制面。
|
||||
|
||||
4. **本地全文搜索、引用和索引**
|
||||
9. **本地全文搜索、引用和索引**
|
||||
- 本地 `.md` workspace 需要独立索引:全文搜索、反链、页面引用、资源引用、标签。
|
||||
- 不能依赖 Convex search 才能搜索本地工作区。
|
||||
|
||||
5. **分享与同步闭环**
|
||||
10. **分享与同步闭环**
|
||||
- 需要把 share grants、shared workspace cache、shared AI session、只读/可写权限和冲突处理连成产品级闭环。
|
||||
- share grant 是产品层共享授权,local access grant 是本机目录授权;显式分享不能自动扩大本机 filesystem root 权限。
|
||||
- 控制面不可用时不得扩大本地缓存权限。
|
||||
|
||||
6. **插件资源模型**
|
||||
11. **插件资源模型**
|
||||
- simplemindmap / office 应作为 Resource Tree 对象打开和保存。
|
||||
- Markdown 中只保留链接或嵌入引用,不把复杂对象强塞进普通正文块。
|
||||
|
||||
7. **旧 Convex 数据迁移产品化**
|
||||
12. **旧 Convex 数据迁移产品化**
|
||||
- 当前已有 fixture/offline 导出脚本。
|
||||
- 后续需要真实 Convex workspace 导出入口、迁移进度、冲突报告、回滚/备份策略。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user