# 验证状态 ## 2026-09-20:Issue 优化与真实 IG 字体验收 本节记录维护环境的本地验证;是否已发布以仓库提交为准,Issue 和 PR 状态以 GitHub 页面为准。 逐项边界及贡献来源见 [Issue 修复进展](ISSUE-REMEDIATION.md)。 | 检查 | 结果与范围 | | --- | --- | | 构建复现 | 显式 SDK、最低系统版本和干净环境;本机重新编译仍匹配原固定 codec SHA;不覆盖原组件 | | 首页登记 | 索引及属性准备移到最终草稿落位前;失败阶段和恢复提示有自动化故障注入覆盖;两份 IG 验收副本实际登记成功 | | 本地字体新建 | 真实 IG 50.233333 秒、23 轨、154 段、109 段文字;Arial / Arial Bold 随独立草稿保存;完整播放、保存、冷重开和回读通过 | | 本地字体修改 | 在新建工程的独立副本中把 109 段文字改为 Monaco;原生打开、保存、冷重开和回读通过,来源工程未变 | | 原字体路径不可用 | 构建后把输入字体移到保留路径;新建与编辑副本均通过验证和导出,依赖草稿内副本 | | 原生导出 | 两份均为 1080×1920 / 30 fps / H.264+AAC,1507 / 1507 帧,完整解码通过;抽帧确认人物、画面、文字及字体差异 | | 保存回读 | 仅归一化已审核的默认 1 倍速度省略、空图片音频辅助节点编号和限定设备标记;原始证据保留,其他差异保持严格检查 | | 自动化检查 | 47 项仓库、41 项字体、30 项导出防护、17 项编辑和 24 项基础构建回归通过,共 159 项,不重复累计重跑 | 未完成:其他机器独立验收、反馈中另一官方 11.5.0 二进制适配、 真实 `com.apple.macl` 权限差异解决、稳定官方旧版安装来源。 11.4.2 原精确配置未放宽,本次没有重装它进行字体原生验收。 不声称与 Hypit 原视频逐像素一致或已完成全部主观视听验收。 按剪映 Skill 的独立副本流程执行,没有覆盖原 IG 工程;字体与测试视频不加入公开附件。 本机证据保留在 `work/issue-hardening-20260920/`,包括两次导出和两个冷重开回读报告。 ## 2026-09-19:新手入口与源码重新安装检查 本次验证针对“新读者能否从仓库源码开始”,不把本机结果扩大成所有电脑兼容。 | 检查 | 结果 | | --- | --- | | 干净源码目录 | 从 Git 跟踪内容创建新检出,不复制原目录的桥接二进制、work 输出或已安装 Skill | | 桥接重建 | 11.5.0、Apple clang 21.0.0 / SDK 26.5 构建通过,输出仍匹配原固定哈希,未放宽门禁 | | 运行入口 | 清除外部 `JIANYING_HEADLESS_ROOT`、`PYTHONPATH` 后使用新检出自带入口 | | 新手工具 | `tools/start_here.py check` 通过;非交互指定视频和交互式输入中文/空格路径均完成构建与验证 | | 真实视频样例 | 复用既有 IG 人物视频,前 2 秒、720×1280、30 fps、视频轨和可编辑文字轨;不使用合成素材或会员资源 | | 原生导出 | 新检出构建快照输出 H.264/AAC、60 / 60 帧、1.999998 秒,完整解码通过,来源不变;抽帧可见人物和中文标题 | | 自动化检查 | 7 项新手入口测试及 21 项已有包装/版本/公开媒体测试通过;源码包检查与教程格式检查通过 | | 无隐式操作 | 新手 build 不登记首页、不导出、不安装软件、不联网下载;后续动作分别打印可复制命令 | 本次没有为两秒示例新增首页登记或重复 UI 验收;既有 11.5.0 首页、保存与冷重开证据见下文。 新检出仍运行在同一台 Mac、同一官方剪映安装及同一系统工具链上,**不是另一台独立电脑或全新 macOS 用户的验收**。 基础示例没有原生效果缓存依赖,但蒙版、叠化、轻微抖动仍需要各自匹配的本地资源。 官方 11.5.0 安装包的长期可获取性,以及不同工具链能否产生匹配哈希,仍是新用户的实际门槛。 本机检查材料保留在忽略目录 `work/new-user-1150-clean-checkout/`;公开步骤见 [新手教程](GETTING-STARTED.md)。`project.json` 的 `clean_machine_acceptance` 继续保持 `not-completed`。 ## 2026-09-19:11.5.0 主版本 / 11.4.2 兼容版本 本节是当前本机实测;下面 2026-09-15 的记录保留为历史,不混同为本次验收。 代码、版本配置和本机已安装 Skill 已更新;GitHub 推送以对应提交为准,本次不发布 Release。 | 检查 | 结果与范围 | | --- | --- | | 运行身份 | 11.5.0 / build 11.5.0,精确官方库 SHA、完整签名、Team ID 通过 | | 桥接 | 原始 codec 源码以固定文件名重建,仍匹配既有 `b6533e…f971d`;没有放宽二进制校验 | | 版本选择 | 独立 11.5.0、11.4.2 配置;11.4.2 原哈希、调用位置和资源来源保持不变 | | 自动化测试 | 前段 149 项原有功能回归 + 17 项包装/版本/格式防护通过;尾帧门禁补修后只重验受影响的 30 项导出防护(新增 2 项)及 17 项包装/版本检查,全部通过 | | 回读负向对照 | 6 项仅在内存中改变格式、音量、文字或保存信息,全部被拒绝;没有改写原生文件 | | 新建可编辑草稿 | 6 秒、6 轨、10 片段:正式入口登记、UI 完整播放、保存、退出、冷重开及回读通过 | | 旧草稿独立编辑 | 11.4.2 合成源的 9 项修改在 11.5.0 创建副本;同样完成播放、保存、冷重开;原稿字节未变 | | 新版保存格式 | 实测原生保存把 `185.0.0` 更新为 `187.0.0`,数值版本仍为 360000;仅按精确运行版本识别,报告迁移而不放开未知格式 | | 已保存新版继续编辑 | `187.0.0` 草稿再次检查、独立修改、构建验证及原生导出通过,不只支持未保存的旧格式 | | 已安装 Skill | 独立测试从不同工作目录调用 doctor/build/verify-build,通过;只写独立测试目录 | | Hypit 实际协作案例 | 50.233333 秒 / 39 素材 / 23 轨 / 154 段(109 段文字):原归档及素材哈希复核、11.5.0 独立构建、首页登记、打开播放、正常退出、冷重开及最终回读通过;原生导出 1507 / 1507 帧及完整解码通过。视觉差异和完整主观视听验收另列,详见[案例](HYPIT-COLLABORATION.md) | | 真实案例公开预览 | 两段完整 1507 帧的 540×960 视频与两张六帧对照图;压缩视频均完整解码通过,精确路径/大小/哈希白名单和 4 项防护测试通过,包装测试现共 21 项;不包含合成演示媒体 | 11.5.0 导出分项(全部完整解码、来源 build 未变,H.264/AAC 标准 MP4): | 合成样本 | 实际 / 预期帧数 | 验收 | | --- | --- | --- | | 分段、变速、旋转画中画、中文文字、BGM/音效 | 150 / 150,25 fps | 抽帧及合成音频检查通过 | | 图片、透明 PNG、GIF | 首次 149 / 150;同输入/同 helper 复测 150 / 150,30 fps | 动画/透明叠加可见,原生 UI 对照也为 150 帧;间歇少帧根因未定位,不能归为必然取整;当前严格门禁拒绝首次缺帧输出 | | 画面与音量线性关键帧 | 120 / 120 | 位置/尺寸/旋转/透明度、音量淡入淡出检查通过 | | 六种几何蒙版 | 360 / 360 | 六形状实际查看;与旧版相同测试帧的彩色轮廓 IoU 均为 1.0,不等于全画面逐像素一致 | | 叠化转场 | 120 / 120 | 混合区间可见;同相测试音在叠化区约 +6.036 dB,保留响度警告 | | 轻微抖动 | 180 / 180 | 开启段位移标准差约 1.542 px,前后低于 0.006 px | | 九项编辑副本 | 150 / 150 | 修改画面可见;BGM 幅度比 0.5549,符合 0.10 / 0.18 | | 复合冻结快照 | 150 / 150 | 内部画面、字幕、音轨可见;首页登记仍禁止,不代表嵌套保存已验收 | | 新版保存后再次编辑 | 150 / 150 | 新文字的独立副本导出通过 | 边界: - 11.4.2 此次没有重新安装运行;兼容依据为保留的精确配置、历史原生证据和本次旧结构回归。 - 高清黑白滤镜、橙色描边花字已移除支持、资源目录条目及使用示例,不再列为待验。旧计划及旧导出快照含这两项时拒绝,不静默省略。普通文字描边和轻微抖动保留。 - 新版没有逐项重做所有效果的 UI 保存/冷重开;完整冷重开验收覆盖基础多轨、九项编辑副本和图片/GIF。图片/GIF 已补完冷重开、5 秒播放、正常退出和最终回读(187.0.0、四镜像一致、来源未变),证据为 `photo-gif/cold-reopen-final.json`;这不代表间歇少帧已修复。 - 编辑副本的一个音效起点从 500000 吸附为 520000 微秒,按原有一帧规则明确报告;不隐藏误差。 - 保存迁移只归一化已观察到的格式编号、保存应用版本及限定设备标记,原始证据不改写;素材内容和其他非空字段继续严格比较。 - 干净机器、任意效果组合和主观听感未做完整验收。未知版本、错误指纹、跨版本导出快照仍拒绝。 本机证据保留在忽略目录 `work/acceptance-1150/`、`work/regression-1150-final/`、 `work/forward-1150-eqoLHR/`;不把素材、设备信息、原生日志或程序库加入源码分发。 ### 图片/GIF 少帧复核及门禁修正 同一 5,000,000 微秒、30 fps、640×360 草稿应有 150 帧。首次与复测 helper 的 SHA 完全一致。 首次视频为 149 帧 / 4.966666 秒,首帧 PTS 0,末帧 PTS 4.933333;容器受音轨影响为 4.991995 秒。 复测为 150 帧 / 4.999998 秒,末帧 PTS 4.966667。原生 UI 的 MOV 为 150 帧 / 5.000000 秒, 末帧同为 4.966667。三个样本均完整解码,首末图实际查看,文字和对应图片可见;不宣称逐像素相同。 已修复的是**验收漏检**,不是已证实修复引擎:帧对齐的时长必须精确帧数(容许微秒表示精度), 真正的非整帧时长仅接受相邻两整数。对真实旧样本检查证明 149 帧被拒绝、150 帧被接受; 原始报告和文件保留,未改写历史成功记录、补帧、重编码或增加交付自动重试。 收尾等待 500 ms 与 3000 ms 的有限 A/B 各有一次 150 帧,未复现少帧,不能证明加长等待有效。 下一次基线在原生恢复阶段超时(60 秒内没有恢复完成事件),未进入导出;剩余实验停止。 同期 CUA 明确报告 Mac 锁屏;是否与该超时有因果关系尚未证实。生产 C++ 的等待值未改动。 之后在解锁状态下,真实 IG 案例完成原生恢复与 1507 帧导出;这是一次成功实测,不是恢复超时根因已解决。 证据:`work/acceptance-1150/photo-gif/tail-evidence/`(逐帧 PTS、六张首末帧、真实门禁结果)、 `ui-comparison/`、`after-ui-export-readback.json` 和 `drain-diagnostic/diagnostic.json`。 ### 支持范围收缩与真实案例补验 - 会员素材移除:两个已确认的本机缓存包共 103,427 字节移入系统垃圾篓;移动前后逐文件哈希一致,可恢复。其他资源、历史草稿与失败证据未删除。应用资源列表仍可能显示可下载条目。 - 验证:9 项当前视觉资源检查、30 项导出防护、21 项包装/版本/媒体检查通过;源码包检查、项目及已安装 Skill 结构检查、已安装入口 `doctor` 通过。历史付费效果的正向用例改为拒绝测试,不沿用原计数宣称付费功能仍受支持。 - IG 冷重开:23 轨、154 段、39 素材、50.233333 秒保持一致;`187.0.0`、四镜像一致、来源未变。证据为 `work/hypit-case-20260919/cold-reopen-final.json`。 - IG 音频:7 段对齐的相关系数为 0.9871–0.9999,偏移不超过 0.0625 ms;16 kHz 重采样的浮点峰值约 1.033,存在少量超满量程样本,不把数值对齐等同于主观听感或响度全部合格。证据为同目录 `audio-check.json`。 - 字体、裁切、个别补充画面差异与渲染间歇少帧问题均未因本次补验而消失;未声称全量适配或 1:1 视觉还原。 ### 无界面实现诊断补充(非根因修复) - 原 149 / 150 帧样本的 build、helper、素材相同;消除任务目录差异后,输入与引擎回读时间线完全一致。 两个 MP4 的媒体区都被音视频包完整覆盖,没有已写入却未列入索引的剩余字节。 共同的 149 个视频包中 148 个字节相同,差异集中在结尾;仍不能确定帧在何处丢失。 - 仅在本地诊断副本增加底层日志和时间记录,真实 IG 再次导出 1507 帧。此次先编码收尾、写 trailer、 关闭文件,再发完成回调;不支持用“多等几百毫秒”解释这条成功路径,不代表历史失败路径已查明。 新旧 IG 输出的媒体数据区相同、容器信息区不同,整个文件哈希不同,不宣称逐字节一致。 - IG 既有图片的 5 秒无配音/有配音控制各一次,均 150 帧;不复用为公开展示,不排除间歇或 GIF 特有问题。 - 历史恢复超时已定位到 driver 提交后的 `prepareInner setSequence`,尚未到最终恢复回调或导出启动。 旧日志没有底层准备阶段记录与失败时线程栈;当前成功运行不能填补这份证据缺口,也不能证明锁屏因果。 - 未改生产等待、导出参数或门禁。仍需采到一次真正失败的底层帧计数/EOS/flush 日志,或准备阶段 卡住时的线程栈,才能实施有证据的修复。最小复现实验、诊断源码和三次结果保存在忽略目录 `work/render-diagnosis-20260919/REPORT.md`、`evidence.json` 与各 job;不属于发布附件。 - 后续专门重放历史 photo/GIF 故障输入:两个观测版、两个原版交错执行,最多四次、失败即停。 四次均 150 帧,原版 helper 与当初故障时 SHA 完全相同,输入/运行时间线及素材一致,历史失败文件未变。 观测版记录编码 EOS、flush、trailer/close 先于完成回调;仍未复现失败,不声称已修复或将观测结果泛化。 停止追加同条件盲重跑,仍缺真实失败当次的底层帧计数或准备阶段线程栈;这些旧样本仅本地诊断, 没有上传或替换公开 IG 演示。证据为同目录 `old-pair-evidence.json`。 ## 2026-09-15:历史源码包装预览 这是包装、路径迁移和来源整理,不是剪映全部功能或所有机器的完整兼容测试。 以下结果来自 2026-09-15 对本次发布快照的实际执行;没有实测的项目不标为通过。 - 原始本机实现和已安装 Skill 保留,没有被这份发布快照覆盖。 - 已从所收录的 C++ 源码重建 codec,SHA-256 与原有已验二进制完全一致: `b6533eb5eb1eea58dfa74fb1d16d3bb580970fe881f587605d358af1745f971d`。 - 未完成另一台干净机器验收;不同编译器/SDK导致的输出差异会被固定哈希拒绝。 | 本次检查 | 结果与范围 | | --- | --- | | 安装入口体检 | 11.4.2 的应用版本、build、官方库与 codec 哈希通过 | | IO 来源核对 | `SOURCE_MANIFEST.json` 中原文件 SHA 一致,选出的 32 个定义 AST 完全一致;不是洁净室重写 | | 打包测试 | 10/10:跨工作目录定位、独立 Skill 配置、缺失/相对路径拒绝、核心篡改拒绝、严格 JSON、快照/链接、目录迁移与越界拒绝 | | 原有功能回归 | 149/149;使用本机保留的既有测试 fixture,只读源资料,变更写入新的隔离测试目录 | | Skill 校验 | 标准结构校验和只读私有发布预检通过;不是远端推送或安装器可发现性验收 | | 源码包检查 | 语法、常见隐私模式、相对链接、组件/资源/来源哈希与 Git 跟踪边界通过;不等于完整漏洞/秘密扫描 | | 新包合成 build | 2 秒、3 轨、4 片段,分段与 1.5 倍速度、旋转画中画、中文字幕;结构和全部来源字节检查通过 | | 新包原生导出 | 640×360、30 fps、60/60 帧、H.264/AAC、标准 `isom` MP4;完整解码通过;容器时长 1.999998 秒 | | 本次画面检查 | 0.5 秒和 1.5 秒抽帧实际查看:测试图案、旋转画中画、中文字幕与变速后的源画面可见 | | 未做 | 新发布快照的剪映 UI 打开/保存/冷重开、人工听感、其他机器/工具链、所有效果组合 | 原有回归明细:基础草稿 24、关键帧 10、图片/GIF 7、蒙版 12、转场 10、视觉效果 19、 独立副本编辑 17、复合结构 22、导出防护 28,合计 149。复合首页登记拒绝属于必须通过的 防护项,不是将其可编辑交付标为通过。 可复现命令: ```bash python3 tools/build_native_codec.py python3 skills/yichen-jianying-edit/scripts/headless_draft.py doctor python3 tools/check_package.py python3 -m unittest discover -s tests -v python3 tools/smoke_test.py --export JY_NATIVE_EXPORT_TEST_WORK="$PWD/work/export-guard-checks" python3 engine/test_native_export.py ``` `smoke_test.py` 自行生成合成素材,保留随机唯一 `work/package-smoke-*` 中的计划、 日志、build、导出及 `smoke-result.json`;不调用 ASR,不使用用户媒体,不登记首页。 其他历史专项测试的 `--fixture` / `--build` / `--capture` 参数需要另行提供匹配测试资料; 这些本机原始资料不随仓库分发。原始本机测试结果与本次发行快照检查分别记录。 ## 既有本机验收背景 在打包前,现有本机 11.4.2 工作流已对多轨视频、文字、本地音频、图片/GIF、线性 关键帧、六类静态几何蒙版、叠化和三个已采集视觉资源做过分项原生测试。 新建草稿、原生打开/保存/冷重开、隔离导出和画面比较是不同证据层级,不能互相代替。 这些历史测试的原始素材、截图、用户草稿和日志不随源码发布。 ## 始终保留的边界 - 复合片段的正式首页登记仍被拦截:冻结快照导出可用不代表嵌套草稿保存持久化已通过。 - 低分辨率花字曾在严格图像重合检查中未达门槛;不能声称所有分辨率逐像素一致。 - 叠化区间的同相原声音频可能叠加增益,需检查真实响度;不会静默调整。 - 部分原生资源带会员或不可商用标记;`entitlement_verified: false` 不是授权成功。 - `encoded-and-decoded` 表示编码/完整解码检查通过,不等于人眼画面和主观听感全部合格。 下一次变更需按实际影响选择验证;不得为了完成发布而降低既有版本、哈希、资源或 首页登记门禁。原生交互验收只在具备条件并有对应证据时单独报告。