Files
mnote/design/old/04-tree-domain/done/4-8-tree-shell-cutover-performance-report-v1.md
T
Agent Board b798f628ee chore: land tree view-state, vault, Pi module split, and repo hygiene
Persist PageTree expand state via control-plane view-state and align
chevron/DOM with restored expansion; keep Sidex-style shallow page-tree
scan and drop the unused recursive scanner that only added cargo noise.

Add password vault workbench routes/runtime/skill/CLI, split page_ai_pi
into a module package, and retire Hermes/ACP/OpenHub recycle + root
harness evidence from the index while gitignoring recycle and local
diag dumps.

Archive superseded design/bugs docs under old/, point architecture at
ARCHITECTURE.md, and refresh smokes for Pi S1–S7, vault, and editor
regressions so the working tree can stay clean.
2026-07-21 05:13:05 +08:00

76 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# [recycle] 4-8 [done] Tree Shell Cutover Performance Report v1
> 更新时间:2026-04-18
>
> 测试环境:
> - 前端主站:`http://127.0.0.1:3000`
> - Rust Web`http://127.0.0.1:3104`
> - 浏览器:Playwright Chromium headless
> - 数据口径:同一工作区下真实 Sidebar + 临时父/子页面样本 + move/embed picker 对话框
## 1. 测量口径
- `首包`
- 指主树或 picker 打开后,到对应 surface 首次可见的时间。
- `首次可交互`
- 指 surface 已出现,且首个可点击行/按钮已可交互。
- `切页延迟`
- 指点击页面树或文件树行,到浏览器 URL 切到目标页面的时间。
- `大树展开延迟`
- 指点击页面树真实可展开节点的展开/收起往返显隐完成时间。
- `fallback`
-`/api/stream/events` 被阻断或失败时,Sidebar 仍能在主站内回到可见可用树视图的结果。
## 2. 实测结果
### 2.1 首页与切流 smoke
- `task097-homepage-entry-smoke.js`
- `/auth` 返回 `200 text/html`
- `/` 返回 `307 -> /auth`
- `3104 /health` 返回 `200`
### 2.2 Sidebar 主树 cutover
- `task101-tree-shell-cutover-smoke.js`
- `首包 / 首次可交互``9ms`
- `切页延迟``205ms`
- `stream``/api/stream/events?stream=workspace&projection=sidebar_tree&workspaceId=...`
- `fallback`:阻断 stream 后仍在 `22ms` 内显示可用主树
### 2.3 filetree / picker 回归
- `task102-tree-shell-regression.js`
- `filetree 首包 / 首次可交互``6ms`
- `filetree 切页延迟``179ms`
- `picker 首包 / 首次可交互``264ms`
- `picker 搜索输入后结果/空态稳定出现``1005ms`
### 2.4 页面树展开样本
- 真实可展开节点往返展开/收起延迟:`124ms`
## 3. 对照与结论
- 旧 iframe/postMessage 实验壳已退出 Sidebar / filetree / picker 主路径。
- 当前默认主路径已经是 Next 内统一 tree surface + stream/projection 主链。
- `3104` 与 Convex 连接正常时,主树按 stream 路径工作;`3104`/stream 失败时,主树仍能通过 fallback 保持可见。
- 当前开发机口径下,主路径交互均在亚秒级,未再出现此前 `3000` 因 Convex/tree shell 卡死而无响应的问题。
## 4. fallback 结果
- `fallback` 触发条件:
- 主动阻断 `/api/stream/events`
- 观测结果:
- 页面不空白
- Sidebar 主树仍渲染
- 可继续看到目标页面树节点
- 结论:
- `fallback` 已从“实验性兜底”变成正式切流护栏
## 5. 残余风险
- 当前指标来自本地开发环境与小样本 smoke,不代表生产环境大规模树深/大附件工作区的长期 p95。
- picker 搜索链路仍受搜索索引可见性影响;本轮已验证“搜索后结果或空态稳定出现”,但未把索引收敛时间当作树域切流 blocker。
- 后续如继续增强 Rust-first renderer,可在不改变当前 cutover 结论的前提下,把这份报告升级为多样本趋势报表。