planP4E2approved2026-10-11

本文type devlog;同AI方案/实施/分步骤自核。当前整体5/54,第六发送单轮来源/连续与异常检查通过,但两个五轮组均partial,等待额外磁盘余量;本批不采新Session、不进入第七、不改变产品/公式/阈值或已封存旧件。

原因与目标

当前正常采集完成、工作台正常退出后,QA用shutil.copytree在私有目录完整复制Session。G491-R1首轮实际31文件、52415778B,原Session和私有副本均保留。此方法增加实体写入;本批只验证APFS原生copy-on-write能否形成独立inode、同字节、写入隔离的完整副本,降低未来QA备份开销。共享APFS块不是共享文件:任一文件后续写入应触发COW、不改变另一文件。不得使用hardlink,不把逻辑完整性降成摘要替代原件,不压缩或删除旧证据。

最小实现与控制

新增QA helper,逐普通文件调用macOS原生clonefile(失败即报错,不静默转为普通复制或硬链接)。同卷、源根非symlink且目标尚不存在;拒绝特殊节点、不跨卷;逐源目录/文件保留基本属性、符号链接按链接复制。调用者仍必须在正常停止及封存后使用,helper不接触采集器或手机,也不对活动Session作快照保证。复杂度O(N)元数据,预算128MiB以内;对照核验流式O(B)。

控制:完整文件树/空目录/相对符号链接,目标存在拒绝、源根链接/特殊节点拒绝、克隆系统失败传播、普通文件inode独立、双向合成写入隔离、克隆一次耗时/字节与失败副本留存。合成写入仅测试自己的临时目录,不改原Session。试验只读选用旧G491-R1正常首轮Session,前后逐SHA/size/mtime/inode核同。

真实规模基准与边界

同一31文件/52415778B分别普通复制与原生克隆一次,不并行;记录完整耗时、首文件时间、CPU、峰值RSS、源/副本实际规模及主机空间前后。空间差受其他应用影响,仅作观测;成功的clonefile系统调用和隔离控制支持COW机制,不以du两个逻辑尺寸之和证明物理写入。无法测出的I/O峰值写unknown。总预算120s/128MiB;不调用解码器、无设备动作、不建环境/工作树、不发布网站。

试验副本仅在完整核验成功后删除,作为可重建scratch记录删除字节;失败副本保留。全部原Session、原私有Raw、两个partial组与失败证据保持不变。新helper验证后也不原位替换任何冻结入口;未来新五轮需重新声明,仍执行>=10GiB/预计新增量两倍及完整容量准入。没有完整五轮与外审/包核验,不登记6/54,不发工具批次交付通知。

Implementation Update · 2026-10-11

只新增QA session_evidence_clone_v1.py及21项匹配控制;产品代码/包/公式与冻结201输入不变。helper采用libSystem原生clonefile,普通文件独立inode,符号链接不跟随,特殊节点/跨卷/现存目标/目标位于源内拒绝;系统失败不隐式fallback、不创建hardlink、不删失败副本。补充默认8192节点/30秒有界门,非法配置拒绝、超时保留已生成副本。调用者仍须保证原Session停止写入,不能将其宣传为活动数据原子快照。

本批没有替换原G491/旧冻结入口,也没有接入任何新手机采集。初18控制与初方法基准保留;增加节点与超时边界后最终21控制0失败/错误,0.057秒。只有未来重新声明的新组才可能使用此方法,不能复跑旧组或把新helper套回旧证据。

Validation Update · 2026-10-11

真实完整Session为31文件/52415778B,逐文件SHA与旧封存私有副本完全一致,源前后SHA/size/mtime/inode未变。最终基准总0.787054秒、峰值18542592B(120秒/128MiB内),0设备动作/解码器/新正式轮;原Session、两份partial组和全部旧Raw/失败证据未删。

项目原普通复制原生COW克隆
同规模完整复制耗时0.174509 s0.014950 s
首文件完成0.001114 s0.002107 s
当前复制步骤CPU0.065631 s0.014732 s
逻辑数据规模52415778 B52415778 B
逐文件SHA全相同全相同
成功原生clonefile调用不适用31
源与副本普通文件inode独立全独立,双向写入隔离控制通过

完整复制与CPU开销降低,但首文件完成反而变慢约0.99ms,不宣称所有延迟改善。克隆逻辑吞吐是元数据/COW操作速度,不是52MiB真实写入吞吐;本次观察普通复制可用空间少52359168B、克隆少49152B,但主机同时有其他应用活动,空间差仅为观测,I/O峰值unknown。两个RSS检查点来自同进程累计高水位,不能拿来声称逐方法内存改善。

两个新增、已验证的基准scratch副本验证成功后删除,逻辑104831556B;仅删除本批自己生成的可重建试验副本,非旧证据。阶段结果为E2方法验证,不是第六指标E4交付,不增加5/54计数、不解锁接收;当前仍等待足够空间,未新采、未新环境/工作树/包或发布网站。

软件准备收尾边界

本批QA方法作为独立窄范围提交同步,原未完成网络五轮状态不变;不混入其他未提交产品/站点工作。共享时间线与handoff只暂存本批增量,工作区其它内容保留。一次本地站点构建预算600秒/采样进程树2GiB(非完整生命期峰值证明),仅构建、不发布;原docs归档源前后SHA核同,生成缓存可重建。构建或任一远端失败如实partial;GitLab各批仅一次、不重试、不阻断其他步骤。按Owner纪律不发工具/文档批次完成群通知,也不把本批完成当第六指标验收。