Parent: #98
问题概述 / Summary
run-verify 已把 ui-evidence 作为首个扩展写入 Skill,但目前只是工作流指导。需要产品级真实浏览器运行时和证据合同,确保前端改动通过实际启动、固定页面状态、截图/GIF、控制台和请求结果验证,而不是只检查源码或沿用旧截图。
优先级 / Priority
P0。UI 项目交付必须能证明“改动后的真实页面”与固定源码状态一致。
当前基线 / Current baseline
Browser Runtime/Safe Web/Full CDP 的既定安全边界已由 [Epic] Browser Runtime 与 CDP / Browser runtime and CDP #33 完成,但没有面向 run-verify 的独立 UI 证据产品入口。
Desktop 与 Web 前端已有 Playwright 测试基础和发布矩阵;现有证据不统一绑定 commit、启动配方、视口与页面状态。
Skill 指南要求记录固定提交、启动命令、视口、页面状态和截图/GIF来源,但运行时不能自动采集并校验这些字段。
普通浏览器 Profile、已登录会话和用户 Chrome/Edge 不得被复用。
范围 / Scope
定义 ui-evidence.v1 manifest:repository/commit、dirty digest、build/start recipe、runtime/tool versions、URL/route、viewport/DPR、locale/theme、fixture/seed、页面状态与采集时间。
提供 Run-owned 浏览器 driver,使用独立临时 Profile、固定 executable/version、可取消的进程树和明确的本地/网络 Scope。
从受审阅启动配方真实启动应用,等待结构化 readiness,再执行导航、交互、断言和采集;不得使用预先存在的服务冒充当前提交。
采集 screenshot、可选 GIF/video、DOM/accessibility snapshot、console error/warning、page error、failed request、HTTP status 和关键性能时间线。
每个 Artifact 保存 hash、MIME、尺寸、视口、来源 step、commit、Run/attempt 和脱敏状态;UI 可回放步骤与查看证据。
支持确定性 fixture、seeded state、身份/Secret 脱敏、动态区域 mask 与视觉基线更新审阅。
失败必须区分 build、launch、readiness、navigation、selector、assertion、console、network、capture 和 cleanup。
与 run-verify、focused-checks 和 PR 交付收据集成;未实际运行时状态必须为 not_run。
非目标 / Non-goals
不接管用户日常浏览器、Profile、扩展、cookie 或已登录会话。
不把 Full CDP 高风险调试权限作为普通本地 UI smoke 的默认要求。
不自动访问公网;远程 URL/认证流程需要单独 Scope、credential 和审批。
不以像素快照单独替代行为、可访问性、控制台和请求验证。
不允许手工上传的图片在缺少来源 manifest 时伪装成自动证据。
涉及目录 / Affected directories
internal/browserruntime/
internal/application/
internal/runner/
internal/workspace/
internal/store/
internal/events/
internal/policy/
internal/approval/
internal/httpapi/
cmd/
web/src/
docs/
configs/skills/run-verify/
依赖 / Dependencies
被“普通模式真实命令闭环”阻塞,因为应用启动、readiness、后台 Job 和清理必须由统一 Run-owned runtime 提供。
可提前独立定义 manifest、Artifact schema 和前端证据查看器。
验收条件 / Acceptance criteria
安全边界 / Security boundaries
浏览器证据属于不可信执行结果;它不能授权网络、泄露登录状态或证明源码外的不可见安全属性。
Parent: #98
问题概述 / Summary
run-verify已把ui-evidence作为首个扩展写入 Skill,但目前只是工作流指导。需要产品级真实浏览器运行时和证据合同,确保前端改动通过实际启动、固定页面状态、截图/GIF、控制台和请求结果验证,而不是只检查源码或沿用旧截图。优先级 / Priority
P0。UI 项目交付必须能证明“改动后的真实页面”与固定源码状态一致。
当前基线 / Current baseline
run-verify的独立 UI 证据产品入口。范围 / Scope
ui-evidence.v1manifest:repository/commit、dirty digest、build/start recipe、runtime/tool versions、URL/route、viewport/DPR、locale/theme、fixture/seed、页面状态与采集时间。run-verify、focused-checks和 PR 交付收据集成;未实际运行时状态必须为not_run。非目标 / Non-goals
涉及目录 / Affected directories
internal/browserruntime/internal/application/internal/runner/internal/workspace/internal/store/internal/events/internal/policy/internal/approval/internal/httpapi/cmd/web/src/docs/configs/skills/run-verify/依赖 / Dependencies
验收条件 / Acceptance criteria
not_run不显示为通过。安全边界 / Security boundaries
浏览器证据属于不可信执行结果;它不能授权网络、泄露登录状态或证明源码外的不可见安全属性。