非启动54项可信数据交付目标与逐项验证方案
1. 授权与基线
Owner明确授权同AI承担方案、代码、测试与最终复核;这是同AI自验收,不是第三方独立审计。目标设备A、现有可控Fixture与商店目标App A/B。基线主线 ecc2cec、工作区干净;安装b112。Startup本次排除12项,但历史启动、Hybrid与Beta门不因排除而关闭。复用原环境,不新建worktree或常驻服务;每批GitLab一次推送不重试,GitHub单列,网站只构建。
R12默认26项五轮整门0/5、20项五轮严格达标;最差FrameTime有效90.52%–97.41%、连续81.74%–94.78%,全控制窗覆盖95.87%–96.67%。这些原始数字不回改。本轮不是把旧失败重命名为成功。
2. 最终交付目标与零妥协门
完整Registry共66项,Startup12项排除,54项非启动逐一登记。机器清单 internal/acceptance/nonstartup-v1.json 与当前源码集合双向相等;默认26项不是完整清单。每项均交付来源、单位/作用域、公式版本、适用条件、参考与误差、有效/缺失计数、证据等级;未实现、源不可用、无独立参考一律留未通过,不用“不适用”静默删指标。
- 数值可信:Raw→Metric→Report/CSV/封存字节、身份与作用域一致;有限值/哨兵/重置/warmup处理正确;独立参考误差门通过后才称校准,candidate不自动等于可信校准。
- 实时连续有效:每组适用指标固定五轮,每轮固定120s测量窗、1s网格,逐项V=合格且有值槽数/全部预定槽数=100%;C=相邻两个合格槽且序号连续、间隔≤1.5s的边数/(N−1)=100%。缺一个槽即该轮失败,0槽和1槽不得通过。向量所有分量有限,枚举仅已文档化域合法;事件不存在的null不改成0。
- 会话统计:14项frame-pipeline统计单独验输入帧集合、持续时长与独立实现;它们不冒充每秒原生采样,不用“100%事件率”当“100%实时率”。整个54项整门仍须各自准确性与适用证据通过。
- 准备窗:统一先记录Start至ready的全部数据/耗时/缺值;ready必须所有已请求适用来源完成基线、网络闭合窗、显示至少5有效帧。准备最长20s,之后固定120s,不按结果挪起点。并列报告完整Start→Stop原严格门与ready后门,后者通过不称前者通过;Owner未接受准备窗差异前,原严格100%门仍开。
- 失败保留:每轮独占目录、预先顺序/输入/误差固化;每批最多五轮,不自动重试/扩样。修复后新合同/新批次另跑五轮,失败轮仍留全套。全五轮通过只证明声明设备/版本/场景,不保证所有iOS/App/断连情况永不缺数。
- 安装交付:同源码回归与效率门、Developer ID App/DMG签名、公证Accepted、staple/Gatekeeper、独立解包/安装SHA、新包真实UI验收全部分层。只保留一个当前测试包,回滚与旧证据保留。GPL法务对外分发门另列,不从公证推断关闭。
3. 逐项总清单(所有项目当前均待本轮验收)
| metricID | unit | scope | 测试族 | 值类别 | 本轮门 |
|---|---|---|---|---|---|
ios.process.cpu.non_normalized | percent | process | cpu-scheduling | time-series | 待验证 |
ios.device.cpu.total | percent | device | cpu-scheduling | time-series | 待验证 |
ios.device.cpu.total.normalized | percent | device | cpu-scheduling | time-series | 待验证 |
ios.device.cpu.core_usage | percent | device | cpu-scheduling | vector | 待验证 |
ios.process.memory.physical_footprint | bytes | process | memory | time-series | 待验证 |
ios.process.memory.real | bytes | process | memory | time-series | 待验证 |
ios.process.memory.virtual | bytes | process | memory | time-series | 待验证 |
ios.device.memory.available | bytes | device | memory | time-series | 待验证 |
ios.device.memory.free | bytes | device | memory | time-series | 待验证 |
ios.process.thread.count | count | process | cpu-scheduling | time-series | 待验证 |
ios.process.scheduler.context_switch_rate | count-per-second | process | cpu-scheduling | time-series | 待验证 |
ios.process.scheduler.interrupt_wakeup_rate | count-per-second | process | cpu-scheduling | time-series | 待验证 |
ios.process.disk.read_rate | bytes-per-second | process | disk | time-series | 待验证 |
ios.process.disk.write_rate | bytes-per-second | process | disk | time-series | 待验证 |
ios.device.network.send_rate | bytes-per-second | device | network | time-series | 待验证 |
ios.device.network.receive_rate | bytes-per-second | device | network | time-series | 待验证 |
ios.process.network.send_rate | bytes-per-second | process | network | time-series | 待验证 |
ios.process.network.receive_rate | bytes-per-second | process | network | time-series | 待验证 |
ios.foreground.fps | frames-per-second | foregroundDevice | display | time-series | 待验证 |
ios.foreground.gpu.renderer_utilization | percent | foregroundDevice | gpu | time-series | 待验证 |
ios.foreground.gpu.tiler_utilization | percent | foregroundDevice | gpu | time-series | 待验证 |
ios.foreground.gpu.device_utilization | percent | foregroundDevice | gpu | time-series | 待验证 |
ios.frame.time | milliseconds | foregroundDevice | display | time-series | 待验证 |
ios.frame.time.p95 | milliseconds | foregroundDevice | display | time-series | 待验证 |
ios.display.refresh_rate | hertz | foregroundDevice | display | time-series | 待验证 |
ios.frame.pacing_jitter | milliseconds | foregroundDevice | display | time-series | 待验证 |
ios.frame.fps.average | frames-per-second | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.fps.at_least_18_percent | percent | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.fps.at_least_25_percent | percent | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.ftime_ge_100_percent | percent | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.ftime_positive_delta_gt_100_per_hour | count-per-hour | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.drop_per_hour | count-per-hour | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.med_range_percent | percent | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.one_percent_low_fps | frames-per-second | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.small_jank_per_10min | count-per-10-minutes | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.jank_per_10min | count-per-10-minutes | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.big_jank_per_10min | count-per-10-minutes | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.stutter_percent | percent | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.tiny_jank_per_10min | count-per-10-minutes | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.frame.smooth | score | foregroundDevice | frame-summary | session-statistic | 待验证 |
ios.process.energy.total_cost | source-native-cost | process | energy | time-series | 待验证 |
ios.process.energy.cpu_cost | source-native-cost | process | energy | time-series | 待验证 |
ios.process.energy.gpu_cost | source-native-cost | process | energy | time-series | 待验证 |
ios.process.energy.network_cost | source-native-cost | process | energy | time-series | 待验证 |
ios.process.energy.location_cost | source-native-cost | process | energy | time-series | 待验证 |
ios.process.energy.display_cost | source-native-cost | process | energy | time-series | 待验证 |
ios.process.energy.overhead | source-native-cost | process | energy | time-series | 待验证 |
ios.device.battery.current | milliampere | device | battery-thermal | time-series | 待验证 |
ios.device.battery.voltage | millivolt | device | battery-thermal | time-series | 待验证 |
ios.device.battery.power | milliwatt | device | battery-thermal | time-series | 待验证 |
ios.device.battery.temperature_raw | source-native | device | battery-thermal | time-series | 待验证 |
ios.device.battery.temperature_celsius | degree-celsius | device | battery-thermal | time-series | 待验证 |
ios.device.thermal.status | enum-raw | device | battery-thermal | enum | 待验证 |
ios.device.gpu.counter.source_native | source-native-count | device | gpu | time-series | 待验证 |
4. 测试用例与独立参考
4.1 CPU、调度、内存、磁盘
Fixture作为自己控制的目标App,不给商店App加SDK/Hook。新增独立self task_info/thread_info/getrusage参考,设备mach时钟每1s小型文本取样,最长180s;主线程之外采样,事件标记对齐。单/双线程CPU各20s+低负载20s,非归一CPU按线程user+system差分/真实设备秒×100;归一整机不得拿Fixture自CPU代替。线程数与task_threads即时计数精确比对,context/wakeup语义先核OS字段并保持未知缺值。内存20/40/80MiB每阶10s+释放;phys_footprint/real/virtual用匹配task_info字段,允许时间对齐误差 max(2MiB,5%),分配ledger只作方向不代替resident真值。设备free/available与同轴VM来源独立导出对照,若仅同一来源重读则只算来源复核。磁盘写/读各8MiB、64MiB、fsync;logical字节ledger和rusage物理字节分列,不能拿缓存读取0物理I/O误判缺失;同轴累计源比对1原生计数单位,速率差分±5%,无对应字段不冒称已校准。
4.2 网络
有限本地HTTP服务只在场景内启动;串行上下行1/8/32MiB及明确无业务请求窗,服务端实际body字节+时间+hash,Fixture客户端实收实发body独立留档;RVI取TCP方向、序号去重并分出头部/重传/背景/诊断通道。Process与Device分别验作用域;HTTP payload不等于整机wire bytes,USB诊断通道不当App流量。匹配连接原生计数±1字节/量化单位、时间窗同轴速率±5%;无法映射的额外流量列unknown,禁止用总量相近作为精度通过。初始快照、计数器reset、sign-bit哨兵、缺桶、迟到、空输入没有闭合证据等负控必须null,真实零仅在完整覆盖证明下有效。
4.3 显示与14项会话统计
Fixture控制30/60Hz持续绘制、1/2/5Hz低频改变、静态页与50/100/150/250/1000ms主线程停顿;CADisplayLink仅回调参考,不认证每一帧最终上屏。以独立Instruments compositor记录/受控Metal实际presented回调(如可取得)交叉核呈现时刻,原生ticks整数换算±1tick,真实事件FPS±1帧/窗;FrameTime/P95/Jitter独立事件集实现±0.5µs,百分比±1e−6,计数精确,时长归一±1tick。超过12刷新间隔不直接证明丢源,但在没有独立呈现证据前保留null/source-gap,不为100%门放宽过滤。第一修复仅去掉异常帧后一帧的无条件重复warmup:当其四元代际/显示/前台不变且prev==上一实测end、时间正向/refresh合法/自身未超间隔门,则这一新局部区间独立成立;缺链原帧仍null,边界改变仍warmup,真正连续两次异常仍null。不得跨断链补时长。
FrameTime是一帧事件间隔,静态页没有新帧时诚实null;静态负控预期null(验证诚实性),不计作原100%实时门的通过。若要零刷新时仍具可用时间序列,需要新增“刷新区间无事件”的coverage语义/独立心跳,先定公式与API,不重复旧值。本方案不授权静默改成帧均值。
4.4 GPU、Energy、电池、温度与热状态
GPU renderer/tiler/device用受控几何/纹理负载与同场Instruments参考,原生percent映射±源量化单位;硬件counter先冻结动态schema/单位/采样interval,有源不等于物理校准。Energy七项是source-native-cost,不换算J/毫瓦、不用HTTP字节推能量;没有公开标定时只判源值传输一致,物理准确门保持未通过。电流/电压/功率仅battery-only、充电false的同一快照;USB充电状态与合法条件矛盾时必须missing,后续准备无线诊断测试另预检,不自动拔线/改设备网络。电学量需独立仪表/可信电源reference,温度需对应传感器位置/校准,不把外壳温度冒充电池温度;没有物理参考如实列缺口。热状态先做源枚举语义映射,与ProcessInfo.thermalState只能在确认同义时核对,不让设备过热以凑样本。
4.5 必须匹配的负控
null/NaN/Inf、合法0、负哨兵、源重置/代际切换、乱序/重复/溢出、source stale/drop、空窗/首点、导出wire质量错配、Stop未封存、指纹不一致、参考缺失/作用域错配、未请求字段、条件不满足与不足五轮均须拒绝整门。输入期待客观定义在oracle中,不依赖产品expect反向判“符合预期即好”。独立参考工具与产品实现不共享聚合函数。
5. 资源效率与停止边界
现有Python环境、主线、Fixture工程复用,无新环境/worktree。处理O(n)流式,实时每事件O(1),帧滚动最多10s受控窗口,reference 1Hz、最长180条/轮,网络server串行≤32MiB请求、请求超时15s、RVI有界≤180s。测试顺序执行,真实UI期间不并行build/benchmark。每批源码/旧证据先SHA并列;不反复重扫大blob,复用单遍摘要。聚焦≤60s/fullPython≤240s/Swift≤180s、build≤600s、签名公证各≤1200s、Stop自然封存≤30s,超限保留partial并清理仅本批拥有的进程,不扩大重试。App观测RSS上限512MiB,非启动Core1GiB,reference工具64MiB;观测采样2s不能充当连续峰值,CPU/物理I/O不可测写unknown。同量级50k/100k事件前后5对wall/CPU/RSS/首输出/最慢完成、吞吐;新实现比值≤1.3,无功能基线不得伪比;记录I/O。设备热/电量/Host高负载先预检,记录不同负载,不偷改门。
6. 执行顺序与阶段门
G0:源码导出54项、清单集合一致、全部case/reference/适用条件登记;验收工具空集/缩分母/缺参考负控通过。 G1:先落公式,新增恢复区间失败用例,改最小decoder状态并逐项E2;网络缺桶只读复算,确认来源前不填零。 G2:独立Fixture小型参考ledger与自主有界场景;设备/签名/来源能力预检,不能取得的54项逐一标明阻塞而非漏计。 G3:新同源码签名公证测试包/独立安装;Fixture一组固定五轮120s、商店App一组固定五轮120s,选择分族适用非启动项,真实产品UI开始/停止、引用Session/封存;不采账户/银行交易操作,不登录/支付/改账户。五轮可观察低负载/滚动或Fixture公开workload。 G4:54项逐项accuracy+适用coverage+C/V门与准备窗原严格门分别判断;任一缺口总体partial,不因算法单测、合成/公证或26项局部门推断全指标达标;完整交付后才关闭目标。下一轮不需Owner逐批批准,真实设备必须已解锁并可访问,物理参考缺口及时通知Owner。
7. 官方技术参考与证据限制
Apple CADisplayLink:callback timestamp/targetTimestamp参考不等于本工具已取得独立全部上屏事件。Apple thermalState:热状态为枚举,不能拿其数字当温度。网络/CPU等源可复算不自动提升物理校准。
8. 当前状态
方案approved/E1;全部54项本轮尚未完成E4。阶段交付目标不承诺任意场景100%,诚实缺值与失败保留优先;资源、签名包与法务门仍按原规程。后续实现/验证在本文件追加绝对日期,不改R12历史数字。
Implementation Update · 2026-10-04 · G0/G1/G2准备
已导出源码66项/排除12项/完整54项清单;新增有界只读验收账本,空集、漏指标、少轮次、缺槽/重复/乱序、NaN/Inf、向量/枚举、参考错作用域/窗口/非独立与未绑定实际值均拒绝;其声明字段与数值对照只构成E2算术门,来源/物理参考还要实证,不能自填independent=true冒称校准。初版遗漏“pair.actual必须绑定测量值”风险在交付前补测试并修正,旧日志保留。
异常后一帧额外warmup已通过失败先行窄修:7个方法旧版7个failure(包括4个长间隔子用例),新7/7及既有display19/19;长区间门12倍、原异常null、身份切换与前台warmup保留,不改数值公式。去掉多余状态O(1),不宣称已经改善真机总体100%。
Fixture新增默认关闭编译条件的self参考记录,1Hz/180s(首基线+180个区间);getrusage总CPU避免TASK_THREAD_TIMES_INFO运行线程“仅suspended准确”限制,task_info内存/线程计数独立取样。block operations不作磁盘byte真值,interrupt wakeup参考null;热枚举与Diagnostics是否同义未证。该阶段只加参考,不启动设备/商店测试、未读取账户或改设备注册;后续E2构建/独立计时开销和真机对照另记。
E2全量首跑与测试竞态修订决策 · 2026-10-04
全量1411项/155.446s首跑1失败:mixed-source在source队列排空但主机秒桶尚未过边界时,过早断言已有aggregateInputCount>0。源码close条件是stamp≥floor(opened/1s)+1s;该场景30k输入约0.7s,可全部消费但尚未发表,这是允许的开放窗口,不证明产品死锁。旧R12同位置失败未能归因,本次不以静默重试解决:测试改成同时等待source queue empty与累积census已消费完整30k,再核census;最终Stop后所有字节/事件守恒、aggregateCount≥2、原响应/心跳/丢弃/task门不变。新增受控时钟负控固定“已消费/未过截止”的合法状态,验证只有截止/flush才发表。只修测试错误前提,不放宽产品新鲜度或丢弃门,失败原日志保留。
同一聚焦首跑又显露第二个旧测试前提错误:30k/每100件等待2ms实际约0.6s,可能全部落同一1s桶,尾部无新增输入时最终aggregateCount合法为1,原“≥2”依赖起始相位。不把断言降为1;保留30k事件、所有原性能门,明确让两半输入跨下一个主机秒边界,构成原合同想检验的多个窗口与末尾排空。新增时钟负控1/1通过,聚焦失败原件另留;此为测试刺激时序修正,非产品采样窗放宽。
Validation Update · 2026-10-04 · 第一修复E2结果
最终Sidecar 1412项/156.612s/0失败,Swift 223项/3 skipped/0失败/20.897s,验收账本9/9(含缩分母、参考pair未绑定、枚举域不能自填)、局部恢复7/7、既有Display19/19与mixed-source2/2。首轮1411/1失败及聚焦aggregateCount失败均保留,不以新结果回写旧记录。Fixture专用编译条件iOS编译通过;抽取同源码参考类在macOS有界2s得到3条记录,首CPU null、三项内存/线程自取样正值,磁盘bytes/interrupt-wakeup参考null;这仅E2,不是目标设备A真机参考完成。较旧SDK修订count不足的task_vm_info不当0,按phys_footprint实际字段偏移核reply count;首工具宏不可导入与private类绑定编译失败日志保留。
50,000事件×5前后配对,wall中位比值 0.989455、CPU中位比值 0.994476(门≤1.3),共享进程峰值RSS 31.125MiB(不假称两版本独立峰值),首输出/吞吐/每次耗时原表留私有机读件,CPU/I/O物理峰值unknown。固定输入旧版warmup516/valid48969/source-gap515,新warmup1/valid49484/source-gap515:仅恢复515个确证局部短区间,515个长未知仍null;这不是515个设备漏帧被修复,更不是100%真机有效率。
全部54项物理/独立校准及新五轮E4尚未通过,总体partial。当前准备同源码b113签名公证与独立覆盖安装。现有Fixture描述文件与目标设备不匹配,已询问Owner是否允许既有开发者账户更新;未自行登记设备/改变账户、未建环境。Battery放电三项USB条件不满足,GPU/energy参考不足不能由单测解决,保持未关闭。
Package / Environment Update · 2026-10-04 · E3(总体仍partial)
b113 x86_64 App与DMG均Developer ID签名、公证Accepted、staple、strict/Gatekeeper通过;独立挂载复制与实际安装13114常规文件SHA逐项一致,六份源码冻结仍一致。当前包164629532B,SHA-256 8d723de15a6d726992ebdcc7f42cc8fa684b6426e71194999e3b6ecacd557649;本机已覆盖安装b113,旧b112 App/DMG保留在私有rollback,dist只留当前b113包。第一版私有独立校验器把旧批次相对路径误留为r12/b113,在启动前FileNotFound失败;仅修工具路径后重新做独立校验,不重复构建/签名/公证、不覆旧失败日志。
Fixture签名预检初版直接拿带usb前缀的工作台deviceIdentifier比较原生profile标识,误报不匹配;规范化后找到3份本地有效文件,选同App/既有私钥匹配文件,无账户更新或设备注册。原预检失败与询问保留,后续使用既有手工签名条件,不扩大授权。目标设备E4参考采样与全54项/新五轮仍待,因此包E3不称目标已修完。
G2 参考连通预检合同 · 2026-10-04(先记合同,非正式五轮)
基线G1提交b5d24dd/b113已安装;G1 GitHub真实同SHA、GitLab单次推送128且ref不可读,未重试;交付Webhook一次200/errcode0。现有Xcode管理描述文件需要automatic而非manual风格;首手工风格65保留,改为existing cached automatic且没有allowProvisioningUpdates/设备登记标志后Fixture签名成功,profile/当前设备与私钥匹配;设备A已安装受控Fixture。旧Fixture的VendDocuments拉取返回InstallationLookupFailed、安装前缓存列表无该App;这两者不证明旧App不存在。安装成功后同一VendDocuments仍失败,改用仅自有Fixture的VendContainer成功读回参考;未卸载商店App/更改账户。旧标记是否存在未独立取证,不把失败当作不存在。
允许且限一次20s实际产品UI参考连通预检:选择设备A/Fixture,真实指标选择器“恢复默认”后添加Temperature/Thermal/Energy/GPU Counter四组,预期37项实时请求/Startup=false;14项会话统计后续独立核对,USB放电三项不符合条件的disabled状态留证,不计作通过。Start/Stop都用实际AX控件,最长封存30s;若早退/错目标/错指标/写入失败即自然Stop、保留失败,不重试。禁止CLI替代Perfowl捕获入口;Fixture安装/自身文件读取不替代此UI门。
从自己的Fixture Documents读取本轮新参考JSONL(历史文件不删除),核时间base/自CPU/footprint/real/virtual/threads出现、来源与实际capture-plan;该预检只证明参考连通/匹配可行,不是完整误差校准,不作为正式五轮中的“好轮”、不与旧样本合并。所有事件/Slot/原准备窗保留;不得因20s预检绿色自判54项100%达成。Fixture自主刺激(CPU/内存阶梯/双向已知body流量/低帧率/卡顿)与一组固定五轮的完整配置另冻结后才执行。
G2-A 数据完整导出与受控刺激合同 · 2026-10-04(先于产品改动)
一次预检completed、20行、37项请求/Startup=false;独立Fixture参考181行取回(本轮唯一文件、Mach timebase可与源对齐)。FrameLifetime20事件只覆盖约0.383s源时间、19有效/1warmup;CSV FrameTime/FPS各仅2行,不从源事件valid外推每秒全部可用。现有Fixture动画在可滚动Form内,是否真正持续呈现未证;改可见固定Metal surface并录实呈现独立参考,用于分辨无呈现与来源断链,不先放宽帧门。
确认缺陷与最小范围:stored metrics.csv遗漏已在Swift sample中的七Energy及电池/热字段;review CSV另遗漏三Display字段。电池Temperature原始Registry值尚未投影Swift。按原单位/来源/quality直接投影batteryTemperatureRaw,加可选Swift字段(旧JSON缺键仍nil);两个CSV仅追加列,旧列顺序/旧Session字节不动。stored末尾带完整qualities/metricScopes/metricUnits JSON,review现有三JSON保留,新增全部值(包括Raw Temperature与三个Display),exportVersion升session-export.v3、timeline算法不改。合法0保留、nil/非有限空白、source-sentinel/external-power-connected/missing/warmup照实导出,禁止把导出完整当物理准确。匹配E2:失败先行验证新字段在wire→sample→两CSV/JSONL保真、缺键兼容、零/null/引号/质量/单位/scope、旧列前缀;1k行有界导出效率同样规模比较≤1.3x。
受控Fixture仅自身:现有工程/签名/设备复用、compile flag默认OFF。全屏固定可见MetalView、轻量变化clear颜色、60/30/15Hz分段,最长180s自动暂停;MTLDrawable.addPresentedHandler取presentedTime>0的实上屏时间/未呈现0单列,日志单一串行队列每事件O(1)≤12000条与8MiB,独立于产品decoder/summary。只验证自身surface,不把单surface等同整机前台合成全部frame,不能仅用CADisplayLink回调冒充呈现。Apple呈现时刻与呈现回调)为定义来源。
CPU仅1worker有界15s、内存20/40MiB阶梯再释放(Fixture总RSS≤256MiB,reference增量≤64MiB);保留self getrusage/task_info。网络独立server已知GET/POST body各1MiB,最多四对、请求15s/总≤16MiB,端点仅Owner设备可达的自有本地服务,无公网账户。配置/每请求body SHA与URLSession计数/服务器计数分列,应用body不冒充DTX/RVI所有协议字节。磁盘逻辑文件有界8MiB写入/同步/读取后标记,文件bytes不冒充真实sysmontap磁盘I/O字节,物理oracle仍缺时只作刺激。负控卡顿/空窗另配置,不能塞进正控又移除坏窗。prepared window与fullStart→Stop各列,所有54项继续留在完整账本。
停止与交付:引用原一次预检、不自动再采预检、不以循环重试找好轮。先完成工具/E2与新签名公证包后才预冻结正式5轮。旧失败与参考文件不覆写;新日志唯一文件,参考只读回自有Fixture容器。网站只build、GitLab一推不重试。物理电学/温度/不公开Energy硬件counter缺参考仍partial,不保证通过100%与真实数值校准。
G2-A实现性能决策(写前):stored CSV原每行新建ISO8601 formatter,新增质量三JSON会加重格式开销;改为每个SessionStore actor独享一formatter(无跨actor共享、隔离内调用),不改变ISO精度与旧列值。同规模1k行冻结旧/新函数独立实例比较wall/CPU/吞吐/首行/最慢批;这仅CSV路径,实际持久化与物理I/O峰值另记。
G2-A参考增量(写前):self getrusage与sysmontap CPU初预检最近邻20对中位差7.461%(不等窗,不判准确;目标5%未关)。增加self TASK_ABSOLUTETIME_INFO累计CPU时钟,与getrusage分列核语义;device CPU使用Fixture自身可取得的host_processor_info累计user/system/nice/idle状态差分,只聚合系统计数,不枚举其他进程。VM使用host_statistics64 free/external/purgeable/page-size,仅验证原候选定义,不提升“全可用内存”物理能力。1Hz/180s,kernel拒绝或较旧字段缺失保存返回码+null,不用零或同源sysmontap当独立参考。明确processCPU oracle不能覆盖整机/逐核CPU,更新矩阵reference为逐指标scope。
G2-A呈现oracle收尾决策(写前):为审计callback缺席而不是把其当0,提交与实呈现各记一条,同一submission相联;固定60/30/15Hz总理论7200呈现,条数上限16000、8MiB,超界保持partial。180s停止提交后留1s callback排空再同步关闭;只知道提交但无callback的frame为unknown,不算未呈现0。此原生API不能保证提供所有被丢弃drawable的回调,因此不推“0callback即0帧/0丢帧”。阶段日志与selfCPU为并列参考,不混同UI事件与GPU呈现。
G2-A性能失败与修复决策(写前):1k行×5首对照wall4.401x/CPU4.376x失败,构建虽成功但不签名交付。拆分profile发现50k次显式POSIX Locale数值格式化2.082s,原不带locale的非本地化format0.123s;3份JSON不是主因(单份54键1k次encoder0.065s)。stored恢复原非本地化String(format:)路径保持旧列逐字前缀;actor独有日期formatter复用继续保留。review既有locale路径不在本窄修更换,以免混入旧字段变更。旧失败benchmark与首b114构建证据保留,优化后重建并冻结实源码才签名。
Implementation / Validation Update · 2026-10-04 · G2-A(总体partial)
先通过两处失败先行证据定位:新Raw Temperature投影KeyError;Swift新增两CSV保真用例报stored缺Raw列。旧Python模块路径首跑另三处ModuleNotFoundError(测试自身跨import目录),原log保留,随后标准discover1412项/155.265s/0。Swift首全量224项两断言失败仅为旧CSV末尾网络列hasSuffix前提;改为相同值/列邻接且允许追加,新的全字段数值/空值/质量解析保真门仍保留。最终224项/3 skipped/0/20.961s。
Raw Temperature按原Registry直接投影、Swift可选字段、stored原列前缀保留后追加13值+三JSON;review session-export.v3追加16值、原61列不换序(77列)、JSONL一致,14项会话Frame summary仍报告统计,不充当每秒值。合法0/nil/source-sentinel/供电不符均未重写;旧Session不回填。source变化仅realtime直投Raw,不改变能量/电池/热公式与既有decoder。
效率首1k×5失败wall4.401x/CPU4.376x保留;定位为每数字显式Locale的桥接耗时,恢复stored原非本地化格式、actor独享日期formatter复用后wall1.099675x/CPU1.095927x(门≤1.3)。before/after批中位0.561132/0.617063s,最慢完成0.602290/0.710739s、最大首行0.668/0.725ms、共享进程RSS高水位约35.70MiB(不声称两版独立峰值),原列值逐字前缀一致。真实actor写盘/物理CPU和I/O峰值未由该microbench测出,仍unknown。
一次20s真实UI预检20行/37项/Startup=false,Core Raw367、Metric123、source/metric/report SHA与消费终序367一致、产品durable completed;30个Session文件只读前后摘要一致,SQLite用逻辑检查点核而不是页文件SHA。独立self参考181条;最近邻Mach时轴CPU20对中位相对差7.461%、内存/线程21对中位0(非同观察窗,均不判校准PASS)。FrameLifetime20事件/19valid/1warmup源跨度仅0.382782s,CSV FPS/FrameTime各2/20,不能从事件valid推每秒完整。Energy17份原始轮次有7轮总分负哨兵,其余10轮candidate,overhead17轮哨兵;ThermalStatus缺源、GPU Counter常见未知两整数消息、不按计数器解码,USB放电三项条件不符。这些阻止全54项100%,不是导出补列能修复的问题,保持逐项开放。
Fixture已新增默认OFF的独立self/host Mach参考(kernel返回码+null)、固定可见Metal实呈现与提交配对日志、180s有界场景、CPU1worker15s与20/40MiB阶梯、最多4对本地GET/POST。iOS专用编译+现有签名设备安装成功;Mac3条kernel参考smoke返回success只构成E2,设备上kernel权限/呈现完整性与网络正控仍待,不从Mac结果冒充设备E4。
b114 App/DMG Developer ID签名、公证Accepted、staple/strict/Gatekeeper、独立安装13114文件完全一致、114份代码/矩阵源码冻结一致;本机已覆盖安装,旧b113保留rollback。当前DMG 163341652B / SHA-256 b3e372e7d35178fbd10fd369a09ebc3d1d064e492ef496e7ac8b1a21ef2adc4e。签名/包/独立验证310.556/208.259/31.780s。完整54项独立参考与固定五轮尚未关闭;这些E2/E3是本阶段进展,不是总体已达目标、也非第三方独立验收。