Non-revocation at the gate — 2027-05-21 target

D-15 story. As a gated application, I want a non-revocation check for every credential in a four-link chain, so that a recorded QVI revocation stops every downstream action.

Planned release tag: Cardano KERI v2.0.0 (credential-gate M2). This names the milestone target; intermediate plays use release candidates, and the tag waits for the D-19 release gate and its preprod evidence.

This is a dated review target from the live project card. Not yet playable as the connected target. No confirmed ledger outcome or release acceptance is claimed by this page.

Planned play and evidence

Given four issuer registry reference inputs and legitimate miss proofs for a valid four-link chain; when the gate evaluates each hop, then the D-14 path records a QVI revocation and the same action is retried; then the first action passes the mirrored-revocation check and the retry fails at the QVI hop; a proof against the wrong registry or issuer is also refused.

sequenceDiagram
    participant A as Story actor
    participant M as Accepted model
    participant C as Cardano boundary
    A->>M: Prepare the stated evidence
    M-->>A: Check expected transition and refusal
    A->>C: Submit the connected action when implemented
    C-->>A: Read back the actual result or refusal

The intended positive observation is: The gate checks a miss proof at each of four issuer registries, then sees a recorded QVI revocation. The relevant refusal is: The same action fails at the QVI hop after recording; wrong registry or issuer proofs refuse. These are acceptance criteria, not observed results.

Preprod recording path

Build the four issuer and credential histories with keripy kli. Use the released ckeri builder and gate against Cardano preprod to show four current registry miss proofs, then record the QVI revocation through D-14 and retry the identical action. The proof command and cast wait for the connected registry roots and a chain-attributed refusal.

Presenter path: 10–15 minutes when runnable

Time Presenter action Evidence to inspect
0–2 min State the actor's goal and identify all synthetic inputs. Pin the exact accepted model and release revisions.
2–5 min Establish the card's given state through its connected prior operations. Inspect the actual starting outputs and required evidence.
5–8 min Run the planned positive action. Compare fresh readback with the bound model transition.
8–11 min Run the planned negative control. Attribute the refusal to the actual boundary.
11–15 min Review receipts and gaps. Identify transactions, scripts, witnesses, values and uncovered behavior.

Missing interface or receipt

Four connected registry token/root inputs, valid miss proofs, the D-14 recorded revocation transaction, original and retry gate verdicts and wrong-registry/issuer controls.

The model base visible in this checkout is Cardano KERI commit 0e638fadc987f0cd98f839edd3e3ecd5a09a1b91. It is a source identity for planning, not a claim that the later card is already modeled or accepted. Each claim must bind the accepted model revision for that behavior before promotion. The Lean correspondence register holds affected conflicts. A simulator or source fact cannot replace a confirmed transaction, and no cast of an accepted connected result is available here.

Tracking: KERI non-revocation #396, revocation mirror #392, chain verifier #31, freshness design #398.