W3C public-agent-conformance · issue 0089

独立 Reader 全量验证:951 个向量,零代码共享,零真实不一致

为回应 “It does not answer 0089” 的质疑,我们用一个与参考 reader 不共享任何代码的独立实现,从原始 test-case 字节出发,对最新发布版 agent-evidence-vectors v0.17.6 的全部 951 个向量逐条重新裁决。

951/951
裁决一致
559
完整语义深验
392
结构 / 绑定层
0
真实不一致
DATE 2026-10-10 VERSION v0.17.6 CORPORA 16 AUTHOR Guigui Wang

最终总账(v0.17.6)

四个独立脚本覆盖全部语义型 corpus;其余 12 个 corpus 在结构与绑定层逐向量核对,并独立重算 corpusDigest。

951 个向量的分层裁决结果
Suite向量数一致验证深度
receipt-signature2525/25完整语义 Ed25519 + JCS + validity window + chain-link
adversarial-execution-evidence285285/285GATE 0+1+2
w3c-report-v01235235/235完整 rejections() W3C-R / ARM-R / LCD-R
anchored-record-chain(v0.17.6 新增)1414/14签名 + chain-link + anchor
其他 12 个 corpus392392/392结构 / 绑定层 corpusDigest 独立复现
合计951951/951零真实不一致

版本追平:一条诚实时间线

验证过程中我们先发现自己的口径瑕疵,又发现参考包已发新版,于是主动追平并发勘误,封死“验的是旧版”的质疑空间。

v0.17.4
最初基准:15 corpus / 933 向量

13/16 corpusDigest 独立重算成功,receipt-signature 25/25 完整语义。

933≠16
发现口径瑕疵

初帖写 “933 across 16 corpora”,但第 16 个 self-reported-record(11 条)是 git-only,不在 wheel 内。

v0.17.6
参考包已发新版:16 corpus / 951

adversarial 281→285(+4),新增 anchored-record-chain suite(14 case)。

4/4
旧脚本重跑全过 + 新建第 4 脚本

主动发勘误追平最新版,版本差质疑被预先关闭。

口径说明:wheel 包口径为 951/16;若按 git 仓库(含 self-reported-record)另有 11 条 git-only 向量。本页所有数字均以 v0.17.6 wheel 为准。

四个 Suite 的语义覆盖

不是只比最终 accept/reject:每一层规则、每一种拒绝码都从字节独立推导,MANIFEST 的 expected 只在裁决完成后用于对比。

▸receipt-signature · 25 25/25
Ed25519 验签、JCS(RFC 8785)规范化、validity window 时间窗校验、chain-link 哈希链。
  • 签名与载荷均从原始字节重算
  • 过期 / 篡改 / 断链向量全部判对
▸adversarial-execution-evidence · 285 accept 63 / reject 220 / indet 2
  • GATE 0:statement/predicate 形状、vocabulary_digest、corpus_digest、coverage 行列与 shape、records 结构、fail-closed signature-empty、payload strict-b64 + I-JSON + JCS round-trip、kind 约束
  • GATE 1:per-substrate-row refs、payload 有效性、class 匹配、kind 约束、method cap
  • 8 项 commitment:clean-row-contradicted / interception-orphaned / observed-set / sealed-present / carried-cover / seal-attacks / assessed-subset / attribution
  • result 从 coverage + labels + caught + rows 确定性重算
  • GATE 2:Ed25519 签名验证(派生测试密钥)
  • 2 条 indeterminate 的多条 firing code 与 MANIFEST 全部 readings 吻合
▸w3c-report-v01 · 235 accept 117 / reject 118
  • report(169):W3C-R-001~029,29 条规则
  • agent-run-metrics(44):ARM-R-001~022,22 条规则
  • llm-context-discovery(22):LCD-R-001~011,11 条规则
  • RFC 8785 面:U+007F、大整数(≥1e+21)、-0、键排序(code point vs UTF-16 code unit)、leaf 中 float → W3C-R-020 拒整 report、check-set root、moved⊄compared
  • 高频触发:W3C-R-016 ×43、W3C-R-015 ×5、W3C-R-013 ×4、W3C-R-023 ×4、W3C-R-020 ×3
▸anchored-record-chain · 14 8 种 reason
8 种 decision/reason 全部独立判对:chain_anchored / records_after_last_anchor / signature_invalid / anchored_head_missing / chain_link_broken / record_from_other_chain / anchored_head_mismatch / anchor_signature_invalid。
  • 关键认知:只验签名会漏掉 T2/T3/T4/T7/T9、rollback 与 reanchored——只有 chain-link 和 anchor 能抓
  • 正确放行 t2-tail-removal-after-last-anchor(删除 anchor 未覆盖的记录 = 诚实 store)
  • 正确拒绝 tail-removal-reanchored(anchor 签名无效)

独立性保证

独立实现可以读上游源码与 spec 来推导规则,但绝不 import、exec、eval 或执行上游代码。

# 四个脚本统一检查:禁止 import 上游包
$ grep -nE "^import agent_evidence|^from agent_evidence" independent_*.py
# → 无任何输出(CLEAN)
只读源码 / spec 推导规则

不 import、不 exec、不 eval、不复制执行上游任何代码。

裁决只来自原始字节

每个判断从 test-case / statement / store 的原始字节得出。

expected 仅事后对比

MANIFEST 的期望结果不参与裁决,只在裁决完成后核对。

信任起点 cosign.pub

Ed25519 公钥来自 release/cosign.pub;底层原语 JCS / PAE / Merkle / strict-b64 / I-JSON 全部从零重写。

对外邮件

发件 Guigui Wang <wangguigui@correctover.com>,收件 W3C public-agent-conformance 邮件组,三封均被 SMTP 接受,待 moderation 入档。

  1. 初版回帖 — “Re: An independent v0.1 reader that shares no code…”
  2. 全量 v0.2 回帖
    Message-ID: independent-reader-v0.2-20261010@correctover.com
  3. [CORRECTION] 勘误追平 v0.17.6
    Message-ID: independent-reader-v0.17.6-correction-20261010@correctover.com
  4. [CORRECTION] 仓库地址与证据镜像更正
    Message-ID: independent-reader-url-correction-20261010@correctover.com

可复跑产物

全部脚本与逐条结果 JSON 已公开,任何第三方都可以重跑验证。代码仓库:github.com/DSHCorrectover/independent-reader。邮件组存档见 W3C public-agent-conformance 归档。