didFinish:计划与当前partial

---
type: devlog
title: Fixture Lab:didFinish启动回调单项来源与隔离验收
date: 2026-10-17
status: partial
kind: plan
stage: P4
evidence: E3
metric: ios.process.startup.did_finish_launching_ms
---

# didFinish:单回调来源、设备差分与上游等待隔离

## 1. 顺序与基线

Owner合一/不派子代理。main bbf0d10完成willFinish R2五新轮限定E4,留存9/66(启动8/12),历史8/54旧7未重验不相加。原0/5与R1 3/5全部保留,1161件封存SHA153c4c09e21489484ee89fa92af8c89f32cf39814bee338e365c1fed615c3d7e;GitHub核同/网站9页正文相同/一次通知成功,GitLab唯一128不重试。当前仅didFinish,不提前验Scene回调。179/Lab90.21.8不重装重签/造包,产品算法/配置/采样频率不改,整GUI/main差异/Total过渡UI/旧性能/公证暂缓/GPL/镜像门分列。

## 2. 来源与公式(实现前)

Registry ios.process.startup.did_finish_launching_ms,process/ms/candidate。生命周期class0x2B/subclass0x87的code25(debugID730267748)开始、code26(730267752)结束didFinishLaunchingWithOptions(),同目标主线程、单代targetGeneration/sourceEpoch/reconnectGeneration、同clean Total窗口,恰1完整span。原始64字节/逻辑流坐标/生命周期角色/线程归属映射与全窗口完整端点集合独立核同。稳定正整数timebase;duration=((endTicks-beginTicks)*numer//denom)/1e6,逐段与聚合及所有有值live/两最终报告≤1e-6ms。原Session/副本/Raw/封口与安装模块副本重放相同,无周期CSV列,不伪造连续率。

该Fixture已实现didFinish并写入事件,必须恰1闭合span且有其App事件;缺失/N/A不通过,完整launch中其他App确无可选回调的既有not-applicable不得补0。本次不改变产品缺失语义,不把事件名等同独立私有语义真值。

## 3. 场景与判据

新固定[0,300,0,300,0]五run/生命/Session;设置的是上游willFinish等待,不在didFinish内施加。actualDelayNs 0组≤10ms/300组300–350ms,didFinish 0<值≤1000ms;两组didFinish中位差绝对值≤50ms(预先隔离异常门)。App内didFinish单点记录仅证明回调到达,非独立起止物理参考;本项仅来源/消费者/无明显偏离,不宣传物理精度或永久100%。旧willFinish两轮仅诊断不借入分母;没有在didFinish里增加真实正控,因此该限制显式保留。

先软件负控/旧件诊断与同规模五次SHA和原始核对基准;四安装模块与main忽略调试位置核同。串行1、每轮90s/外105s/RPC8s/URL12s/replay30s、RSS192MiB/Session256MiB、轮间15s/队列600s。首失败停,无自动重试/换样/补轮。每轮在正常UI精确设备/自有目标/产品idle/Startup Timing卡和无pending、旧run字节核同后,才允许最多一次精确自有初始生命SIGTERM并确认absent;正式生命不同,独立参考absent→present。不得触碰其他App/系统服务或默默忽略未知生命。

## 4. 容量与资源保全

预计活动30;先本次只读资格/若必要单次精确自有归一化,再核上一willFinish全1161封存与手机R2五run四件,独占同容器rename到retired/did-finish-capacity-20261017,30→25/删除0/释放0。不覆盖旧目的地,不改32容量门,不删除失败/Raw/清单。旧Static/Scene/失败退役保持,失败留partial另决策,不重复消费namespace。源码持久私有scripts/运行前pin(包括编排器/分离复核本身)。空间首次/批末/30分钟检查≥10GiB且≥预期2倍,只清前项已完成可重建站点副本;不与网站构建发布并发采集。

## 5. 独立验收与交付

分离复核不调用执行器audit/check函数,重读原副本/Raw/完整原始端点集合/线程映射/设备公式/消费者/上游等待实际值与隔离/生命周期/封口/资源与原件不变。五轮成立才9→10/66(启动9/12),不把诊断/软件/配置准备等同正式通过。知识积累唯一startup-phases页,devlog追加真实失败和修订,完成C1–C7/不可变HTML/HEAD窄增量提交/GitHub与GitLab各一次/干净网站发布与线上9页核同/一次中文交付通知。镜像失败只同步partial不阻断。下一仅sceneWillConnectTo单项,先独立来源/可选语义/场景合同,全66目标保持。

## Implementation Update · 2026-10-17 · 软件准备

四didFinish工具/测试已落盘,17软件方法通过,产品不改。首次诊断脚本两个旧R2副本audit成立后,基准常量仍指旧首停round-1(其无有效collector Session),FileNotFoundError停止;不是手机/产品问题,没有新采集。原脚本/失败日志/两诊断保留,修订版仅修常量至上一批已验R2-1,使用新诊断输出命名/运行前新pin,不覆盖已消费路径。正式仍0/5,尚未运行手机新输入。

### Formal Admission Update · 2026-10-17

修订软件诊断/17方法和安装4模块/main核同通过,旧件仅诊断、不借新分母。正常UI启动卡/目标精确匹配、无pending、自有absent、活动30核同(4.001170s/68,939,776B,终止0);上一willFinish1161封存与手机R2五run四件全核后一次保全30→25、删除0、外墙7.872152s、句柄全关。明确准入新固定[0,300,0,300,0]五新生命/Session,首失败停/不补轮;队列与分离复核/实际执行器/参考/安装来源预pin,整体9/66不先增加。进度板当前didFinish五轮进行中,尚不宣称通过。

## Stop / Validation Update · 2026-10-17 · 正式0/5,等待通道恢复

首固定队列第1输入prepare-url在12秒超时,19.441945s/RSS70,885,376B停止;普通准备启动1/URL1,精确自有清理终止1,Start0/Stop0/Session0、五句柄全关;未追加第2轮或重试。正式0/5,didFinish未验收,整体仍9/66(启动8/12)。已准备但尚未运行的成功交付脚本只是源码,不是验收/发布收据。

新只读Apple qualification:设备list成功0.180896s,details在8秒timeout,ready=false(总8.268494s),不能把“list找到手机”说成配方通道已连接。独立原生读取2.592000s正常:自有absent、无pending、无失败run、25活动、终止/写入0、句柄全关;该输入未落盘,不会覆盖或重放。普通DVT/AFC可读与Apple配方通道可用是不同门。根因unknown,未归因到USB线、产品解码或Owner;不以重启后的五轮曾成功推断现在仍可用。

已请求Owner拔插一次USB并保持解锁;恢复前不重签/重装、不重复采样、不进入下一指标。等待期间将17软件方法、来源/隔离诊断及基准、1161旧件复核/五run保全、当前0/5与后置只读证据窄提交/知识/开发记录/网站更新。本批仅E2工具/E3环境准备,不增加验收数,不把0/5改写为通过。回复后必须先验证实际通道/idle/无pending与工具来源,再另立新attempt完整五轮,不重跑已消费namespace。

### Preparation Delivery Evidence · 2026-10-17

本批210件非自引用封存,SHA `5372e2b0dd885e1f0a05f590af874a4959d280453f533af3cffa3830af5d1aeb`;正式0/5/未验收。软件17方法,诊断didFinish0.786500/3.010500ms、上游隔离差2.224000ms仅旧件证据;五次同规模SHA中位0.007661s/原始核对0.073581s,不替代新真机验收。发布与镜像以本批后置真实收据为准。