A 批次已执行2026-09-01

Gate F0 · Batch A · Static evidence only

A 批次已完成:技术资料可用,真机阶段暂不进入

2026-09-01 用户已批准执行 Gate F0。本轮按计划只执行 A 批次:冻结当前工具与工程基线,审查 pymobiledevice3 交付边界,盘点 Host 和可控 Fixture。未枚举设备,未启动 tunnel/DVT,未运行 xctrace 录制,未使用 PerfDog 账号。

执行已批准A 批次已完成F0-00 条件通过B 批次待资源产品开发未开始

Verdict

结论与停止点

A 批次结论:Conditional Pass;在 B 批次前 Hold。
本机工具、Codesign4QC 参考实现和可控 Fixture 候选均已找到,可继续内部技术验证。但首发 Host/iOS 范围、允许操作的设备和 PerfDog 对照窗口尚未冻结;闭源商业分发的 GPL-3.0 合规实施也尚需法务确认。
4.21.3
当前 pymobiledevice3
2 Arch
参考包 arm64 + x86_64
1 Fixture
可控 App 候选

可继续

完善静态清单、SBOM/合规包设计、实验 manifest 和设备操作协议。

当前暂停

设备枚举、安装 Fixture、DVT/xctrace/PerfDog 采样、任何对外 App/DMG 分发。

Frozen baseline

静态基线

项目本轮证据判定
Perfowl31fef6d(本报告生成前基线)已冻结
Codesign4QC0dc712c;工作区存在无关 .DS_Store 改动,本轮未修改计划中 d75c729 已过时
HostIntel x86_64、4 核、16 GiB;macOS 26.5.1(25F80)仅能充当 H3
XcodeXcode 26.6(17F113);xctrace 输出 16.0(17F113)版本字段需原样保留
Python / pymobiledevice3Apple Python 3.9 用户环境;pymobiledevice3 4.21.3,47 条直接 requirement 元数据可实验,非产品锁文件
隐私处理。
本轮 Host 探测可返回序列号、Hardware UUID 等识别字段,该类原值不进入文档与 Git。后续 manifest 仅保留脱敏或加盐哈希。

F0-00 · License and delivery

GPL-3.0 交付门禁

对外分发尚未达到 Pass;内部 F0 实验可继续。
pymobiledevice3 官方仓库与当前 4.21.3 包元数据均指向 GPL-3.0。Codesign4QC 参考包内含两种架构的冻结可执行与 dist-info LICENSE,但项目顶层未发现面向受领者的第三方软件清单、完整对应源码交付路径和 NOTICE 入口,因此不直接继承其分发形式。
决策项Perfowl 要求当前状态
进程边界Mac App 不链接、不 import pymobiledevice3;以单独 Sidecar 进程通过 stdin/stdout 的版本化 JSONL 通信架构已决定,尚未实现
版本与修改锁定精确版本/commit/依赖;修改必须留变更记录和可重建源码当前只证明 4.21.3
合规包应用内可见 LICENSE/NOTICE/SBOM,并提供精确对应源码、依赖锁、补丁与构建/安装脚本未建立
用户权利不以 EULA 或技术措施限制用户对 GPL Sidecar 行使许可权利;设计可替换/调试路径待产品与法务评审
闭源边界单独进程和管道通常支持“独立程序”分析,但还取决于交换语义是否过度紧密必须取得专业法务结论

F0-00 决议:内部实验仅使用现有本地 4.21.3,不对外发布;M0 只能设计进程与协议边界,不开始正式 App/DMG 包含与分发。对外交付前,上表合规包、EULA 检查和专业法务签字缺一不可。

Fixture inventory

可控 App 候选审查

已找到 A1 起点:Codesign4QC / PerformanceProbeFixture。
静态源码包含 idle、单线程 CPU、10 MiB 阶梯内存申请/释放、50–250 ms 主线程 Stall、30/60/120 Hz CADisplayLink 请求和可编辑 URL 网络请求。已有的 4 项匿名 JSONL fixture 测试全部通过,Info.plist 语法通过。
能力已有F0 缺口状态
CPU单后台 worker缺 idle/单核/双核/短峰值的固定时长场景和机内 Marker需扩展
Memory+10 MiB、全部释放缺固定平台、可重复自动阶梯和内存压力/警告事件需扩展
FPS/Stall30/60/120 Hz 请求;50–250 ms Stall请求频率不等于实际呈现;缺固定帧事件、GPU 压力与前后台脚本部分可用
Network单次 URLSession 请求缺本地固定字节服务、上传/下载/短连接/长连接和误差对账不足
Lifecycle/Crash可由外部结束并重启缺进程 generation Marker、可控 Crash、日志与后台转换不足

验证边界:xcodebuild -list 可识别 target/scheme,但扫描到本机无效 provisioning profile 警告;本轮没有构建、签名、安装或真机运行,因此不将“可列出工程”写成可运行证据。A2 商店 App 与 A3 高刷游戏样本也尚未指定。

Resource matrix

B 批次进入条件

资源当前进入 B 前需要
H1 主 Host当前仅有 Intel Host 证据Apple Silicon Mac + 目标 macOS + Xcode
H2 兼容 Host未定义确认最低 macOS 与第二台 Host
H3 Intel当前 Host 可作候选确认首版是否仍为 Universal 分发
D1–D4未枚举、未连接提供允许操作的设备/iOS 列表,以及 Developer Mode、镜像挂载、tunnel、xctrace 权限
A1有部分可用 Fixture批准完善实验场景,然后单独构建/签名/安装
A2/A3未指定各指定一个商店 App 和可重复的 60/120 Hz 样本
PerfDog未读取账号会话官方文档地址、已登录客户端/浏览器窗口和允许的只读对照范围

Evidence ledger

本轮证据与局限

证据结果等级
Host/Xcode/xctrace/Python/pymobiledevice3 版本命令成功,已脱敏记录E1
Codesign4QC 两架构工具、嵌套 LICENSE 与 SHA-256存在,但不等于完整分发合规E1
PerformanceProbeFixture 源码/Plist/工程与 4 项 JSONL 测试源码可读,Plist 通过,4/4 测试通过E1
Fixture 真机构建/运行Not TestedE0
Route、CPU、Memory、FPS、Network、xctrace 并发Not TestedE0
执行中修正。
首次 unittest 用文件绝对路径作为 module 名调用,因加载方式错误失败;改为直接执行同一测试文件后 4/4 通过。该过程不解释为 Fixture 产品缺陷。

Next approval

下一步

先冻结资源,再执行 B 批次。
需要用户确认首版 macOS/Intel/iOS 范围、允许操作的真机、Fixture 扩展权限、A2/A3 样本和 PerfDog 只读对照窗口。资源冻结后,B 批次只先做 F0-01 设备发现/Route 与 F0-02 App/进程身份,通过后才开启指标采集。

本轮只新增和修订 HTML 文档,没有创建实验脚本、修改 Fixture、开发 Mac App/Sidecar/后端/Web,也没有向第三方上传任何文件。

依据

  1. Perfowl Gate F0 真机能力与指标校准计划 v1 — A–E 执行顺序、证据等级与停止条件。
  2. Codesign4QC 性能采集专项分析 — 参考实现边界、DVT、Session 与 fixture 背景。
  3. pymobiledevice3 官方仓库 — 项目明示 GPL 3.0 和当前命令行/Python API 定位。
  4. GNU GPL FAQ · Mere Aggregation — 独立程序、管道/socket/命令行和交换语义的判定边界。
  5. GNU · A Quick Guide to GPLv3 — 传递 object code 时对应源码交付的核心要求。

证据说明:开源官方文档和 GNU 资料是合规设计输入,不是针对 Perfowl 具体发行形式的法律意见。本项目的对外分发结论仍需专业法务基于实际代码、协议和 EULA 评审。