implP4E4implemented · gate-open2026-09-04

CORE-7 Collector Core 内部候选交付

开发方案(先于实现)

CORE-7 把 CORE-2~6 的候选代码变成可复现、可审计的内部交付包,不把“能打包”扩大为“可公开分发”:

  1. 从冻结 CPython 3.12.3 / pymobiledevice3 11.3.1 环境重建 x86_64 Sidecar;py-ios-device 2.4.26 仍只作研究源,不进入运行时。
  2. 使用精确 lock 生成仅含 wheel 的离线 wheelhouse;wheel 内 METADATA 的 Name/Version 必须与 101 个 pin 一一匹配。
  3. 同包放入 Perfowl Adapter 源码、构建脚本、修改声明,以及两个上游冻结 commit 的源码快照;PyPI wheel/sdist 必须匹配已冻结 SHA-256。
  4. 生成 CycloneDX 1.5 SBOM、NOTICE、release manifest、文件级 SHA-256 清单和外层归档哈希。
  5. 从独立临时目录解包运行 probe/audit,验证产物不依赖仓库源码目录。
  6. 分开记录架构、ad-hoc 签名、Developer ID、公证和 GPL 法务状态;任一发布门禁缺失时只交付 internal-candidate

实施结果

交付物

项目数据等级
解包目录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.gzE2/E3
归档 SHA-256d032237fed6a14e6c3f8e17fb3cc65028866ce0193609ff441faf7fa20b5a873E2
体积解包约 82 MB;tar.gz 约 59 MBE2
wheelhouse101 wheels;0 sdist;与 101 个 exact pins 一一匹配E2/E3
SBOMCycloneDX 1.5;101 components;范围为 locked build environmentE2/E3
文件清单263 个文件通过 SHA-256 复核E2
上游发行包pymobiledevice3 wheel/sdist、py-ios-device published wheel/sdist 共 4 个,SHA-256 全匹配E2
上游源码快照两个冻结 commit,各 1 个 git archiveE1/E2
架构Mach-O thin x86_64E3
签名codesign --verify --deep --strict 通过;Signature=adhoc;TeamIdentifier 未设置E3
Developer ID / 公证未执行blocked

MacApp/dist/.gitignore 下的可再生交付产物;仓库提交保存生成器、lock、测试和文档,不提交 59 MB 二进制归档。

测试与独立验收

验收结果等级
系统 Python60/60E2
冻结 Python 3.1260/60E2/E3
Swift62/62;本阶段未修改 Swift 产品代码E2
release 错误注入非 exact pin、重复 pin、wheel 版本不符、文件篡改均 fail closedE2
独立解包 probepmd3 11.3.1,9/9 capability,ready=trueE3
独立解包 auditCORE-5 匿名 Session:4 events,missing/unknown/drop=0,identity=100%,raw gate passedE4 replay
外层归档shasum -a 256 -c 通过E2
内层清单263/263 文件哈希通过E2
源码纯净度Perfowl source snapshot 中 __pycache__=0E2

本阶段复用 CORE-3~6 已取得的 iOS 16 真机 raw 证据,没有重新控制目标 App,也没有新增其他 iOS 版本的 E4 结论。

门禁结论

已完成

仍开放

阶段结论

CORE-7 已交付 内部 x86_64 candidate 基座,CORE-2~7 主链完成。这里的“完成”指版本冻结、单 DTX 融合、raw 采集、回放审计和内部交付闭环已经具备;跨 iOS、正式指标、通用架构和商业分发门禁仍保持开放。

冻结归档:CORE-7 内部候选交付验收