chore: 收口 review 执行清单与 runtime 验证
- 补齐 design/10-review 执行清单、验收标准与相关设计治理记录 - 迁移已完成的 tree、mindmap、runtime fallback、AI kernel 等设计和缺陷条目 - 推进 Rust Web runtime、tree/sidebar、page aggregate、mindmap 与 OnlyOffice 路由侧验证支撑 - 增加 task177-task180 smoke/audit 脚本及前端相关测试覆盖
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 5-5-1 [done] Page Aggregate Contract v1
|
||||
|
||||
> 更新时间:2026-04-22
|
||||
> 更新时间:2026-05-14
|
||||
>
|
||||
> 关联文档:
|
||||
> - `/mnt/Data1T/mnote/design/05-editor-mainline/process/5-5-page-aggregate-single-truth-alignment-v1.md`
|
||||
@@ -92,13 +92,13 @@
|
||||
说明:
|
||||
|
||||
- 这层不是“页面设置面板 UI state”,而是页面设置的持久化真相。
|
||||
- 其中只有一部分已经进入 `leptos-tiptap` island 运行时:
|
||||
- 以下字段已经进入 `leptos-tiptap` island runtime payload:
|
||||
- `wideLayout`
|
||||
- `smallText`
|
||||
- `layoutDensity`
|
||||
- 下面两项当前只完成字段贯通,不可描述成“正式支持”:
|
||||
- `showHeadingNumbers`
|
||||
- `embedDefaultBlockId`
|
||||
- 其中 `showHeadingNumbers` / `embedDefaultBlockId` 已进入 runtime payload,但深层语义仍是阶段性桥接:前者还不能描述成完整 heading 编号渲染闭环,后者还不能描述成完整嵌入默认落点闭环。
|
||||
|
||||
### 2.4 `page_body`
|
||||
|
||||
@@ -152,6 +152,24 @@
|
||||
|
||||
- 统计不是页面身份,也不是布局或正文真相,但它是 page aggregate 的附属部分。
|
||||
|
||||
### 2.7 `source` / provenance
|
||||
|
||||
作用:
|
||||
|
||||
> **标识这份 `PageAggregateProjection` 的真实构建来源。**
|
||||
|
||||
当前允许值:
|
||||
|
||||
- `KernelProjection`:底层已经由 Rust kernel 原生 page aggregate projection 产出。
|
||||
- `CompatMetaContentJoin`:对外已经是 Rust `mnote.page_aggregate.v1` 契约,但底层仍由 Rust runtime adapter 消费 `documents:getMeta + documents:getContent` substrate 后聚合。
|
||||
- `Fixture`:仅允许在测试或显式 dev fixture 场景出现。
|
||||
|
||||
说明:
|
||||
|
||||
- 当前 `/api/page-aggregate/:id` 主读链属于 `CompatMetaContentJoin`,不是完整 `KernelProjection`。
|
||||
- `source_label()` / `x-mnote-page-aggregate-owner` 必须与实际来源一致:`KernelProjection -> rust-kernel`,`CompatMetaContentJoin -> compat-join`,`Fixture -> fixture`。
|
||||
- 前端 loader 只消费 `mnote.page_aggregate.v1` 契约,不应因为来源是 `CompatMetaContentJoin` 而恢复 TS runtime builder 主链。
|
||||
|
||||
## 3. 哪些字段是 aggregate truth,哪些只是 UI state
|
||||
|
||||
### 3.1 Aggregate Truth
|
||||
@@ -194,7 +212,7 @@
|
||||
- 标题输入中的 debounce 缓冲态
|
||||
- 正文 host 内的未保存 dirty 态
|
||||
- 只影响单次交互的面板/菜单开关
|
||||
- `showHeadingNumbers/embedDefaultBlockId` 的“字段已贯通,但深语义未完成”阶段性桥接逻辑
|
||||
- `showHeadingNumbers/embedDefaultBlockId` 的“runtime payload 已贯通,但深语义未完成”阶段性桥接逻辑
|
||||
|
||||
约束:
|
||||
|
||||
@@ -222,11 +240,11 @@
|
||||
|
||||
- 树标题与页头标题已经证明消费同一份更新后的 projection
|
||||
- AI 写入口已经完全脱离 editor bridge,正式执行 page body command
|
||||
- `showHeadingNumbers` 真正进入 heading 渲染语义
|
||||
- `embedDefaultBlockId` 真正进入嵌入默认落点逻辑
|
||||
- `showHeadingNumbers` 完整进入 heading 编号渲染语义
|
||||
- `embedDefaultBlockId` 完整进入嵌入默认落点逻辑
|
||||
|
||||
## 7. 当前可对外口径
|
||||
|
||||
当前可以准确描述为:
|
||||
|
||||
> **文档页已开始消费统一 `Page Aggregate`,标题/页面设置/正文保存也开始按 `page_head / page_layout / page_body` 收口;但树域投影统一与 AI 正式 page body 写入口仍未完全完成。**
|
||||
> **文档页已开始消费统一 `Page Aggregate`,标题/页面设置/正文保存也开始按 `page_head / page_layout / page_body` 收口;当前 Rust route 主读链已成立,但 `/api/page-aggregate/:id` 底层仍是 `CompatMetaContentJoin`,树域投影统一与 AI 正式 page body 写入口也仍未完全完成。**
|
||||
|
||||
Reference in New Issue
Block a user