From b91bad5f147c654dc08473c56ed8dcdb919f072f Mon Sep 17 00:00:00 2001 From: lix-2026 Date: Tue, 26 May 2026 04:20:19 +0800 Subject: [PATCH] docs: record page ai runtime owner boundary --- ...7-38-page-ai-sidebar-runtime-owner-split-v1.md | 15 +++++++++------ ...runtime-module-maintainability-checklist-v1.md | 4 ++-- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/design/07-ai/process/7-38-page-ai-sidebar-runtime-owner-split-v1.md b/design/07-ai/process/7-38-page-ai-sidebar-runtime-owner-split-v1.md index a1aa3e95..cc0a35c2 100644 --- a/design/07-ai/process/7-38-page-ai-sidebar-runtime-owner-split-v1.md +++ b/design/07-ai/process/7-38-page-ai-sidebar-runtime-owner-split-v1.md @@ -3,10 +3,11 @@ > 创建时间:2026-05-25 > 状态:`process` > 来源:`design/03-rust-web/process/3-22-sidebar-tree-runtime-second-stage-split-v1.md` Batch A。 +> 2026-05-26 更新:`design/10-review/process/16-mnote-web-runtime-module-maintainability-checklist-v1.md` 已把 Page AI 主体迁入 `browser/sidebar-page-ai-runtime.js`;本文件继续作为后续 AI owner 收口 checklist。 ## 1. 背景 -`rust/crates/mnote-web/browser/sidebar-tree-runtime.js` 中仍有大量 Page AI panel 代码:会话、消息、profile、skills、gateway health、ACP runtime、permission dialog、plan/status event、session search/resume 等。当前粗略搜索 `pageAi*` / `data-page-ai` / `PAGE_AI` 命中约 800 处。 +`rust/crates/mnote-web/browser/sidebar-tree-runtime.js` 曾包含大量 Page AI panel 代码:会话、消息、profile、skills、gateway health、ACP runtime、permission dialog、plan/status event、session search/resume 等。2026-05-26 的 runtime 可维护性批次已将主体迁入 `browser/sidebar-page-ai-runtime.js`,tree runtime 目前只保留 sidebar click/change/input 委托、少量 `pageUiState.pageAi*` 状态壳和触发器代理。 这些代码不是 tree/filetree runtime 的长期 owner。继续把 Page AI 面板放在 `03-rust-web` 的 sidebar runtime 拆分里,会让 tree shell、local folder、AI session 三条边界继续混在一起。 @@ -14,19 +15,21 @@ - owner:`07-ai` - 运行位置:当前仍可挂在 sidebar UI,但 runtime 模块应独立于 tree/filetree runtime。 -- 目标模块候选:`rust/crates/mnote-web/browser/page-ai-panel-runtime.js` +- 当前目标模块:`rust/crates/mnote-web/browser/sidebar-page-ai-runtime.js` - 主壳职责:只加载 asset、提供当前 document/workspace/root/bootstrap。 ## 3. 后续执行建议 -- [ ] 只读审计 Page AI panel 的状态入口:`pageUiState.pageAi*`、storage、session 列表、profile/skills、permission dialog。 -- [ ] 新增 `page-ai-panel-runtime.js`,先迁纯数据 normalize / storage helper,不迁事件流和 DOM 面板。 -- [ ] 第二刀迁 permission dialog DOM helper,保持 `/api/hermes/client/runs/*/resolve-permission` 业务调用不变。 -- [ ] 第三刀迁 session list/search/resume DOM helper。 +- [x] 只读审计 Page AI panel 的状态入口:`pageUiState.pageAi*`、storage、session 列表、profile/skills、permission dialog。 +- [x] 建立独立 Page AI sidebar owner runtime:`sidebar-page-ai-runtime.js`。 +- [ ] 从 `sidebar-tree-runtime.js` 继续迁出 Page AI click/change/input/keydown 委托,tree runtime 只保留 `data-mnote-action="open-page-ai"` 入口。 +- [ ] 将 `pageUiState.pageAi*` 从通用 sidebar state 中下沉到 Page AI owner runtime,并保留兼容 getter/setter 或明确 bootstrap contract。 +- [ ] 若 `sidebar-page-ai-runtime.js` 继续超过 2,500 行,再按 `session/profile-skill/permission/conversation` 拆成子模块。 - [ ] 浏览器验证使用页面 AI / ACP smoke,而不是 tree/filetree smoke 替代。 ## 4. 非目标 - 不在 03-rust-web 的 sidebar runtime 二阶段里继续扩大 Page AI 实现。 +- 不在 10-review runtime 可维护性收口里继续重构 ACP/Hermes session 语义;这里只记录 owner 边界。 - 不改变 Hermes / Reasonix ACP runtime 协议。 - 不把 local-first agent 文件编辑链路改回粗粒度 `mnote.page.save`。 diff --git a/design/10-review/process/16-mnote-web-runtime-module-maintainability-checklist-v1.md b/design/10-review/process/16-mnote-web-runtime-module-maintainability-checklist-v1.md index a158b097..a526ae12 100644 --- a/design/10-review/process/16-mnote-web-runtime-module-maintainability-checklist-v1.md +++ b/design/10-review/process/16-mnote-web-runtime-module-maintainability-checklist-v1.md @@ -276,12 +276,12 @@ cargo test --manifest-path rust/Cargo.toml -p mnote-web --lib routes::web_shell - [x] F1. 审计 `sidebar-tree-runtime.js` 中所有 Page AI / ACP / Hermes / Reasonix 字符串和函数。 - [x] F2. 纯 UI panel host 已迁入 `browser/sidebar-page-ai-runtime.js`。 -- [ ] F3. ACP/Hermes session 行为不得迁入 tree runtime;需要新建或更新 `design/07-ai/process/*` checklist 后再实施。 +- [x] F3. ACP/Hermes session 行为不得迁入 tree runtime;已更新 `design/07-ai/process/7-38-page-ai-sidebar-runtime-owner-split-v1.md`,后续 AI event delegation / session 语义收口归 `07-ai`。 验收命令: ```bash -rg -n "Page AI|page-ai|ACP|Hermes|Reasonix|hermes|reasonix" rust/crates/mnote-web/browser/sidebar-tree-runtime.js rust/crates/mnote-web/browser/page-ai-panel-runtime.js +rg -n "Page AI|page-ai|ACP|Hermes|Reasonix|hermes|reasonix" rust/crates/mnote-web/browser/sidebar-tree-runtime.js rust/crates/mnote-web/browser/sidebar-page-ai-runtime.js cargo test --manifest-path rust/Cargo.toml -p mnote-web --lib ssr::pages::layout -- --test-threads=1 ```