planP4E2partial2026-10-18

新机编译兼容修复

1. 范围与写前证据

Owner延续同一AI方案、实现、测试和分离复核授权,无子代理。主线基线b64c1e46d130398b42892b9d3a4f3a99924282b4;整体27/66,唯一当前中断唤醒率1Hz旧attempt4/5仍未验收,未开始新采集。只读恢复详见仓库internal/handoff/new-host-recovery-2026-10-18.md。

新机为Apple Silicon、macOS15.3.1、Xcode16.4 / Swift6.1.2、iPhoneOS SDK18.5。19项监督与模拟队列控制通过,外层0.344秒、退出峰值54,312,960字节,无手机/产品解码器调用;只说明这些工具在本机的E2控制,不说明锁定collector环境合格。

当前Mac GUI/Core release全源码构建首轮27.629秒、退出1、退出峰值1,201,766,400字节,未超300秒/1536MiB预算;失败日志保留在本机独立新机恢复私有目录。编译器给出三处错误:设备摘要两个Optional Bool switch不穷尽,以及WorkbenchMetricChart的大型GeometryReader视图表达式无法在合理时间内完成类型检查。不能凭旧机成功构建称本机软件恢复完成;这也不建立产品数值失败。

2. 最小实施方案(先于产品改动)

仅改MacApp/Sources/PerfowlApp/PerfowlWorkbenchView.swift:

  1. 两处Bool? switch用显式.some(true)、.some(false)、.none匹配,保持原三个文案及nil语义。
  2. 图表拆出明确类型的布局/数据计算和绘制子表达式,帮助Swift6.1求解。保留同一viewport、4096列上限、极值采样开关、原始分段/缺值断线、轴标签、sourceConnected与缺近期帧提示条件及可访问标识。
  3. 不改变Core、Python、采集源/公式、发表节拍、gap/非零覆盖/数值门,不借兼容修复修改其他指标状态。

关键路径仍为每次图表更新O(点数+系列数),同一有界列数;拆分不增加采样、排序、持久缓存、异步任务或来源连接,数据准备仍只计算一次。软件构建串行1,release完整编译≤300秒/1536MiB;纯工具及相关普通Core测试≤120秒/192MiB,编译预算单列。预计一次完整构建几十秒至数分钟,超限首失败停;新目录保存失败,不覆盖写前日志。当前无真实Session私有材料,不能给出真实图表负载前后运行性能结论;此门保留,不能称完整产品交付。

3. 验证与分离复核

4. 当前未关闭门与后续

私有资料迁移/SHA、Intel工具与固定libusb、Developer ID签名身份、手机同身份与通道、UI工具资格、实际容量收据仍待恢复。新正式attempt必须另落Canonical增量,使用新run前缀、实际保全后容量和完整五新生命/Session;不拼接旧第五轮,不进入磁盘。

知识库持续沉淀本机兼容现象与诊断方法,区分事实与推断;本批若只能达到软件兼容,明确其边界并保留签名包与真实运行门。公证继续按Owner暂缓,GPL门仍开放。

Implementation Update · 2026-10-18

方案已落盘,产品修改与复编尚待执行。首轮编译失败和旧机证据均保留;整体进度不变。

Implementation Update · 2026-10-18 · 表达式拆分后的具体诊断

已显式匹配Bool?三态,图表数据准备、网格、Canvas和缺帧提示拆为有类型子表达式;分段函数与采样算法未改。R2完整release构建19.564秒/退出峰值1,215,774,720字节,两个switch错误消失;Swift6.1给出原大型表达式内更具体的CGFloat/Double减法运算符歧义,故R2仍是失败,不记构建通过。

下一将Canvas的宽高与坐标比例显式标为CGFloat,保持64位浮点计算和原坐标公式;以新R3目录复编,不重复未修改输入。没有手机调用、签名或安装。

Validation Update · 2026-10-18 · 新机源码构建

R3完整ARM GUI/Core release构建通过:24.626秒,CPU37.747秒,退出峰值1,182,007,296字节,无监督违规。原R1/R2失败不回改;只通过本机源码编译,未冻结依赖、未生成签名安装包、未启动产品。

Lab当前9 Swift源、13构建输入在真实iPhoneOS18.5 SDK直接arm64编译链接通过:外层7.744秒、退出峰值522,944,512字节,source pins前后不变。候选标明未签名/未安装/手机动作0,不用新的SDK摘要覆盖旧Lab13资格。

相关Core测试首个release构建未运行测试即退出:复用的release Core模块未开启-enable-testing,因此@testable import被拒绝。保留此命令配置失败;下一在独立scratch显式启用测试编译标记,不更改产品或测试断言。构建仍300秒/1536MiB,运行单独120秒/192MiB。

站点依赖恢复按现有site/package-lock.json一次npm ci --no-audit --no-fund,预算300秒/768MiB;站点构建180秒/1536MiB。只安装锁定依赖,不自动升级Node、回改锁或安装常驻服务。发布须干净main、GitHub同SHA及本机Cloudflare资格;当前缺认证,不能以本地构建代替线上发布。

Validation Update · 2026-10-18 · 相关控制与分离源码复核

显式-enable-testing的新测试编译通过(44.118秒、退出峰值1,212,645,376字节,独立构建预算)。随后单独运行ChartExtremaSamplerTests、MetricPublicationCadenceTests、DisplayMetricPresentationTests、WorkbenchModelsTests共22例通过:外层1.094秒、CPU0.568秒、退出峰值50,216,960字节,无资源违规。仅此22例,不称本机全372例回归,更不重开历史指标验收。

分离源码复核对照写前副本:589份pins中仅预期的Workbench视图一份变动;Core、Python、队列与指标状态文件无变动。原分段函数、niceMaximum、数值轴与时间轴函数逐字不变;显式Optional匹配保持三个原文案,缺帧提示仍受相同sourceConnected/目标值缺失/质量条件约束。原始两次产品构建失败及一次测试编译配置失败全保留。复核只证明静态范围与E2控制,不证明真实GUI运行性能或手机来源。

当前交付仍partial:本机无Developer ID签名身份、无完整旧私有迁移证据、无已核189包/固定Intel动态库,不能生成可信可安装签名包或覆盖安装。仅保留本机软件候选与完整日志;公证Owner继续暂缓,正式分发/GPL及当前中断新五轮仍开放。站点构建/远端/线上状态以实际后续收据为准,不提前写成功。

复现入口与证据保管

下列是本批实际命令的可移植写法;PRIVATE须为新建私有目录,PYTHON在本批控制中只提供已核psutil7.2.2,不能用其相邻项目的pymobiledevice3版本作为collector资格。全部命令由既有finite_process_guard.guarded传基础白名单环境监督,预算见上文;不要在未核环境时将这组软件命令扩展成真机队列。

"$PYTHON" -B -m unittest discover -s internal/acceptance/interrupt_wakeup_1hz -p 'test_*.py' -v
xcrun swift build --package-path MacApp --disable-sandbox --jobs 1 --scratch-path "$PRIVATE/swiftpm-arm64-r3" -c release --product Perfowl
"$PYTHON" -B fixtures/ios/PerformanceProbeFixture/LabTests/build_native_lab.py --output "$PRIVATE/lab13-sdk18-unsigned" --mode lab --version 90.21.13
xcrun swift build --package-path MacApp --disable-sandbox --jobs 1 --scratch-path "$PRIVATE/swiftpm-tests-arm64" -c release -Xswiftc -enable-testing --build-tests
xcrun swift test --package-path MacApp --disable-sandbox --jobs 1 --scratch-path "$PRIVATE/swiftpm-tests-arm64" -c release -Xswiftc -enable-testing --skip-build --filter 'ChartExtremaSamplerTests|MetricPublicationCadenceTests|DisplayMetricPresentationTests|WorkbenchModelsTests'
npm --prefix site ci --no-audit --no-fund
npm --prefix site run build

本批独立私有目录保留写前Workbench原件/SHA、589份source pins、R1/R2/R3构建输出、unsigned Lab与13输入pins、两次测试构建与相关22控制、分离源码复核和站点日志。后续Git与发布收据另存,不改旧电脑迁移账本;原Perfowl-Local-Archive尚未迁入,目录存在与SHA核同仍是不同条件。

Validation Update · 2026-10-18 · 站点依赖与资源首失败

按锁一次安装280个站点依赖通过,8.266秒/330,727,424字节,锁文件未改。npm自身的下载重取及既有依赖警告留在原日志,没有由执行器重复安装/升级版本。66项知识合同检查通过,既有42处措辞审计警告分列,不能称零警告。

首次站点构建命令退出0、VitePress完成且没有死链报错,但wait4退出峰值2,703,032,320字节超过预设1536MiB,监督判定rss-at-exit失败;不能用退出0覆盖资源门,也不据此否定Mac/Lab构建或指标数值。该首失败与构建输出均保留,且构建期间正文有后续补充,因此不把该产物当最终源码快照。

下一仅新站点attempt设置NODE_OPTIONS=--max-old-space-size=768约束Node堆、促进及时回收;仍180秒/1536MiB,不提高预算、不改产品资源门,不重新安装依赖。开始前冻结站点/归档摘要,执行期间不再改源;成功与否写独立私有收据。此尝试只恢复文档构建,缺Cloudflare认证时不发起登录或部署。

Validation Update · 2026-10-18 · 站点资源门保留开放

768MiB堆的第二次站点attempt在7.885秒退出−6,V8报告堆耗尽;退出峰值1,173,815,296字节、未触RSS门,但命令失败。1172份站点/归档pins前后无漂移,原日志保留。未再次安装、未扩大预算、未继续搜索堆大小,不把首次exit0或第二次较低RSS写成站点恢复通过。

因此本批只交付兼容修复源码和恢复记录,本机站点构建资源资格、Production发布与线上本批内容核对均未完成。站点资源问题单列,不修改VitePress配置或扩大当前单项产品范围;后续恢复原受支持Node环境/评估589份归档的构建资源后另写方案解决。Cloudflare认证和Webhook也缺配置;缺少这些条件不宣称已发布或已通知。