CORE-7 Collector Core 内部候选交付
开发方案(先于实现)
CORE-7 把 CORE-2~6 的候选代码变成可复现、可审计的内部交付包,不把“能打包”扩大为“可公开分发”:
- 从冻结 CPython 3.12.3 / pymobiledevice3 11.3.1 环境重建 x86_64 Sidecar;py-ios-device 2.4.26 仍只作研究源,不进入运行时。
- 使用精确 lock 生成仅含 wheel 的离线 wheelhouse;wheel 内 METADATA 的 Name/Version 必须与 101 个 pin 一一匹配。
- 同包放入 Perfowl Adapter 源码、构建脚本、修改声明,以及两个上游冻结 commit 的源码快照;PyPI wheel/sdist 必须匹配已冻结 SHA-256。
- 生成 CycloneDX 1.5 SBOM、NOTICE、release manifest、文件级 SHA-256 清单和外层归档哈希。
- 从独立临时目录解包运行 probe/audit,验证产物不依赖仓库源码目录。
- 分开记录架构、ad-hoc 签名、Developer ID、公证和 GPL 法务状态;任一发布门禁缺失时只交付
internal-candidate。
实施结果
- 新增 release metadata 模块:精确 lock 解析、wheel METADATA 核对、上游发行包哈希核对、CycloneDX SBOM、文件清单生成与防篡改验证。
- 新增
package-sidecar-core.sh:重建 Sidecar、组装 101-wheel 离线目录、归档 Perfowl 源码/修改声明与两个上游 commit 快照、生成候选 tar.gz。 - release manifest 固定记录:pymobiledevice3 11.3.1 为唯一运行时;py-ios-device source 2.4.26 仅研究;SourcePolicy
collector-core.candidate.v1;PerfDog 对照paused;OS coverage=false。 NOTICE.txt明确 GPL-3.0-or-later 运行时依赖与公开分发门禁,未把内部工程包描述为完成商业发布合规。
交付物
| 项目 | 数据 | 等级 |
|---|---|---|
| 解包目录 | MacApp/dist/collector-core/perfowl-collector-core-internal-candidate-v1-x86_64/ | E2/E3 |
| 归档 | MacApp/dist/collector-core/perfowl-collector-core-internal-candidate-v1-x86_64.tar.gz | E2/E3 |
| 归档 SHA-256 | d032237fed6a14e6c3f8e17fb3cc65028866ce0193609ff441faf7fa20b5a873 | E2 |
| 体积 | 解包约 82 MB;tar.gz 约 59 MB | E2 |
| wheelhouse | 101 wheels;0 sdist;与 101 个 exact pins 一一匹配 | E2/E3 |
| SBOM | CycloneDX 1.5;101 components;范围为 locked build environment | E2/E3 |
| 文件清单 | 263 个文件通过 SHA-256 复核 | E2 |
| 上游发行包 | pymobiledevice3 wheel/sdist、py-ios-device published wheel/sdist 共 4 个,SHA-256 全匹配 | E2 |
| 上游源码快照 | 两个冻结 commit,各 1 个 git archive | E1/E2 |
| 架构 | Mach-O thin x86_64 | E3 |
| 签名 | codesign --verify --deep --strict 通过;Signature=adhoc;TeamIdentifier 未设置 | E3 |
| Developer ID / 公证 | 未执行 | blocked |
MacApp/dist/ 是 .gitignore 下的可再生交付产物;仓库提交保存生成器、lock、测试和文档,不提交 59 MB 二进制归档。
测试与独立验收
| 验收 | 结果 | 等级 |
|---|---|---|
| 系统 Python | 60/60 | E2 |
| 冻结 Python 3.12 | 60/60 | E2/E3 |
| Swift | 62/62;本阶段未修改 Swift 产品代码 | E2 |
| release 错误注入 | 非 exact pin、重复 pin、wheel 版本不符、文件篡改均 fail closed | E2 |
| 独立解包 probe | pmd3 11.3.1,9/9 capability,ready=true | E3 |
| 独立解包 audit | CORE-5 匿名 Session:4 events,missing/unknown/drop=0,identity=100%,raw gate passed | E4 replay |
| 外层归档 | shasum -a 256 -c 通过 | E2 |
| 内层清单 | 263/263 文件哈希通过 | E2 |
| 源码纯净度 | Perfowl source snapshot 中 __pycache__=0 | E2 |
本阶段复用 CORE-3~6 已取得的 iOS 16 真机 raw 证据,没有重新控制目标 App,也没有新增其他 iOS 版本的 E4 结论。
门禁结论
已完成
- 单一 pmd3 DTX owner、八类 raw/schema Adapter、严格 Session、内部 raw auditor 与 x86_64 可复现候选包。
- py-ios-device 的额外 selector/schema 能力已通过 Perfowl Adapter 融入同一 pmd3 DTX 连接;它不是第二运行时,也不读取第二个 DTX socket。
仍开放
- iOS 15、iOS 17、iOS 18+ 真机覆盖;当前不能称 iOS 15+ 全版本可用。
- arm64 与 universal2 产物;当前宿主/冻结 Python 只交付 x86_64。
- Developer ID 签名、公证、正式安装包。
- GPL-3.0 对外分发法务结论、完整第三方 notice 审核和产品 EULA。
- Process Network、Energy、CoreProfile/Lifecycle 的业务指标公式与数值校准。
- PerfDog 同场对照暂停;没有误差结论。
阶段结论
CORE-7 已交付 内部 x86_64 candidate 基座,CORE-2~7 主链完成。这里的“完成”指版本冻结、单 DTX 融合、raw 采集、回放审计和内部交付闭环已经具备;跨 iOS、正式指标、通用架构和商业分发门禁仍保持开放。
冻结归档:CORE-7 内部候选交付验收。