From e4f67f740727b34f2dc8995556ed3d398ee9f320 Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 30 Jun 2026 18:14:08 +0000 Subject: [PATCH] docs(webdev): record Workbench timing memory guidance --- .agents/skills/unidesk-webdev/references/full.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.agents/skills/unidesk-webdev/references/full.md b/.agents/skills/unidesk-webdev/references/full.md index d3b0aab8..c42e6f8c 100644 --- a/.agents/skills/unidesk-webdev/references/full.md +++ b/.agents/skills/unidesk-webdev/references/full.md @@ -253,6 +253,8 @@ Workbench 至少覆盖: - completed turn / Trace 重放 / deep link 验收必须用 fresh browser context 或等价 fresh login 直接打开 `/workbench/sessions/`,不能只用同页 reload。 - 0repair 验收必须用 fresh context 直达 session/deep link,或从当前 session 显式切换到目标 session;不得依赖测试 helper 选择、reload、切走再切回、`sessionRepair` 或 `realignFreshSession` 修正页面后再判通过。旧 session 的延迟 detail、turn、trace、SSE 或 refreshSessions 晚到,只能更新该 session cache/list,不能改变 active URL、active tab、current messages 或 composer。 - Workbench reducer/selectors/0repair 收敛类 closeout 必须做负向源码扫描并在 issue/PR 证据里写明结果;至少覆盖直接写服务端事实和旧 repair 名称,例如 `messages.value =`、`messages.value.push`、`sessions.value =`、`previousMessages`、`previousSessionId`、`restorePrevious`、`restoreMessagesTraceAuthority`、`repairWorkbenchMessagePage`、`findMessageTextFallback`、`projectionCatchup`、`PROJECTION_CATCHUP` 和组件侧 `workbench.messages`。这些扫描是辅助证据,不能替代 fake-server Playwright 与 public web-probe。 +- Workbench 浏览器卡死、CDP metrics timeout 或内存持续增长时,优先排查并修应用侧真实压力源,例如请求风暴、未清理的 `PerformanceObserver` / `ResourceTiming` buffer、长列表同步扫描、低层 performance beacon 重试和高基数字段聚合;不得通过降低 web-probe 采样、改浏览器 baseline、自动刷新、fallback、隐藏红灯或放宽 analyzer 让 smoke 通过。使用 `browser-process.jsonl` 取证时按 `pageRole`/`pageId` 和单页面口径分析,预算阈值、baseline 扣除和 kill/red 策略只从 YAML/SPEC 读取,不能把 control+observer 双页面总 RSS 直接当成单页超标。 +- Workbench RUM/API timing 采集必须保持低基数且有界:同源 API route label 要模板化或脱敏,不能把 session/trace/query 写入聚合标签;从浏览器 ResourceTiming enrich 请求耗时时,应单 pass 选择候选、读完后清理或轮转 resource timing buffer,并用最小单元测试覆盖 buffer 清理和 route label 归一化,避免多轮 Workbench 把诊断采样本身变成内存增长或主线程卡顿来源。 - Trace 实时性要用间隔采样,区分“加载中”和“思考中”;终态卡片不得继续保留“思考中”空态。 - 用户反馈“当前 session 不刷新、切走再切回才刷新”时,证据必须成对采集:直达目标 URL、原地等待、切到其他 session、切回目标 session 的 DOM 截图;同时记录 session list、session detail、messages、turn snapshot 和 trace event page 的状态。issue 正文要明确这是事件投影/重放问题,不能只登记成普通 deep link 或单接口 404。