OBLITERATUS Gate 3 最终基线报告解析:多维度测试质量门的量化退出准则、证据完整性与发布决策
【免费下载链接】OBLITERATUSOBLITERATE THE CHAINS THAT BIND YOU项目地址: https://gitcode.com/GitHub_Trending/ob/OBLITERATUS
OBLITERATUS 是一个面向大模型权重的机械可解释性研究工具链(仓库根目录见 README.md)。本文基于仓库内官方治理文档 .aiwg/testing/gate3-final-report.md,完整梳理其第三道测试质量门(Gate 3)的最终基线:从 12 项量化退出准则的实际测量结果,到 8 个可独立评审的交付增量、条件化证据治理与豁免(waiver)机制,再到最终发布决策的完整推理链。读者读完可以掌握:如何为一套面向模型研究与权重操作的代码库设定可测量、可审计、可复现的测试深度门槛,以及如何用签名提交、精确头部审计和失效即关闭(fail-closed)的声明边界来管理"暂不支持"的环境缺口。
Gate 3 在整个测试质量计划中的位置
在深入最终报告之前,需要先理解 Gate 3 的上下文。根据 .aiwg/testing/master-test-plan.md,OBLITERATUS 的测试质量计划被组织为若干"波次"(Wave)与"门"(Gate)层层递进:
- 基础层:Python 3.10–3.12 密闭(hermetic)矩阵、已安装 wheel/sdist 冒烟测试、精确基线覆盖率对比、90% 变更行底线、风险地图(ci/test-risk-map.json)、质量策略(ci/test-quality-policy.json)、可重复性与变异测试证据、条件化工作流以及供应链作业。
- Gate 1(Wave B1):高后果 CPU 契约,允许旧的贡献者合并列车恢复,一次一个精确头部 PR。
- Gate 2(Wave B2):离线垂直切片与可靠性,本可恢复普通新功能开发,但被后续的 Gate 3 取代。
- Gate 3(Wave C):将 Wave C 从开放式改进方向转换为下一道强制性交付门。
关键原则在计划中写得很清楚:测试数量本身不是成功指标。每个增量必须保护一个具名行为、在刻意引入实现缺陷时失败,并且至少改善以下一项:oracle 强度、失败路径覆盖、变异抗性、环境证据或确定性重放。
Gate 3 最终报告(.aiwg/testing/gate3-final-report.md)记录的日期为 2026-08-16,其测量的规范提交(canonical commit)为42b30f7e5b8ee596b3b0b039b10af16f01deec1e,通过 PR #111 以签名保留的快进(signature-preserving fast-forward)方式集成。
退出准则(Exit Criterion)测量结果:12 项全绿
最终报告首先以表格形式给出全部 12 项退出准则的"规范结果"(canonical result)。这是整份报告的核心事实层,必须完整保留:
| 门(Gate) | 规范结果 |
|---|---|
| 强制性 Python 3.12 通道 | 2,119 个被选中测试通过,9 个条件化测试被策略剔除,0 失败/错误/跳过,耗时 123.069s |
| 仓库覆盖率 | 83.49% 语句 / 71.04% 分支;底线为 80% / 65% |
| 成熟 CPU 覆盖率 | 94.02% 语句 / 84.54% 分支;不可变底线为 94% / 84% |
| 变更可执行行 | 95% 阻断底线;Gate 3 生产增量全部达标,包括第 7 项的 58/58 |
| 选定变异测试 | 1,844/2,057 被杀死(89.65%);208 个存活、5 个超时;阻断底线为 85% |
| 可重复性 | 三种顺序/哈希种子各 702 个测试通过;0 波动、失败或跳过;总计 50.907s |
| 时长 | Python 3.12 完整套件 123.069s、重复门 50.907s、变异 1,872.35s;全部在 10m/5m/45m 预算内 |
| 可移植性与交付 | Python 3.10/3.11/3.12、Windows 检查点契约、打包、Ruff/actionlint、供应链全部通过 |
| 软件条件化证据 | 精确头部运行 31950226930 与规范运行 31952128889 通过策略、固定模型、外部评估、回环网络、操作员 UI 与最终新鲜度摘要 |
| 加速器操作员证据 | Titan(RTX 4090)通过 CUDA 与 bitsandbytes;Mutsu(Apple M4 / 16 GB)在签名实现头部fa233fd8c97d2a1463141535f2a288b264abe93b通过 MPS 与 MLX |
| 非计划环境 | GitHub 加速器 runner 注册与远程执行在 issue #110 下,截至 2026-09-15 保持明确的"不支持/不保证正确性/不保证性能"豁免 |
| 评审完整性 | PR #111 在不可变头部被审计,无发现项或评审线程,通过全部八个强制性作业,并在main上保留了四个发布密钥签名 |
这些数字背后的强制底线定义在 ci/test-quality-policy.json 中,minimums字段明确了:仓库语句 75.0、仓库分支 60.0、变更行 50.0、成熟 CPU 语句 94.0、成熟 CPU 分支 84.0、变异分数 85.0、警告预算 0。注意最终报告中 Gate 3 的退出指标(80% / 65% / 94% / 84% / 95% / 85%)均高于策略 JSON 中基线底线,这正是"门"与"日常强制底线"的关系:门是阶段性交付目标,底线是不可退让的持续约束。
校验逻辑的落地实现位于 scripts/check_quality_policy.py,例如其BASELINE_FLOORS字典与_valid_exception()函数负责检查阈值豁免(threshold exception)必须满足"新值等于当前值、理由非空、指向仓库 issue、且带过期日期"的严格结构,防止有人通过配置化豁免悄悄降低门限。
成熟 CPU 作用域与条件化门:覆盖率数字是怎么圈出来的
83.49% 语句 / 71.04% 分支是"仓库覆盖率",而 94.02% / 84.54% 是"成熟 CPU 覆盖率"——两者差异来自 ci/test-quality-policy.json 中的mature_cpu_scope定义:"除那些本质上需要真实模型运行时、外部服务、交互式 UI 或远程/硬件执行的边界模块之外的全部源码模块。"
该 JSON 共列出 15 个排除项,每个都带有明确的边界类型(boundary)、理由(rationale)与条件化门(conditional_gate),例如:
obliteratus/abliterate.py(boundary: model-runtime)——未覆盖路径会加载、变异、生成或保存真实 transformer 架构与加速器专属权重;obliteratus/bestiary_sync.py(network-service)——通过 HTTP 或操作员提供的服务构件读取外部 BESTIARY 目录;obliteratus/evaluation/heretic_eval.py(external-evaluator)——发表级评估依赖下载的基准数据、分类器、在线模型与 lm-eval;obliteratus/local_ui.py(interactive-ui)——浏览器、端口、认证、Gradio 启动与信号行为需要操作员 UI 环境;obliteratus/remote.py(remote-execution)——SSH 发现、传输、执行、取消与结果同步需要已认证的远程主机。
这些被排除的路径不是"免测",而是被映射到 ci/conditional-test-policy.json 中的条件化门。该文件定义了 10 个门,每个门都有 id、job、marker、runner、前置条件、预期成本与覆盖路径,例如:
model-download-runtime(job: model_runtime)——下载固定的hf-internal-testing/tiny-random-gpt2(revision 固定),覆盖obliteratus/models/loader.py、obliteratus/informed_pipeline.py、obliteratus/sweep.py等 10 个路径;external-evaluation——覆盖heretic_eval.py、lm_eval_integration.py、tourney.py;network-services——仅需回环网络、无凭证,覆盖bestiary_sync.py、models_client.py、watchtower.py;operator-ui——使用锁定的 spaces extra、无公共监听器;cuda-runtime/bitsandbytes-runtime/jetson-runtime/mps-runtime/mlx-runtime/remote-execution——各自有自托管 runner 与开关前置条件(如ENABLE_CUDA_GATE=true)。
这套"排除 + 条件化映射"的机制,正是报告能够声称"成熟 CPU 覆盖率 94.02%"而不虚报的前提:边界模块的真实运行时行为由对应条件化门承担,CPU 可测决策逻辑则由强制通道兜底。
八个交付增量:逐项展开的实现事实
最终报告用一张表记录了 Gate 3 的 8 个规范提交(前 7 个在 .aiwg/testing/master-test-plan.md 中有更详细的描述):
| 项 | 规范提交 | 交付内容与受保护行为 |
|---|---|---|
| 1 | 256c39ea6a492749a4db44146830e9d78fd3fed8 | 采用量化 Gate 3 策略、时长预算与初始测量 |
| 2 | 2c2b38b501f94af46ffac3a772f7bf9475154dc5 | 新增独立数值、属性与蜕变 oracle(PR #102) |
| 3 | c1b34503ddd3cb797e5d70671c47afcabfe73832 | 新增 loader、架构、dtype、量化与共享权重决策契约(PR #103) |
| 4 | d7d2ad566af778b1d315616bbea8b8a3c4dd2191 | 新增检查点故障注入、原子性、重试、清理、并发与 Windows 契约(PR #104) |
| 5 | aa182cc44883890c019c393f17602e2e2702e7d7 | 新增 BESTIARY、模型客户端、传输与 watchtower 状态契约(PR #105) |
| 6 | 9683e0be4d892e6a6a134b45a065e591e139da3c | 新增锦标赛、交互式与 UI 决策缝契约(PR #108) |
| 7 | b961623513a0e137b959f608ce31511d59e85888 | 新增微型模型垂直切片与安全的量化/权重绑定恢复语义(PR #109) |
| 8 | 42b30f7e5b8ee596b3b0b039b10af16f01deec1e | 新增条件化证据治理、过期声明豁免与功能性同版本 CUDA Torch 覆盖层(PR #111) |
逐项展开关键细节:
- 第 1 项(策略采纳):.aiwg/testing/test-execution-report.md 显示其将变更行底线从 90% 提升到 95%,且 95% 被设为不可变(immutable)值,只有满足"已评审、关联 issue、限时"的阈值例外契约才能调整;同时新增 JUnit 归一化,保留套件墙钟时间、每个测试用例时长、已注册的测试层 marker 与 marker 聚合。
- 第 2 项(数值 oracle):围绕投影幂等性、正交性、范数界、排列与标签不变性、dtype/容差行为、奇异与非有限输入、确定性种子与序列化稳定性添加属性与蜕变测试,并用独立参考计算断言小张量,而非断言生产辅助函数自身的中间值。对应测试见 tests/test_projection_math_contracts.py、tests/test_property_contracts.py、tests/test_whitened_svd_oracles.py。
- 第 4 项(破坏性操作可靠性):覆盖部分写入、fsync/replace 失败、损坏或截断检查点、每个状态转换处的取消、清理失败、幂等重试、并发写入者与保存/重载不变量;对应 tests/test_checkpoint_atomicity.py、tests/test_persistence_contracts.py、tests/test_persistence_pipeline.py。
- 第 7 项(微型模型垂直切片):将已安装的微型模型切片扩展贯穿模型变异、范数恢复、检查点往返、评估与报告生成,并加入整数/量化存储语义、绑定/共享权重、不支持的布局与显式数值损失预期;精确的 Float 转整数恢复回归(58/58 变更行覆盖)是本项亮点。
- 第 8 项(条件化证据治理):详见下一节,是最终报告最核心的机制创新。
另外,AIWG 工作区与 CI 契约在e8ac3b65670d696ed5b68f06adf14706bc2ff865(PR #107)被刷新与对账,部署的 AIWG 版本为 2026.8.11,生成式 provider 上下文通过 .aiwg/aiwg.config 路由 tracker 与交付权威。
证据完整性与声明边界:豁免如何"失效即关闭"
这是最终报告中技术上最有价值的部分,也是 .aiwg/testing/gate3-increment-8-report.md 详细展开的主题。核心机制可以概括为 6 条契约:
- 每个不可用条件化通道都必须有一个版本化豁免,命名其门、规范 issue、原因、开放日期、过期日期以及被阻断的确切声明。
- 豁免最长 30 天。缺失字段、非对象记录、重复门、未知门、仅软件的门、无效 issue URL、无效或未来日期、日期颠倒、生命周期过长与已过期记录,都会使策略校验失败——校验实现见 scripts/check_quality_policy.py 中的日期与字段检查逻辑,以及 tests/test_conditional_gate_scripts.py 中的
waived_no_support_claim与not_selected_no_fresh_evidence状态断言。 - 未被选择但处于活动豁免的门被输出为
waived_no_support_claim,带 tracker、过期时间与被阻断声明;未豁免的未选择门保持not_selected_no_fresh_evidence。 - 选择并成功执行一个被豁免的门会产生
success,从而用真实证据取代豁免;被选择失败依然是失败,包括共享的 CUDA/bitsandbytes 作业失败。 - 过期或畸形豁免也会使最终摘要失败,防止陈旧的记录在策略作业之后变成静默的绿色结果。
- 强制性 Linux CI 保持纯 CPU。被选择的 CUDA 通道从锁定的 CPU Torch 包推导出精确的基线版本,仅用相同版本的官方
cu130构建替换 Torch,断言结果构建暴露 CUDA,并在硬件探针之前运行uv pip check。
第 8 项报告中还给出了具体的环境核查事实:gh variable list与gh secret list在 2026-08-16 均无已配置条目;runner 清单接口因 token 缺少仓库 runner 读取权限返回 HTTP 403;实况只读检查确认 Titan 拥有 RTX 4090 与活动的 Gitea runner,Mutsu 是 16 GB Apple M4 构建机,两者都没有暴露 GitHub Actions runner 进程——因此豁免覆盖的是GitHub runner 注册与计划自动化,而非硬件缺失。
ci/conditional-test-policy.json 中保留了这 5 个活动豁免(cuda-runtime、bitsandbytes-runtime、mps-runtime、mlx-runtime、remote-execution),每个都有issue(统一指向 issue #110)、opened(2026-08-16)、expires(2026-09-15)与blocked_claim(例如 "CUDA runtime support, compatibility, correctness, and performance are not claimed while this waiver is active.")。过期日期的选择正是 30 天上限的直接体现。
操作员探针(operator probe)的方法学
Titan 与 Mutsu 的硬件探针使用了高度受控的方法,报告逐条列出以限定其声明边界:
- 隔离的临时目录;
- 校验和验证的 uv 0.12.4 二进制;
- 受管的 Python 3.12.13 运行时;
- 精确的签名源码归档与已提交的依赖锁;
- 证据取回后移除临时远程目录。
最终报告中特别强调:"这些探针只建立被记录的操作。它们不会取代计划的 GitHub 通道,也不会创造广泛的加速器支持、兼容性、正确性或性能声明。"这是"条件化证据"与"支持声明"之间的关键区分:探针证明"此刻在这台机器上这些操作可执行",而非"该环境被官方支持"。
证据位置与 SHA-256 锚点
最终报告给出三类证据位置,供审计者精确重放:
- 规范 CI 与条件化运行:规范强制性运行 31952112615(八个强制性作业首轮全部通过)、精确头部条件化运行 31950226930、规范条件化运行 31952128889;
- 本地下载的工件:
/tmp/obliteratus-item8-final-head-eJ79m7(精确头部条件化工件)、/tmp/obliteratus-item8-quality-au2hsV(精确头部质量工件)、/tmp/obliteratus-item8-canonical-b7MJu4(规范 CI 与条件化工件)、/tmp/obliteratus-item8-hardware-evidence-GqqBSm(硬件 JSON/JUnit 证据); - 逐增量报告:
.aiwg/testing/gate3-increment-2-report.md至.aiwg/testing/gate3-increment-8-report.md,其中增量 8 的详情见 .aiwg/testing/gate3-increment-8-report.md。
规范 SHA-256 锚点(用于防篡改校验):
| 内容 | SHA-256 |
|---|---|
| 变异统计 | 143c42b579c91f5dc6d1d82fd74d10c0295056dd913986da178eb22b4e491275 |
| 质量趋势 | 11038dbd3f27c152cf057a3ae806a845cefab8dec9b55fbd26b5fe94c4cf21bb |
| Python 3.12 覆盖率 | 3b69fe70763b0c8fc82875a4bc9febca203a7b4c384be4605c7d1746ae0ab230 |
| 条件化摘要 | bc72408d88b4d2c480ebfaeae958a4ad0db0d13790adaa1ac52aee1f92e48671 |
同时,第 8 项报告记录了签名事实:所有 8 个 item-8 提交均签名且验证通过,发布密钥指纹为62297562B1C7053088F405DB0117DAAA677A5BF2,PR #111 在main上保留了四个发布密钥签名。
发布决策:测试深度暂停的解除条件
最终报告的结论部分给出了清晰的决策逻辑:
- 被测量的规范提交满足每一项量化 Gate 3 准则:CPU、覆盖率、变异、可重复性、可移植性、交付与新鲜软件条件化证据;
- 没有活动的波动测试隔离(flaky quarantine),也没有任何被选择的门通过跳过或重试转为绿色——这排除了"用重试掩盖失败"的常见漏洞,与 .aiwg/testing/master-test-plan.md 中"失败的必选活动不得通过重试转为绿色"的规则一致;
- 剩余的加速器与远程缺口是可见的、有归属的、过期的、阻断声明的(claim-blocking),而非被静默当作支持证据;
- 在完成本报告项(item 9,报告专用提交)的精确头部审计、强制性 CI、签名集成与合并后对账之后,测试深度暂停可以结束,贡献者合并列车可以一次一个不可变 PR 头部恢复。
值得注意的是,报告期为 2026-08-16,而豁免截止 2026-09-15(当前环境时间 2026-09-15 恰好是豁免到期日)。到期前维护者必须二选一:配置并运行匹配的门,或在 tracker 下评审并替换豁免——这正是第 8 项契约设计的目的,防止豁免无限期沉默续期。
从报告反推:可复用的测试质量门设计要点
综合 .aiwg/testing/gate3-final-report.md 与其支撑文件,可以把这套体系提炼为可迁移的设计清单:
- 量化门限要分层:仓库级底线(宽松)与门退出指标(严格)分离,策略 JSON(ci/test-quality-policy.json)是单一事实源,脚本(scripts/check_quality_policy.py)与 CI 共同执行;
- 覆盖率要有"成熟作用域":明确列出因运行时本质而排除的模块,并为每个排除项指派条件化门(ci/conditional-test-policy.json),避免"为覆盖率而 mock 掉被测行为";
- 变异测试要有范围与底线:85% 的聚合底线不允许把新增/变更的纯契约逻辑留弱规格;每个增量需报告被杀死的变异体与检测到的缺陷;
- 环境缺口要显式豁免:豁免必须带门、issue、开放/过期日期与被阻断声明,最长 30 天,畸形或过期即整体失败,绝不静默降级;
- 证据要可重放:精确提交哈希 + 依赖锁 + SHA-256 锚点 + 独立报告文件(如 .aiwg/testing/coverage-report.md、.aiwg/testing/regression-report.md、.aiwg/testing/test-execution-report.md),让审计者不需要信任报告者的转述;
- 发布决策要留后门:即使全部量化准则通过,剩余缺口也要"可见、有归属、过期、阻断声明",并明确解除暂停的具体条件(精确头部审计 + 签名集成 + 合并后对账)。
这套方法论的完整上下文还可以在 .aiwg/gates/test-quality-gate.md(Gate 1 决策记录)与 .aiwg/requirements/UC-testing-quality-program.md、.aiwg/risks/risks-testing-quality-program.md、.aiwg/security/screening-testing-quality-program.md 等支撑文档中找到,它们共同构成了 OBLITERATUS 从"功能性正确"走向"可证明质量"的完整证据链。
【免费下载链接】OBLITERATUSOBLITERATE THE CHAINS THAT BIND YOU项目地址: https://gitcode.com/GitHub_Trending/ob/OBLITERATUS
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考