Skip to content

P4 Session 截图、标注与导出验收

结论

P4 的本地实现、最终 x86_64 发布包和当前 USB 真机只读链路均已复测;原生 UI 全链路仍保留为开放门禁。构建/Fixture 证据为 E2,最终 App 内置工具的 User App、DVT 截图和 Collector 短采集为 E4,因此本批状态使用 partial · gate-open,不把未点击验证的 ScreenShot 开关、Session 标注、停止、Review 导出描述为真机通过。

已执行检查

检查结果证据层级
Swift 全量测试61/61 通过E2
Python Sidecar 测试22/22 通过E2
Python 编译检查通过E2
VitePress 文档构建通过,归档同步 58 个文件E2
x86_64 Sidecar 构建Mach-O 产物和 runtime 生成E2
x86_64 Perfowl.app 构建App、内置 Collector 与 pymobiledevice3 的 codesign --verify --deep --strict 均通过E2
Controller FixtureScreenShot 开关、PNG 附件、Note flush、Review 加载通过E2
当前 USB 设备 User App 列表最终 App 内置工具只读读取 46 条结构化记录E4
当前 USB 设备 DVT 截图最终 App 内置工具返回有效 PNG,1170 × 2532,2,580,871 bytesE4
最终 App 内置 Collector目标 App A 只读短采集 10 个样本,return code 0;首点 warmupE4

质量核对

  • 真实零值仍保留为零;截图或指标缺失使用空值与 quality 原因,不用 0 代替。
  • 空闲预览和 Session 截图路径共享串行闸门;Session 未勾选 ScreenShot 时不落截图事件。
  • 有效截图附件加载时校验相对路径、PNG 签名和 byteCount;失败/取消事件没有伪造文件。
  • Note 在 Session 停止前等待写入任务完成,并与样本、截图使用同一 session-timeline.v1 坐标。
  • JSONL / CSV 导出只读,元数据带 session-export.v1、时钟来源、锚点和时间轴质量;CSV 缺失留空、合法零固定六位小数导出。

尚未关闭的真机门禁

使用当前已连接设备完成以下人工步骤并留存截图/日志后,才能另发 E4 闭环结果:

  1. 打开工作台,确认顶部状态提示在确认后约 1 秒淡出。
  2. 选择设备与测试 App,确认 App 列表和顶部预览持续刷新。
  3. 在指标选择器勾选 ScreenShot,开始短 Session,确认至少一张 PNG 和一条样本落盘。
  4. 采集中添加一条标注,停止 Session,从“会话”打开 Review,确认截图、标注和曲线共用 elapsed。
  5. 在 Review 中分别导出 JSONL 与 CSV,重新打开文件并核对元数据和缺失语义。

本轮已用最终 App 内置工具完成命令级真机复测;由于当前自动化环境没有可驱动的原生 App 窗口,以上人工点击门禁仍需在可操作桌面上补录,不以命令级 E4 替代 UI 证据。

逐帧 Display/Hitches、PerfDog 同场数值校准、iOS 17+ 路由矩阵和云端上传不属于本批验收范围。

Perfowl · Performance Observer