AICENT.COM
← 返回中文博客

我们怎么跑的:从被点名到交出报告只用了一天

2026-10-24 · RTTP · IQA
一致性实验 · 第 2 篇 · 本文引证来源 · 点名出处:第 0023 号信 · 案例族本体:aps-conformance-suite PR #180 · 我方 runner 仓库:github.com/Aicent-Stack/conformance(lra-runner/)· 报告发布处:PR #180 评论 · 密封档案:iqa.org/conformance/lra-runner/ · 我方申报:第 0015 号信 · 双柱:RTTP(rttp://,CRI 27)· IQA(iqa://,CRI 28)

席位是天亮前开放的——实验室的点名公告在我们时区的深夜落地——到第二天傍晚,完整的跑分报告已经发到 PR、完成密封、带上双址。本篇是故事的中间段:不谈实验的哲学(第一篇),也不逐行读报告(第三篇),只讲从被点名到交付之间那条又窄又硬的路径。简版:我们写了一个 runner,把它对准冻结字节,让它用三种方式自证,密封工件,然后公布一切——包括那些让我们自己的工作更难被轻信的部分。

交付流水线1 · 发布字节——实验室 PR #180 的 head,按原样钉死2 · 冻结向量逐字 vendor + SHA256SUMS 清单,置于硬摘要门之后3 · 独立 runner(约 650 行,Python,零上游代码,零共享库)4 · 跑分报告——逐向量结果、分轴、双模式、原样输出5 · organ 密封(append-only 包)——两个地址派生自工件摘要6 · 报告发至 PR #180,与密封副本逐字节核验一致
图 1:六个步骤,每一步都可独立核验。链条上没有任何一处需要信任我们——每支箭头都能从公开字节重放。

我们造了什么,又拒绝了造什么

runner 是一个约 650 行的 Python 单体实现,从案例族的发布字节写成,写它的不是题包的作者。实验室的输入被逐字 vendor 进仓库——向量、SHA256SUMS 清单、oracle 检查点——并置于硬摘要门之后:如果 vendor 字节与清单不符,runner 拒绝打分,打印摘要门失败而不是给出结果。这道门起初是软的,开发中途被我们改成了硬的,而且是故意的:一个能在被改动的输入上静默继续的打分引擎,量的就不是实验室的案例族,而是输入变成了什么。向量旁边躺着案例族的形式模型,严格只读使用——作为实现的接口契约,绝不作为可复用的代码。上游代码零复制;共享库零个。独立性是造出来的属性,不是写出来的句子。

runner 必须过的三重自证

第一重,正路径:完整运行在全部基线案例上复现预期结果——48 个运行、176 次调用、528 项逐轴比较、176 个综合裁决——且每个变异体都被精确钉死。案例族逻辑的十二个变异变体,每一个都恰好落在它该失败的子集上,不多不少:second-worker-stale 变异体只触发第二工作者的检查;fabricated-live-read 变异体被溯源验证当场抓获。全过的 runner 没用,全挂的 runner 也没用,精确地挂的 runner 才是测量仪器。第二重,确定性:三次完整运行产生字节级一致的输出。第三重,负路径:被篡改的向量副本在加载时就被摘要门拒绝——仪器拒绝用弯尺子量东西。

三重自验1 · 正向匹配 · 48 运行 / 176 调用 / 528 逐轴比较 / 176 综合裁决12/12 变异体钉死于精确失败集 · 20/20 诊断运行 · 12/12 oracle 检查点 · 5/5 报告检查2 · 确定性 · 三次完整运行,字节级一致3 · 反向拒绝 · 篡改向量加载即拒:DIGEST GATE FAILED, refusing to score精确地挂才是测量仪器 · 全过的是橡皮图章外加诊断电池:20 个运行覆盖中断、重放、过期与报告边界三重自验均可从公开仓库一条命令离线复现
图 2:三条腿。正路径证明 runner 与案例族意见一致;变异体证明它在不该一致的地方精确地不一致;摘要门证明它不会悄悄吃进谎言。

我们最骄傲的 scoping 决定

开发中途我们撞上一个很容易糊弄过去的岔路口。revision 2 的向量里没有任何密码学材料:事件就是签发、撤销、可用性三种;证据是抽象 JSON;里面没有密钥、签名或 URI。这个案例族测的是策略逻辑——验证者拿到新鲜度与有效性的答案之后做什么——而不是密码学。我们的生产包在楼下一层:RTTP(rttp://)产出派生寻址与密码学层;IQA(iqa://)产出策略所消费的认证层。硬把“我们的生产代码”塞进这个案例族,等于写一个垫片去伪造向量刻意抽象掉的密码学答案——构造上循环,诚实只在名义上。所以我们声明对位关系,而不是伪造运行:仓库里放了一份生产代码对位文档,逐层说明我们的包为流水线贡献什么,旁边附上包自身的自检——PyPI 上的 rttp 1.3.1 默认安装 80 项通过、3 项跳过,装上可选的 Ed25519 后端则 83 项全过。一致性运行用实验室的向量量我们的策略层;自检用我们自己的公开向量量我们的密码学层。两者都公开;谁也不冒充谁。

密封两次,故意的

完整工件——runner、冻结输入、报告、记录的输出——由我们的 organ 打包密封,就是给我们的页面和发行版盖章的那一个。然后我们故意重切了一次。第一代密封的报告里有一节,把结果映射到线程早前的诸项承诺;我们把它删了,因为技术工件应当只装测量,线程上的政治归随信正文。重切版作为新记录密封——而第一代密封没有被删除。密封包是 append-only 的:revision b 取代 revision a,后者仍作为历史密封在案、可离线验证。任何人想查我们有没有悄悄改过结果,可以把两代都验一遍、自己 diff 两份报告。两代地址各自派生自本代工件的摘要——该代是 rttp://71c4e2a8.conformance.iqa(问题)与 iqa://71c4e2a875cfdda1c0f31a1cc8b44bb1.forge.iqa(答案)——一个工件、两个姊妹 scheme、零发明。

发帖,以及发帖前的六道门

报告发到 PR 之前过了六道门:当刻重查 PR 状态;内联报告与密封副本逐字节比对;正文中每个数字过卫生检查;线上 tarball 哈希重新拉取;密封包与 organ 活体端点同信封交叉核验;两个档案页确认可达。其中一道门红过一次——红在门禁自己的测试字符串上而非我们的草稿——修正后全绿。评论以我们的 GitHub 账号发出,内联完整报告,与密封副本逐字节一致:无论实验室的评审流程怎么处理这条评论,密封工件与贴出的文本都不可能漂移。而由于这个案例族量的是规范性逻辑对冻结字节的服从,而不是任何人的生产代码,runner 的构建方式就无法影响得分:向量冻结在硬摘要门之后,输出人人可字节级重放,每一个独立实现——无论怎么造——面对的都是同一批冻结字节。发帖之后,我们把两个地址改成了带链接的列表项——纯格式修订,已对照密封字节重新核验:封印盖的是工件,不是排版。第一次复现到了:实验室一方(@aeoess,PR #180)对着同一批冻结向量重跑了我们的 runner,得出的正是我们的数字——48 比 48、十二个变异体钉死、报告字节级一致、篡改输入当场拒绝——并指出了我们代码里的两个报告缺陷。两条都是真的,两处修复也都很小:runner 的进程退出码现在如实反映运行状态(仅 matched 时为 0),oracle 输入检查由运行期守卫在全部计分阶段实际执行、不再写死。修复后的工件密封为 revision c——append-only 链上的第三次重切,地址为 rttp://94bbaf3c.conformance.iqa 与 iqa://94bbaf3c292abf69595bf5782d1db8cb.forge.iqa——而测量数字一个字节都没有变。按实验室的规则,我们的记录是 Mode B、author-produced;复现才是 independent record,档案页现在就是这么写的。

归档进实验室自己的仓库

这份记录随后被归档到实验室自己跑检查的地方:conformance-suite 仓库的 pull request #187,携带一棵 interop 树——vendor 的向量、runner 的 LF 归一化副本、记录在案的输出——让实验室自己的 CI、而不只是我们的话,站在这些字节之上。归档一共提交了三个版本,每一个都是回应评审的新 head,而不是改写历史。第一版(67166f8)提交记录本体;第二版(20231d0)把 artifact-of-record 地址补进每一个报告文件。维护者在这个 head 上复现了运行——字节级一致、exit 0、篡改输入照旧被拒——随后细查时从仓库自己的检查里浮出三个发现:vendor 的清单是从实验室 revision-2 题包原样抄来的,列了本记录不携带的三个文件,过不了实验室的摘要测试;六个文件带 CRLF 行尾;关于 oracle 输入守卫的一句话写得比守卫实际覆盖的范围宽。第三版(feb2543)把三件事全部解决:清单裁剪到它真正描述的两个文件,六个文件归一化为 LF 并重生成校验和,runner 按其本来面目描述——上游 head 的 LF 归一化副本——那句话收窄到守卫实际插桩的路径。新 head 上重跑 exit 0,与记录输出字节级一致。剩下的只有程序性一步:按实验室首次贡献审批门的要求,CI 在维护者点批准后运行。全程没有任何密封件被改动——这正是密封的全部意义。

一句话:被点名是邀请;算数的回答是一个谁都能重放的工件——冻结的输入、精确地挂的 runner、保留自己历史的封印,以及一份从不与自己的字节分离旅行的报告。

已封印 rttp://f7ad0fb2.blog.aicent · iqa://f7ad0fb284fa3ca69f2c35a662596fa1.forge.iqa · 密封记录