AICENT.COM
← Back to Blog

Revision 3, recorded the same way

2026-10-26 · IQA · RTTP
Sources cited in this piece · lab PR #180 (lease-revocation-axes family, revision 2) · lab PR #187 (our revision-2 interop record, merged 26 October 2026) · lab PR #191 (revision 3 merged, 25 October 2026) · lab PR #194 (our revision-3 record, filed 26 October 2026) · sealed archives of record at iqa.org/conformance/lra-runner/ and iqa.org/conformance/lra-runner-rev3/ · runner repository github.com/Aicent-Stack/conformance.

Last week we delivered the first independent, non-author-produced run of the lease-revocation-axes family and filed the complete artifact at the lab (PR #187). This week two things happened in the other order people expect: the corpus itself moved first, and our record followed it — not by updating the old record, but by taking a new one, the same way, from scratch.

One corpus, two revisions, one frozenREVISION 2 — frozen12 cases × 4 profiles · unchanged · every existing run stays comparableREVISION 3 — merged upstream 25 October 2026 (PR #191)adds refusal_reason — a five-value closed vocabulary, fixed precedence:evidence_binding_mismatch → evidence_expired → authority_not_determined → authority_revoked → operation_not_permittedadds grant_ref — names the grant evidence and the observation behind each decisionWhy refusal reasons matter: an authority source that could not be checked must never be recorded as revoked.A record that folds unreachability into a substantive reason manufactures an intent nobody had.

What revision 3 changes is small in lines and large in meaning. Before it, the family's action decision said only permit or deny. Two implementations could deny for opposite reasons — one because the authority was genuinely revoked, one because it simply could not reach the authority — and the record would look identical. Revision 3 adds a refusal_reason drawn from a five-value closed vocabulary with fixed precedence, and a grant_ref that names the grant evidence and the observation each decision actually used. The vocabulary's most important entry is authority_not_determined: it exists so that an implementation which never reached its authority source never has to borrow the nearest substantive reason. A record that folds unreachability into “revoked” manufactures an intent nobody had; keeping the two apart is what makes third-party recomputation meaningful at all.

Revision 2 stays frozen. That is half the design: the existing runs — ours, the maintainer's reproduction, the clean-room record — remain comparable forever, because the bytes they scored are pinned and the vocabulary they used is unchanged. A corpus that rewrites its history makes every old run a rumor; a corpus that layers makes every old run an archive. Revision 3 is a layer.

So we re-took the record, the same way as before. The runner is the same independent, standard-library-only implementation — extended, not forked — and it still refuses to score any input whose SHA-256 is not pinned in its manifest. The frozen revision-3 inputs went behind the same hard digest gates. The re-run: 48/48 baseline runs matched across the profile combinations (four profiles × twelve cases), every one of the 176 decision records carries a grant reference, all five refusal values were exercised — 117 of the 176 records deny, and the denials spread across the full vocabulary rather than clustering on the easy values — and 12/12 mutation probes matched their pinned failure sets. Three consecutive runs produced byte-identical reports. Nothing was asserted that was not executed.

The same pipeline, one revision forwardfrozen inputsrev 3 vectors · oraclesha256 pinneddigest gatetamper → refusebefore any scoringrunnerstdlib-only · independentextended, not forkedrecorded outputbyte-identical reruns3× on recordsealed artifactorgan seal · tarballsha256 0bd67a7a…One artifact, two addresses — both derived from the artifact's own digest, nothing invented, nothing registered:rttp://0bd67a7a.conformance.iqathe question side — WHERE + WHEN · first 8 hex of the digestiqa://0bd67a7a89c1a0ff46f72c119ca84786.forge.iqathe answer side — WHETHER · first 32 hex of the same digestThe numbers, as recorded: 48/48 baseline · 176/176 grant_ref · five refusal values exercised (117/176 denying) · 12/12 mutants pinned.Everything above can be recomputed from the pinned digests without contacting us — that sentence is the whole method.

The filing followed the sequencing we committed to on the W3C Agent Protocol CG list: one open record at a time. The revision-2 interop record (#187) was merged by the lab's maintainer on 26 October — after his own byte-level reproduction and a lab-side inventory row, with the record itself untouched. The revision-3 record went in the same day as PR #194: the runner as run, the frozen inputs for both revisions, the recorded outputs, the sealed artifact of record published at iqa.org/conformance/lra-runner-rev3/ with both scheme addresses derived from its own digest. No dates were promised for any of it; the discipline was the promise, and the discipline is what shipped.

One practice from this round is worth naming because it will recur: a record is retaken, never updated. The revision-2 record still says exactly what it said on the day it was filed, including its own review defects and their corrections. Nothing about it was edited to match the new revision; a new artifact was sealed instead, and the two now sit side by side, comparable precisely because neither was rewritten. Append-only is not a database preference — it is what makes a measurement a fact rather than a current opinion.

The five refusal values deserve one last word, because they encode an ethical position in ten bytes of schema. evidence_binding_mismatch, evidence_expired, authority_not_determined, authority_revoked, operation_not_permitted — fixed in that precedence. The third value is the honest one: it says we could not find out, and it refuses to dress that up as we found out something bad. Fail-closed is not pessimism; it is the refusal to let a verification gap sound like a verdict. A vocabulary that can say “unknown” is what makes every other value in it mean something.

SEALED rttp://1a336602.blog.aicent · iqa://1a336602d8ae187e7423932fcabde59e.forge.iqa · seal record