ERDL Decision Object v1.5 — Independent Implementations
本注册表仅记录第三方实现者提交的验证结果。
列入本表不代表 OpenOBA 的背书 — 仅记录”谁在什么日期通过了多少条向量”。
This registry records only what independent implementors have measured.
Inclusion implies no endorsement — only “who passed how many vectors on what date.”
现行向量集
- 标准:OPENOBA-DOBJ-RFC-002(Decision Object v1.5 扁平哈希链 + 表达式树字段)
- 向量文件:
decision-object-vectors-v1.5.json(V-DO-v15 哈希层 78 条) - 验证程序:五步验证法 Step 0–6(RFC-002 §7),
scripts/verify-v1.5.js(零依赖 self-built JCS) - 答案文件:
decision-object-answers-v1.5.json(canonical_hex 物理隔离,.gitignore,提交者不可读) - 自动记录:
conformance/CONFORMANCE.md(CI 自动生成,记录 Check 1 + Check 2 + K01 判别 + R1–R6 对照结论;npm run conformance)
Registry
| Implementor | Method | Result | Date | Artifact |
|---|---|---|---|---|
| OpenOBA (参考实现) | Node.js, self-built JCS (RFC 8785) | 78/78 哈希层 + 金丝雀 K01 判别(Check 1 MISMATCH + Check 2 MATCH) | 2026-08-31 | verify-v1.5.js |
| concordia-python | Python, self-built JCS (RFC 8785) | 107/107 canonical bytes | 2026-09-02 | concordia-protocol |
| norviq-go | Go, self-built JCS (RFC 8785) | 107/107 canonical bytes | 2026-09-01 | erdl-runner-go |
Full submission records · 完整提交证据(scope 与向量指纹)
- concordia-python — Python, contract-only, self-built JCS (RFC 8785) + hashlib SHA-256; no ERDL SDK, no third-party canonicalizer, answers file never opened; hash/field/chain layer only, time-anchoring codes not implemented; measured against decision-object-vectors-v1.5.json sha256:d8adf32b7c691bdb3d805fdb0b3f7ac327dc16388cd59a4dfe757d9555e1778c
- norviq-go — Go, spec-only, self-built JCS (RFC 8785) + crypto/sha256, zero dependencies
第三方 Runner 提交见 submissions/README.md;CI 交叉验证通过后,合并时自动登记于上表。
Expression-Layer Registry(V-ENGINE 240 向量)
| Implementor | Method | Result | Date | Artifact |
|---|---|---|---|---|
| OpenOBA (reference) | Node.js, @openoba/erdl | 240/240 | 2026-09-09 | v-engine.mjs |
| concordia-python-expression | Python, spec-and-contract-only | 240/240 | 2026-09-10 | concordia-protocol |
第三方 expression-layer Runner 提交见 EXPRESSION-RUNNER-CONTRACT.md(ER3 envelope,
submissions/<runner>-output.json);CI 交叉验证(verify-v-engine-submission.mjs)通过后,合并时自动登记于上表。
开放征集(尚未登记)
- §7.1 裁决语义(ring 顺序 0→3 /
override方向 / catch-all 惰性):目前无第三方独立实现,也尚无对应向量集。裁决 fold 与其参考实现已由erdl-formal证明并变异测试,但两者源自对 SPEC §7.1 的同一解读,可能在同一误读上保持一致;决定性的独立锚定是仅凭 SPEC 文本重推导 §7.1 的第三方 runner。正在征集中——见 README「§7.1 裁决语义 — Runner 征集中」。
v1.3 历史档案(Decision Object v1.3,AV 编号)
v1.3 时代的第三方验证记录(13 AV 向量),归档保留、不复用编号:
| Implementor | Method | Vectors | Date | Artifact |
|---|---|---|---|---|
| Concordia (Erik Newton) | Python, spec-only, self-built JCS | 13/13 AV | 2026-07-30 | archive/v1.3/submissions/ |
| OpenOBA (Clean-Room CI) | Node.js, self-built JCS, SDK uninstalled | 63/63 DO + 12/12 AV | 2026-08-05 | archive/v1.3/conformance/CONFORMANCE.md |
注:Erik Newton(Concordia)是首个第三方 Runner,于 2026-07-30 用 Python 纯规范实现(自建 JCS)逐字节验证 v1.3 全部 13 条 AV 向量。v1.5(V-DO-v15 78 条)现已由 norviq-go(Go,2026-09-01)与 concordia-python(Python,2026-09-02)两个第三方 Runner 逐字节验证,各 107/107 canonical bytes,详见上表。
Submission Process
见 submissions/README.md(提交格式 + 步骤)。CI 交叉验证(verify-submission.cjs)通过后,合并时自动登记于上表(scripts/update-registry.cjs)。
Principles
- Measurements, not endorsements: 注册表记录事实,不认证、不背书、不保证。
- Spec neutrality: 实现的价值由其符合规范文本的程度决定,与作者/所属无关。
- No answers file: 提交者 MUST 自行实现 JCS canonicalizer;答案文件永不对 Runner 暴露。
- Clean-room preferred: 验证前确认无 ERDL SDK 可导入,独立性更强。
- 金丝雀常驻: K01 捕获”跳过独立重算”的缺陷实现(删整个 audit 而非仅删 audit.hash)。