Skip to content

P2 Startup Semantic Evidence v1 结果

结论

本批交付了可控 Fixture、启动环境传递、iOS 17/18 身份闭环修复与 fixture-single-variable-delay.v1 因果审计器。Fixture 公开生命周期 marker 对 300 ms 单变量延迟有清晰响应;但 CoreProfile 未在 control/delayed 各 3 次中稳定产生对应完整 Span,所以 4 个语义审计全部未通过,新 mapping 为 0。启动阶段继续显示 ,没有用 0 或事件顺序补值。

本批实现

  1. Fixture 在 willFinishLaunchingWithOptions / didFinishLaunchingWithOptions 输出 BEGIN/END marker 和 signpost,支持 0–2000 ms 单阶段环境注入。
  2. Collector 受控启动支持白名单环境变量,冻结的 DVT 环境键不得被覆盖。
  3. iOS 17/18 runningProcesses 缺 Bundle 字段时,改为 ProcessControl Bundle→PID、DeviceInfo PID→executable、再次 Bundle→PID 三段闭环;不匹配继续 fail-closed。
  4. 新增结构化 Semantic Evidence 审计:强制源审计 SHA-256、identity/drop、完整 Span、样本数、中位数、容差、相邻候选歧义与 Mapping v3 重复性门禁。
  5. Mapping 聚合器不再接受 "fixture-marker" 这类字符串声明,只承认经审计器重新计算后 passed=true 且无 failure 的记录。
  6. Foundation 升级为 collector-foundation.1.7-beta,Collector 0.16.0,Mac App 1.0.0 (26);Registry 保持 64 项。

真机证据

项目iOS 17iOS 18证据
CoreProfile Session99E4
identity verified / drop 09 / 99 / 9E4
KDebug records5,105,7675,645,809E4
300 ms willFinish marker 实测301.164 ms301.068 msE4
will/did CoreProfile 因果审计通过0 / 20 / 2E4 partial
新 mapping00E4 fail-closed

合计 18 个 Session、10,751,576 条 KDebug;所有 Session 的目标身份与 drop 门禁通过。因果门禁失败的直接原因是 control/delayed 的对应完整 Span 样本数均低于 3,无法计算可接受的 observedDeltaMs

匿名机器可读证据:perfowl-startup-semantic-evidence-v1-anonymous-2026-09-06.json,SHA-256 673ad21ebe0c01d41961b7fcfaf25fcf1f160f1d4474c2e805d16708dea209a4

xctrace 状态

App Launch 模板可枚举,两台设备的 DDI、配对、Developer Mode 与 CoreDevice tunnel 已就绪;但 xctrace 3 秒冒烟仍停在 Waiting for device to boot,退出码 13。因此本批没有 .trace 或 TOC/export,不声称 xctrace 真机通过。

验收

门禁结果层级
Python 全量测试154/154E2
Swift 全量测试80/80E2
Fixture iOS 17/18 开发签名构建/严格验签/安装/启动通过E2/E4
匿名真机证据18/18 identity verified、18/18 drop 0E4
Semantic Evidence0/4,未提升 mappingE4 partial
Foundation 包perfowl-collector-foundation-1.7-beta-x86_64.tar.gz;SHA-256 eadce83cd0024b6278098e33d6f2eed75edfdd9454bafc345d4719c9a61c61bcE2
Mac 测试包Perfowl-1.0.0-beta26-x86_64.zip;SHA-256 2a3d977dbc7fdf99a64528e91073d0f25cb9ae18de53d94d3b1b14c3301add12E2
独立解包验证13,091 个普通文件、34 个符号链接;codesign --verify --deep --strict 通过E2
文档站VitePress 构建通过,99 个归档文件同步E2

下一阶段工作

  1. 优先让 Fixture signpost/marker 与 CoreProfile KDebug 进入同一可审计时钟,或修复 xctrace 真机 offline 得到 App Launch trace。
  2. 对命中的边界组合重跑每系统 control/delayed 各 3 次,并与 Mapping v3 的 40 个重复 fingerprint 取交集。
  3. 只有因果审计和跨 App 回归均通过后才修改 decoder;同批补 iOS 15 与 17.4–17.x 覆盖。

整体进度

P0/P1 完成;P2 主体采集、公式、工作台与 Semantic Evidence 工具链完成,但启动内部阶段语义门禁未关;P3 代码链完成;P4 产品链完成、人工 UI 验收开放;P5 部分完成;P6 受 xctrace 真机可见性阻塞;P7 未开始。

Perfowl · Performance Observer