← Conformance

aicent-grant-ref

our vectors · merged at the lab · PR #210

IDENTITY · QUALITY · ASSURANCE SEALED ARTIFACTS · IQA.ORG IQA

This family tests the response semantics of an attestation answer: which refusal value the closed vocabulary owes, when the observation member must be null, and which structure members every response carries. It is authored by us and anchored to our own published specification — draft-li-rttp-iqa-addressing-02 (Informational, posted 2026-11-01), sections 8.1 (Refusal Reasons) and 8.2 (Grant Reference). The retrieved TXT copy is pinned at sha256 02491c5a…85044. Every expected value was checked against the published text sentence by sentence.

The family is open as a candidate at the Agent-Authority-Conformance lab (PR #210), offered for anyone to run: give your implementation each case’s input, record the response it produces, and the checker scores it against the published text. Nothing here is a reviewed fixture; the candidate adds nothing to the lab’s schema, failure classes or verifier behavior.

Rules under test

rulewhat it decidesbasis
R-ORDERThe priority order is part of the definition: the reason is the first value in the list whose condition applies — including mismatch over expiry, expiry over revocation, and no condition at all, in which case the reason must be null; emitting a refusal value without a condition is not conformant.§8.1
R-NOTDETAn unreachable source, or an observation that predates the request, ends in authority_not_determined and is never read as assent; a diagnostic read does not participate in authorisation.§8.1, §8.2
R-NULLOBSobservation_as_of_ms is null whenever the observation the answer relied on is absent or not fresh — even if a later successful observation exists, and a diagnostic read neither backfills the member nor renews evidence. §8.2
R-CLOSEDThe set is closed: no affirmative “granted” value, no sixth value, a response without its reason is not conformant, and null reason over the set is the only representation of permitted.§8.1
R-GRANTREFEvery response, permit or refusal, carries the five members: grant, evidence_id, issued_at_ms, expires_at_ms, observation_as_of_ms.§8.2

Cases

25 cases — 11 conformant, 12 nonconformant, and 2 ambiguous. Ambiguous cases are scored in named parts (expect_parts), so a case can show which part of an outcome holds and which does not. The full case table — every identifier, its facts at answer time, and the rule that decides — is in the downloadable CANDIDATE.md and vectors.json.

Self-check

At the submitted revision, the submitter’s runs on Python 3 printed 25/25 agree and 21/21 mutants killed, each with exit 0. These show that the checker agrees with the expected results and that every rule has a case depending on it, in both directions. They say nothing about any implementation, and they do not show that the expected results are the right reading of the source — that reading is written out in the CANDIDATE.md, one quoted sentence per rule, for anyone to dispute.

Download

filesizesha256
CANDIDATE.md7,575 B089091faec6d63e7515f8279b23495866c65438929353a5e7fb8d22daddda0a3
vectors.json16,109 Bf1924f07be2b7dcf93c3832938bdb288f0f2868057fe8396c9c5b4935b71a303
check.py5,294 Bd4644f2317354c67eac7f337f13837f57c3160c410df21f0d430ffb08542fec5
mutate.py3,289 B9347e1b710c5f83d54afb4c8d99fb2aa66030edc1b4d806af35e9ee899940063

Canonical source: github.com/Aicent-Stack/conformance · candidates/aicent-grant-ref. Merged at the lab: Agent-Authority-Conformance lab · PR #210. License Apache 2.0 (the license of the repository). The candidate reuses no text from the draft beyond short quoted sentences for rule description.

How to run

python3 -I check.py vectors.json
python3 -I mutate.py

check.py recomputes each case’s verdict from its input and outcome, and compares it with expect and expect_parts. mutate.py weakens or distorts one rule of check.py at a time — including versions that always answer nonconformant and always answer conformant — and fails unless some case catches each change. Zero dependencies; any Python 3.

Sealed · 2026-11-04 · page sha256 4f596971f0ca4e9c… (seal line excluded) · rttp://4f596971.site.iqa · iqa://4f596971f0ca4e9c2991649973df78fe.forge.iqa · artifact: aicent-grant-ref-site-20261104a.tar.gz