外观
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 或事件顺序补值。
本批实现
- Fixture 在
willFinishLaunchingWithOptions/didFinishLaunchingWithOptions输出 BEGIN/END marker 和 signpost,支持 0–2000 ms 单阶段环境注入。 - Collector 受控启动支持白名单环境变量,冻结的 DVT 环境键不得被覆盖。
- iOS 17/18
runningProcesses缺 Bundle 字段时,改为 ProcessControl Bundle→PID、DeviceInfo PID→executable、再次 Bundle→PID 三段闭环;不匹配继续 fail-closed。 - 新增结构化 Semantic Evidence 审计:强制源审计 SHA-256、identity/drop、完整 Span、样本数、中位数、容差、相邻候选歧义与 Mapping v3 重复性门禁。
- Mapping 聚合器不再接受
"fixture-marker"这类字符串声明,只承认经审计器重新计算后passed=true且无 failure 的记录。 - Foundation 升级为
collector-foundation.1.7-beta,Collector0.16.0,Mac App1.0.0 (26);Registry 保持 64 项。
真机证据
| 项目 | iOS 17 | iOS 18 | 证据 |
|---|---|---|---|
| CoreProfile Session | 9 | 9 | E4 |
| identity verified / drop 0 | 9 / 9 | 9 / 9 | E4 |
| KDebug records | 5,105,767 | 5,645,809 | E4 |
| 300 ms willFinish marker 实测 | 301.164 ms | 301.068 ms | E4 |
| will/did CoreProfile 因果审计通过 | 0 / 2 | 0 / 2 | E4 partial |
| 新 mapping | 0 | 0 | E4 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/154 | E2 |
| Swift 全量测试 | 80/80 | E2 |
| Fixture iOS 17/18 开发签名构建/严格验签/安装/启动 | 通过 | E2/E4 |
| 匿名真机证据 | 18/18 identity verified、18/18 drop 0 | E4 |
| Semantic Evidence | 0/4,未提升 mapping | E4 partial |
| Foundation 包 | perfowl-collector-foundation-1.7-beta-x86_64.tar.gz;SHA-256 eadce83cd0024b6278098e33d6f2eed75edfdd9454bafc345d4719c9a61c61bc | E2 |
| Mac 测试包 | Perfowl-1.0.0-beta26-x86_64.zip;SHA-256 2a3d977dbc7fdf99a64528e91073d0f25cb9ae18de53d94d3b1b14c3301add12 | E2 |
| 独立解包验证 | 13,091 个普通文件、34 个符号链接;codesign --verify --deep --strict 通过 | E2 |
| 文档站 | VitePress 构建通过,99 个归档文件同步 | E2 |
下一阶段工作
- 优先让 Fixture signpost/marker 与 CoreProfile KDebug 进入同一可审计时钟,或修复 xctrace 真机
offline得到 App Launch trace。 - 对命中的边界组合重跑每系统 control/delayed 各 3 次,并与 Mapping v3 的 40 个重复 fingerprint 取交集。
- 只有因果审计和跨 App 回归均通过后才修改 decoder;同批补 iOS 15 与 17.4–17.x 覆盖。
整体进度
P0/P1 完成;P2 主体采集、公式、工作台与 Semantic Evidence 工具链完成,但启动内部阶段语义门禁未关;P3 代码链完成;P4 产品链完成、人工 UI 验收开放;P5 部分完成;P6 受 xctrace 真机可见性阻塞;P7 未开始。