外观
CORE-16 剩余核心指标口径冻结方案
本批能冻结的口径
| 指标 | 冻结决策 |
|---|---|
| AvailableMemory | 采用 Sysmontap vmFreeCount × VMPageSizeBytes;iOS 15+ arm64 候选页大小为 16,384 bytes;保存页数和页大小来源,字段缺失即 missing |
| Battery Temperature | Diagnostics Temperature / 100 得到摄氏度;仅接受 0~8,000 centi-°C 的有限原值,raw 继续并存 |
| ThermalStatus | 仅接受稳定源中的 0/1/2/3,并映射 nominal/fair/serious/critical;当前 Diagnostics 真机未返回该字段时 missing,不从 Energy thermal cost 猜测 |
| TotalCPU | raw 多核值继续保存;新增 raw / EnabledCPUs 的 normalized metric;工作台 TotalCPU 取 normalized,缺 EnabledCPUs 时不回退为 raw |
| Network | process Send/Recv 同时有效时成对采用;否则 device Send/Recv 同时有效时成对回退;禁止跨 scope 拼接 |
| Energy | 六项 debug gauge cost 保持 source-native-cost;不换算 W/mW,不把 cost 相加冒充物理能耗 |
| StartupTiming | 本批不提升精度;继续保存 passive/controlled、generation 和 polling error bound,精确 main/首帧另有来源门禁 |
质量与取整
- 计算层使用 IEEE 754 double,不取整;UI 仅格式化显示,不回写原始或派生文件。
NaN/Inf、负 page count、无效页大小、温度域外、Thermal 非 0~3均为value=null。- Available Memory 的 formula version 为
vm-free-pages-arm64-16k.candidate.v1;跨 iOS 17/18 E4 后才评估升级。 - 温度 formula version 为
centi-celsius-to-celsius.candidate.v1。 - TotalCPU normalized 为
raw-dvt-divided-by-enabled-cpu-count.candidate.v2。 - 所有候选值携带 scope/unit/source/formula/quality,不改变 raw。
验收
- Fixture 验证正常值、真实 0、字段缺失、异常域、重置与 generation。
- 既有 iOS 16 raw Session 离线重放:Available Memory 与摄氏温度应产生有限候选值;ThermalStatus 维持 missing。
- 实时投影:TotalCPU 展示值与 normalized 一致,raw 单独可导出;Network scope 不混合。
- Python、Swift、站点构建全部通过;完成后独立本地提交。