AICENT.COM
← 返回中文博客

一份家族,两本账——五条拒绝词汇记录进入第二家实验室的测试记录

2026-11-05 · RTTP · IQA
本文引证来源 · 邀请原帖(逐字): Sankalp Gilda,WIMSE 列表,2026 年 10 月 30 日 · 本次投放: probityai/agent-evidence-vectors,issue #453 · 先例示范: issue #412(两条向量,一条边界留作开放冲突) · 两家族(已封印,逐件 SHA-256): iqa.org/conformance/aicent-grant-ref/ · iqa.org/conformance/aicent-lease-boundary/ · 第一本账: 实验室 PR #210 · 实验室 PR #212(11 月 3 日合并) · 记录锚定的文本: draft-li-rttp-iqa-addressing-02(取回 TXT 钉于 sha256 02491c5a…) · 姊妹两篇: 拒绝是一种答案 · 边界是一种声明 · 姊妹双柱: RTTP(rttp://,CRI 27)· IQA(iqa://,CRI 28)

10 月 30 日,IETF WIMSE 列表上,ProbityAI 的 Sankalp Gilda 在回答一个关于闭集的问题时,顺手推开了一扇门:「A test record from you would help. An issue on probityai/agent-evidence-vectors with the record you expect and its verdict is enough, and it goes into the test records under your name.」(交一份测试记录会有帮助。在他们的仓库开一个 issue,附上你期望的记录和它的判定就够了,会以你的名义收进测试记录。)Wes Jackson 已经示范过这条通道走得通——他的 issue #412 对自己的草案提交了两条向量,一条定为回归,一条刻意留作开放冲突。11 月 5 日咱们交了 issue #453:从两个向量家族里取的五条记录,同一套二十五加十五个用例,已经作为 PR #210 和 #212 并入 LFDT Agent-Authority-Conformance 实验室主线。一份冻结向量,两本独立账本。本文记录的是第二本账里放了什么,以及第二本账为什么重要。

一份冻结家族 · 两本账同一套向量,两次归属——一条治理主线,一份署名测试记录第一本账 · 实验室主线Agent-Authority-Conformance(LFDT 实验室)通道:pull request——候选家族成为语料评审 · merge commit · 共享候选索引#210 → 0da1e29 · #212 → 29423aa · 11 月 3 日实验室记录运行,不认证任何东西第二本账 · 测试记录probityai/agent-evidence-vectors(ProbityAI)通道:issue——一条记录进入他家账本事实 + 期望判定 + 裁决所依的规则#412 → Wes Jackson 交 · #453 → 咱们交署名随提交者保留,机制使然两条通道,一个纪律:记录自带引用——家族、仓库、操作者——两本账本都不改动冻结的字节25 用例(aicent-grant-ref)+ 15 用例(aicent-lease-boundary)· 四件套封印、逐件 SHA-256,存于 iqa.org/conformance
图 1:两本账。治理主线经评审与合并收下整个家族;测试记录通道经一条 issue 收下一条记录,并把提交者的名字留在上面。向量本身在两本账里一字未动。

测试记录是什么

两条通道的分别不是官僚流程,而是各家的运营分工。LFDT 实验室由 pull request 治理:候选家族进入评审、合并、成为此后运行引用的语料。ProbityAI 的仓库是相反的安排——他们维护语料与参考验证器,外部人贡献的不是代码而是记录:应答时在案的事实、实现可能产出的一种响应、期望判定、以及裁决所依的规则和规则所在的章节。一条 issue 就够了,因为记录自足:不需要安装什么,不需要运行什么,他家的树一个字节都不动;记录只是带着提交者的署名进入账本,它的成败系于期望能否逐句对得住所引的文本。这就是为什么邀请可以只有一句话,为什么接受它不需要谈判——需要的只是把记录写得配得上「记录」二字的纪律。

五条记录,五个陷阱

issue #453 里的五条记录不是四十个用例的抽样,而是最容易让粗心的检查器现出原形的五条。每一条都构造得让某种偷懒的读法通过相邻用例、恰好栽在这条上。

记录一——优先序双子(GR-P03 / GR-P04)。事实:应答所依赖的证据已过期,且撤销记录也在案。§8.1 的词汇表是带固定顺序的闭集,源文明说顺序是定义的一部分:理由是列表中第一个条件适用的值。于是应答 evidence_expired 合规,同样的事实的应答 authority_revoked 不合规——撤销可能是真的,但它不排第一。打「任意适用值」而非「第一个适用值」的检查器,双子中恰好过一个、恰好栽一个。集合交看不出差别;这对双子的存在就是让差别无法被错过。

记录二——无条件,无理由(GR-P09)。词汇表定义的条件全部不适用,记录表面上的操作是被允许的。响应却发出 operation_not_permitted。不合规:拒绝值只在它的条件成立时存在,背后没有条件的拒绝不是对源文的读法——是披着源文外衣的断言。

记录三——null 是唯一的 permit(GR-C04,以 GR-C01 和 GR-C03 为两缘)。permitted 的合规表示是闭集上的 null 理由。不存在肯定的「granted」值(GR-C01 捕获),不存在第六个值(GR-C03 捕获一个善意的 authority_suspended)。容忍本地扩展集合的检查器会放过 GR-C04 的邻居、栽在这里——这正是用意:闭集的意思是闭,每一次扩展都是一次分叉。

记录四——诊断读取不参与授权(GR-N04)。应答时所依赖的证据已过期;稍后一次诊断读取成功。响应给出 permit,并把 observation_as_of_ms 回填为诊断时刻——1150。这个回填恰恰就是罪证。§8.2 规定诊断读取不参与授权、不续期证据,而 null 规则更严:stale 事实下唯一合规的答案是 authority_not_determined,且连这个答案的成员也必须保持 null。它的姊妹 GR-N03 把回填后的拒绝同样判为不合规——规则不挑答案的方向,两头都管。

记录五——边界是声明(LB-D01 / LB-D02,以 D03–D05 为框架)。观察在租约瞬间的年龄恰好等于租约长度——与 Wes Jackson 的 Vector B 测试的是同一条边,他的草案判一边,AIMS 向量判另一边。咱们草案的 §6.1 取互补立场:瞬间算新鲜还是算过期,是部署方声明约定。在已声明 inclusive 边界下,瞬间给 permit 合规;在已声明 exclusive 边界下,瞬间给过期拒绝同样合规;声明与使用矛盾则不合规;没有声明时这个案子根本无法裁决(LB-D04,刻意 ambiguous)。§7.2 的帧接受规则(LB-D05)不裁决依赖约定——帧有效性与依赖是两个不同的层。评估家族需要一个数字,咱们的家族需要一句声明。

对照表 · 同一个拒绝,两份合同他家的 reason parity 是必要条件;咱们的优先序让它可复现——五条记录测的正是这个差别他家合同 · reason parity至少一个发出的代码与 expected.codes 相交集合交——顺序不进入比较咱们草案 §8.1 · 固定优先序理由是列表中第一个条件适用的值优先序是定义的一部分R-ORDER 双子(P03/P04)任意适用值恰好栽一个R-ORDER 边界(P09)无条件 → nullR-CLOSED(C01/C03/C04)null 是唯一的 permitR-NOTDET(N04)诊断 ≠ 授权R-DECLARED(LB-D01–D05)边界是声明的,不是发现的打「任意适用值」而非「第一个适用值」的检查器,上表五行里能过三行——栽在双子上的那一次,是它唯一知道自己错过的信号
图 2:对照表。集合交式的 reason parity 说「某个期望代码出现了」;优先序说「必须出现的是哪一个」。五条记录的选取标准是:两种读法的差别不必争论,可以数出来。

对照表,以对照表的身份

issue 里附了一张他家合同与咱们草案的四行对照,并且对它能主张什么很克制:是对照,不是等价。他家验证器合同把拒绝理由一致性记为集合交——在声明了期望代码的地方,至少一个发出的代码与期望相交,代码顺序不进入比较。咱们草案的 §8.1 固定的是顺序:理由是列表中第一个条件适用的值,优先序是定义的一部分。两者不是对手;集合交是必要条件,顺序是让它可复现的东西。记录们补上的,是机械地区分两种读法的能力:跑一遍双子对,检查器的顺序观就不再是解释问题。他家的瞬态语汇——audit-record 家族里的 unavailableInput——扮演的正是咱们 authority_not_determined 扮演的角色:不可达的来源永远不是实质代码,永远不被读作同意。不同的草案,同一条地板。

记录不主张什么

issue 的结尾带着与两家族 CANDIDATE 文件相同的限制声明,因为这条通道和实验室一样配得上它们。作者的运行——25/25 与 15/15 全一致、21/21 与 17/17 突变体全灭、各自 exit 0——不说明任何实现的情况,也不证明期望结果是对源文的正确读法。读法写在 CANDIDATE 文件里,欢迎逐句质疑,后续草案修订的一处更正即可覆盖检查器。第二批已备好、候有文可锚再投:missing-proof 归类向量等评估侧草案下一版的措辞决定,纪律同上——期望值只锚已发布的句子。

第二本账为什么重要

向量家族的价值在于被使用,而被使用意味着被归属。实验室主线把家族归属为语料;测试记录账本把记录归属为一次投放。两个机制结构上不同——一个靠评审治理,一个自足设计——但在要紧的事上一致:冻结的字节不动,引用随字节同行。一份家族,两本账本,每个响应上同样五个 grant reference 成员。让这套词汇值得写的那个纪律——让拒绝可审计的是理由——原来同样描述这次投放:一条带着判定和章节的记录是可审计的;没有这些的主张,只是 issue 追踪器里的噪音。

一句话:实验室收了家族,账本收了记录,向量一字未改——而引用,家族、仓库、操作者,两头都随行到位。

已封印 rttp://75e5620a.blog.aicent · iqa://75e5620a4482cb42ad3017cb449cc32d.forge.iqa · 密封记录