validationP4E4validated · gate-open2026-09-04

CORE-3 新 Collector Core 真机验收

验收方案(先于修复与复测)

使用当前 USB 连接的 iOS 16 设备与已安装的目标 App A,验证冻结版 pymobiledevice3 11.3.1 候选链:

  1. USBMux/Lockdown 建链与唯一 DVT provider;
  2. Bundle ID → PID → process list 身份闭环;
  3. Sysmontap、Graphics、Device Network 三路原始回包;
  4. raw JSONL 全局有序、manifest 摘要和严格回放;
  5. 有界停止、第二次新建连接与 reconnect generation;
  6. 只记录匿名化计数、动态性、缺失率与质量状态,不公开设备/App/PID/网络端点。

本阶段不运行 PerfDog。旧链只作为已有有限证据,不做数值误差结论。

首轮发现

首轮 6 秒 raw Session 身份闭环和三路回包均成功,但 Sysmontap 高层 Tap.__aiter__ 在当前设备回包形态下把完整 plist 继续按 iterable 展开,产生大量字符串键事件并造成背压。这批数据不作为通过证据。

修复方案:保持同一个 DTX socket 和同一个 Sysmontap service,不调用会二次展开的高层 iterator;由 Perfowl stream wrapper 直接读取 channel.receive_plist(),只在外层确实为 list/tuple 时展开一层,mapping 按完整 envelope 交付,未知 scalar 计为 dropped-malformed 而不是伪装为有效样本。

候选源码复测通过后,首次以冻结二进制采集发现 upstreams.lock.json 未被 PyInstaller 纳入,raw 文件写入后 manifest finalization 明确失败;这批也不作为通过证据。构建脚本随后把版本锁作为 package data 显式加入,失败目录保留在临时区用于诊断,不进入仓库。

指标公式影响

本阶段不新增指标公式。Graphics 的 CoreAnimationFramesPerSecond=0 只有在确认目标处于前台且连续动态后才可解释;否则保留 raw/candidate,不能当作真实 0。

修复后源码复测

过滤心跳/ack 后,第二次 6 秒源码 Session:

观测匿名结果
身份verified
Sysmontap24 个完整 envelope:process 12、system 11、attributes/system 1
Graphics6 个;FPS 序列从首点 0 转为 19–32 的动态值
Device Network102 个;Detection 44、Update 53、Interface 5
质量missing 0;drop high-water 0;全局 sequence/monotonic 严格有序
reconnect新 Session 的 envelope 全部携带 generation 1
replaymanifest + SHA-256 + 132 条事件校验通过

首个 Graphics 0 与同 Session 后续动态值并存,因此仅作为 warmup/raw 保存;本阶段没有把它解释为业务指标 0。

冻结二进制最终 E4

加入版本锁资源后重新构建候选二进制,使用该二进制完成第三次 4 秒 Session:

验收项结果等级
USB routeusbmux-lockdown-dvtE4
Bundle ID → PID → process listverifiedE4
Sysmontap17 个完整 envelope:process 8、system 8、attributes/system 1E4
Graphics4 个;首点 0 后出现 17–23 的动态值E4 raw
Device Network70 个:Detection 30、Update 35、Interface 5E4 device-scope raw
质量91 条全为 valid envelope;missing 0;drop 0E4
顺序与 generation全局 sequence/monotonic 严格有序;generation 2E4
严格回放eventCount 91、摘要与类型计数通过E4
停止/重连三次有界完成;每次新建 provider;generation 0/1/2 分离E4

这里的 valid envelope 只表示原始回包结构和传输质量有效,不等于其中每个字段/派生指标已经校准。

阶段结论

CORE-3 在当前 iOS 16 USB 设备上通过三路 raw、身份闭环、停止与新连接 generation 的 E4。iOS 15、17+、18+ 没有本轮设备证据,继续保持未测试。Device Network 只证明设备级事件源;进程归属与统计公式进入 CORE-4。

冻结归档:CORE-3 新 Collector Core 真机验收