L4 首项:Process Observed Running
1. 单项交付目标
Owner已恢复全66项逐指标执行,Free原五轮限定E4有效,相关源码已在main;主线交付与继承性能风险分列保留。下一只交付Registry ios.process.startup.observed_running_ms,不同时宣告前台就绪、Total或九阶段通过。先完成来源审计和工具软件,之后满足运行准入才做固定五轮;无新真机结果时不填完成。
成功含义:正常Perfowl界面受控进程冷启动,自有目标App A五个新生命/Session均能提供来源可追溯的运行观测,原始事件→指标/Raw→界面/封口一致,值落在同语义独立观察允许的不确定区间,无错目标、跨代、旧值复用或缺失补0;软件、已验证代码主线、签名包对应、知识/归档/网站闭环完整。它不是首帧/业务可用时长,不声称物理精度或系统绝对冷启动100%。
2. 公式与来源先审计,不先改产品
唯一Canonical为Startup Observation,Registry为PerformanceModels.swift;startup_timing.py与实时投影路径必须逐项审计:
- start是实际受控启动请求的host monotonic记录,end是同目标/代际首次running/rebound观察;
ms=(endNs-startNs)/1000000,单位毫秒、scope process、版本startup-observation.candidate.v2。 - 服务/selector和实现层以当前源码实际调用为准,审计表登记请求→系统返回→身份绑定→raw→投影,不能只引用设计或拿App内回调代替外部运行观测。
- 正负时间、乱序、首次/后续观察、前台先到、重绑定、Stop、源重连与新轮都需明确重置/缺值规则;新鲜度和跨代约束不因数值接近而豁免。
- nominal poll周期不是异常调度下的真实误差保证;实际读界/往返/观察间隔未知时必须写unknown,不能只用配置周期保证精度。
- App内启动标记仅为辅助;不与CoreProfile mach或媒体时钟直接相减。端点不同只检顺序/区间,绝对误差50ms/20%模板只用于同端点且已桥接的参考。
3. 工具与场景(先软件后真机)
- 冻结当前main、唯一安装177/对应包及当前Lab来源/版本;审计真实包内代码与待测源码,差异逐项说明。手机旧运行、Documents与失败证据保留;不读写其他App。
- 复用Lab公共框架增加显式启动记录/导出,默认普通启动不重放上次内存或动画配方;记录App可见生命周期顺序与时钟域,但不命名成不可观测的System BEGIN或物理首帧。
- 只读独立主机观察复用现有进程枚举接口、同目标别名/生命,保留每次调用前后host monotonic读界与最后未见/首次见区间。先软件mock验证分类、同名错目标、空结果、重复、重连、超时;不注入/改包/使用WDA,也不在产品Raw里伪造参考事件。
- 资格轮只核安全编排、来源、开销、封口与消费者;不算正式五轮。若要改测试App,先完整iOS构建/严格签名/保全同址一次升级/实际来源核同,不因曾安装成功而跳门;Mac包有产品变更则另走已验证源码打包与同址覆盖,Owner暂缓公证仍仅内部。
4. 正式固定五轮合同
软件和资格成立后追加固定来源摘要/版本/配置才开始,单一新队列五个不同Session与目标生命、仅正常产品UI入口,预先固定轮间冷却及每轮观察时限,禁止边跑边改配置。每轮记录请求、完整观察序列、原始指标、显示/封口及独立读界;数据丢失、身份不符、生命周期不满足、超时或资源保护均首失败停,不自动重试或补轮、不拼接旧成功。
每轮都须有值和candidate标记、原字节与同目标证据;五轮分母固定5,缺失不改成不适用。各轮误差/区间、迟滞与最差值全列,不以平均值掩盖单轮失败。区间证据不足写未评估且不计数值门通过;不能只拿自己的同一原始字段复算当独立准确性。前台/Total/九阶段即便自然产生也仅保留,不能提前登记下一指标通过。
5. 资源、准入与结束
现有环境、串行1,无常驻观察服务/新工作树。索引与封存O(本轮文件字节),增量观察/匹配O(事件数)、固定有界容量;参考默认≤2Hz,先测其对启动链路影响,不能高频轮询制造被测开销。软件单组≤120秒;独立构建≤600秒;参考资格单轮≤60秒、正式轮≤90秒,超时结束自有任务并保全,不顺手杀其他应用。正式轮期间不编译/发布网站;若主机压力使门槛没有解释性,保留准入未成立,不靠降低质量门开跑。
每批前/后及持续30分钟检查空间≥10GiB且≥预计增长2倍;仅清理已确认闲置、可重建缓存,Raw/失败/封存/回滚不可按完成即删。每项通过后窄范围提交main、GitHub/GitLab各一次(GitLab失败不重试不阻断)、更新Canonical/开发记录/不可变归档/进度/首页与0死链网站、线上字节核对及单次直白通知。当前旧过滤微基准wall风险与GitLab同步缺口继续列出,不改判PASS;它们不阻断本合同的软件准备,但不自动解除真实运行准入。
6. 当前执行状态
2026-10-17:合同已落盘,只有只读审阅与计划,无新手机动作/Session/产品修改/指标验收。下一先做§2实际来源链及版本对照,然后补软件消费者和负控;每一项真实结果在本页追加带日期增量,进度不以提交次数冒充指标数。
Source Audit Update · 2026-10-17 · 首轮只读探针,尚无产品修复
在已提交dadfb94干净源码执行7个合成helper探针(不是手机数据):正常200ms/candidate;早于请求和不同generation都missing;时间戳恰等于请求时返回0/candidate,与Canonical“0为missing”存在可复算差异。相同generation但不同进程、source epoch或reconnect的输入亦返回200ms;这只证明helper无这些直接守卫,尚未证明生产协调器会让此输入抵达,不能据此宣称实际串目标Bug或盲目禁止生命周期重连观察。
链路已读:LifecycleRawAdapter通过DeviceInfo.proclist精确应用标识匹配,源内部在进程变化时推进generation,Raw映射其observedPID/generation;实时启动观察在consume入口先执行,再处理一般目标状态。实际读界与nominal周期不同,pollingErrorUpperBoundMs仅汇总声明周期。下一先审计协调器与实时/离线一致性,给零时差及身份/版本适用边界补固定负控,定修复合同后再动代码。私有合成探针在fixture-lab-l4-observation-20261017-01/source-helper-probe.json,0手机动作/0新Session/0产品改动;未升格为E4或指标通过。
Implementation Contract · 2026-10-17 · L4-S1 软件与启动工具
本增量先落盘再实现;type仍为devlog,Owner已授权同一执行者制定、开发和复核,不派子代理。范围为本首项软件准备,不提前打开第二指标验收。
- 修复既有正时差规则:离线匹配只接受严格晚于请求的生命周期记录;
_elapsed_ms与实时投影同时拒绝相等时间戳。相等的第一条不得遮蔽后续正时差记录。保留candidate.v2公式/代际/源语义,不因合成错目标输入就盲套跨CoreProfile epoch拒绝规则。补实时/离线对照、前台先到、重复、被拒事件后恢复及代际负控。 - 请求锚点审计:正常实时UI路径已在await启动前记录host请求,保留。旧有界record-candidate路径在await之后才生成请求时间,需要移到await前采样并显式传入;用受控异步mock断言请求界早于调用/应答,不能拿应答时刻冒充请求时刻。
- Lab下一新生命单次启动配方:Foundation核心新增独立startup schema、严格URL/字段/命名校验;默认不开负载、不建运行文件、不定时采样。显式UI或
startup/prepareURL仅准备下一进程;准备记录绑定本次随机process token、120秒TTL、0/100/300ms单点willFinish人工延迟。claim原子移走pending并保留request;同生命不执行、过期/非法/重复/旧终态不重放,失败原件保留。单轮最多16条事件,单次人工阻塞≤300ms,输入≤4KiB、单件输出≤64KiB;非周期I/O、O(1)有界事件容量。 - 生命周期与终态:UIApplicationDelegate的willFinish入口/人工等待结束/didFinish、SwiftUI首次onAppear和scene active记录device uptime纳秒及真实顺序;onAppear≠物理首帧。首次onAppear与active均到后封口;提前后台保存partial,无自动续跑。启动记录独立目录、非自引用SHA清单与可分享导出;不让内存schema误读启动记录。保留未知/失败,不覆盖旧记录。
- 验证与主线:先固定负控失败复现,再修复;独立干净main复制件运行Python专项和Swift Foundation测试,iOS实际SDK完整编译验证delegate/UI接线,不宣称手机已运行。软件测试≤120秒/组,单次iOS构建≤600秒,串行1;本批比较新旧投影热路径开销,不增加采样频率。仅明确范围blob暂存到main,共享脏realtime其余实验字节不接管。代码未形成已验证安装之前不启动正式五轮;提交、双推尝试与资料交付均标明E2软件,不填E4通过。
Implementation / Validation Update · 2026-10-17 · L4-S1(E2,真机仍待)
- 实际范围:
startup_timing.py严格正时差筛选及计算;realtime.py仅同源观察方法的一处<=修正;orchestrator.py旧有界录制请求锚点前置。正常UI锚点本来正确,未改Total/九阶段/默认CoreProfile配置,不把helper的跨源合成输入断言成实际Bug。 - 确定性前后:新增11项对照在旧main有3项失败,修复后11/11;录制锚点负控旧main失败、修复后录制组13/13。干净main复制件经补齐应有scripts依赖及明确PYTHONPATH后,启动相关390/390、实时60/60通过。首轮不完整复制件有4个导入/缺文件错误,保留原日志,不描述成产品回归或抹除失败。各组≤120秒。
- Lab实现:新增Foundation启动Store/严格URL与schema/下一新生命120秒TTL单次claim/0或100或300ms意图等待/5类生命周期回调/partial与不可重放终态/非自引用3文件SHA/可分享导出;delegate和场景库已接线。当前App处于active时首次onAppear亦记录当前active观察,避免只靠状态变化回调漏掉初始active。启动领取后本进程不自动执行旧内存/帧请求;无启动请求时不建立启动目录、不施加等待。
- 源码/工具验证:启动核心70项控制通过(运行0.132秒、RSS约3.49MiB);原内存Foundation回归248控制通过,未修改其代码/用它新增指标数。实际arm64 iOS SDK完整8源链接通过;最终构建使用main版本project而非共享脏project,并固定该依赖摘要。中间两次构建为不同UI迭代,不取代最终冻结件。签名、手机升级、独立参考与正常产品五轮另列,不因可编译就称可用。
- 热路径前后各3次、每次20,000个事件:旧p95为0.008497/0.009942/0.009254ms,新为0.008487/0.008686/0.009367ms;正端点仍200ms。每轮RSS高水增长0,新轮吞吐约134k–151k事件/秒;单次最大调度迟滞仍保留(新最大2.464485ms),不声称所有事件≤1ms或真实设备开销已验。无新增采样与显式热路径I/O,OS I/O计数unknown。
- 资源与共享边界:空间约35GiB,未清理Raw/失败/封存/回滚;共享小文件写前基线1132件。实际产品只测试窄main候选,不整份纳入共享realtime实验;其余范围最终守恒另留私有核对。无新手机动作/Session、未安装新Mac包、未提前验前台就绪/Total/九阶段。
本批结论:L4-S1软件准备成立,首项正式真机五轮仍0/5,不增加1/66或历史8/54。唯一下一步是匹配主线源码的签名安装/启动工具资格及独立外部观察读界,再满足运行准入后启动固定五轮;继承wall微基准风险、公证暂缓与GPL门继续保留。
Signing Update · 2026-10-17 · 单次失败保留
本地签名预检只选出1份有效且匹配自有目标/设备的开发配置;最终冻结Lab90.21.8完整链接与源未变核对成立。一次签名等待30秒超时,未得到严格签名通过的新IPA,未安装手机、不自动重试。失败目录及原件保留;继续不依赖签名的软件/主线/站点工作,签名与真机资格仍待。