AEF example record run-0001
The first conformant attested execution record, published with everything needed to disbelieve it. AEF 1300 specifies the artifact; this is the artifact, and building it changed nine requirements before the document shipped.
The run
The tooling read the eight AEF documents published before AEF 1300, computed a SHA-256 digest for each, and wrote a manifest binding each document path to its digest. The work is real, small, and reproducible by anyone holding the repository: recompute the digests in standards/aef/manifest.json and compare. The declaration was sealed before the first act was captured.
The record binds those documents by digest, so it describes them as they stood when the run executed. Editing any of them makes the artifact check fail against the current tree, correctly, and the record is regenerated when that happens. AEF 1101 v0.2 and the AEF 1000 errata of 14 August 2026 each triggered a regeneration. A record bound to mutable repository paths decays as the repository moves, which AEF 1300 does not currently address.
The result
PASS_WITH_QUALIFICATIONS
- 16 checks, 0 failed, 0 not run
- 12 qualifications, each named below
- key binding reached continuity-of-use, from mechanism
none - capture-to-seal interval: 0 seconds
- verifier:
aef-reference-verifierv0.5.0
An unqualified PASS is not reachable today, which AEF 1200 section 7.2 states and this record demonstrates. A verification of this record that reported PASS would be evidence of a defective verifier.
What the qualifications mean you cannot conclude
UNAUTHENTICATED-SEAL-MARGINThis record's v0.1 seal boundary leaves the seal's own time, key id, algorithm, and anchor outside the signature. You cannot conclude those members are the ones the sealer wrote.
IDENTITY-NOT-ESTABLISHEDThe key sealed this record and nothing says whose key it is. You cannot conclude the operator sealed it.
NO-EQUIVOCATION-DETECTIONNo log would reveal the same identity bound to a different key elsewhere. You cannot conclude this key is the only one presented as this party's.
ELEMENT-UNSUPPORTEDThe approval record is declared unsupported. You cannot conclude anything an approval would have established.
ARTIFACTS-OPERATOR-SUPPLIEDThe artifacts compared came from the operator. You cannot conclude this record describes the work you asked about rather than work the operator chose to show.
TIME-OPERATOR-ASSERTEDEvery recorded time comes from the operator's clock. You cannot conclude when anything happened, only the order the record asserts.
CAPTURE-TO-SEAL-INTERVAL-UNBOUNDEDNothing in the framework constrains the window between capture and sealing. You cannot conclude a future record will have a small one.
SEAL-TIME-UNANCHOREDNothing outside the operator attests the seal time. You cannot conclude the record existed when it says it did.
APPROVAL-ABSENTNo party approved, and the declaration says none was required. You cannot conclude anyone took responsibility for this run.
ACCEPTANCE-ABSENTNo acceptance was supplied, and nothing in a record reveals whether one exists. You cannot conclude any party accepted this run's outcome after seeing its record.
VERIFIER-SELF-AUTHOREDThe party that built the producing system also wrote the verifier. You cannot conclude the verifier had an adversary in its history.
TRUST-BASE-SELF-ASSERTEDThe trust base statement's completeness and externality answers are the operator's own. You cannot conclude they are correct.
The tampered copy
One character was changed in one effect field of one act log entry. The result is FAIL, first failing check seal-integrity. A second check fails as well: the chain link over that entry breaks, because AEF 1300 R18 binds each entry to its predecessor.
AEF 1000 principle 4 holds that a verifier which has never rejected a tampered record verifies nothing. This is the cheapest public demonstration that it rejects one.
Watch it, keystroke for keystroke
A recorded terminal session, not a produced video: clone the public repository, install, and run the verifier. The commands are the reproduction instructions; the recording is one execution of them, captured from a real terminal with its output unedited. It ends with the three outcomes above: PASS_WITH_QUALIFICATIONS for the record, FAIL for the tampered copy, INCONCLUSIVE with the declaration withheld. The raw recording is served at session.cast.
$ git clone https://github.com/0xGrainzy/grantstell-com.git Cloning into 'grantstell-com'... remote: Enumerating objects: 2331, done. remote: Counting objects: 100% (474/474), done. remote: Compressing objects: 100% (230/230), done. remote: Total 2331 (delta 256), reused 383 (delta 173), pack-reused 1857 (from 1) Receiving objects: 100% (2331/2331), 73.92 MiB | 57.91 MiB/s, done. Resolving deltas: 100% (1207/1207), done. $ cd grantstell-com $ npm install --no-audit --no-fund npm warn deprecated whatwg-encoding@3.1.1: Use @exodus/bytes instead for a more spec-conformant and faster implementation npm warn deprecated @studio-freight/lenis@1.0.42: The '@studio-freight/lenis' package has been renamed to 'lenis'. Please update your dependencies: npm install lenis and visit the documentation: https://www.npmjs.com/package/lenis added 593 packages in 17s $ npm run aef:verify > grantstell-com@0.1.0 aef:verify > tsx packages/aef/verify-example.ts original : PASS_WITH_QUALIFICATIONS | checks 16 (0 failed, 0 not run) | qualifications 12 tampered : FAIL | checks 16 (2 failed, 0 not run) | qualifications 12 | first failing check: seal-integrity no declaration : INCONCLUSIVE | checks 16 (0 failed, 1 not run) | qualifications 12 | first failing check: declaration-binding $ exit exit
The withheld declaration
Verifying the same record without the separately sealed declaration returns INCONCLUSIVE, with declaration-binding recorded as not run. It is published because a vocabulary value nobody has seen produced is a claim about a vocabulary rather than a demonstration of one. All four outcome values in AEF 1200 section 7.1 now exist as artifacts.
What this result is not evidence of
- This result is not evidence that the work was done as described (AEF 1100 threat 6.3).
- This result is not evidence that nothing outside the declared scope occurred (AEF 1100 threat 7.1).
- This result is not evidence that the declared scope was drawn honestly or before the outcome was known (AEF 1100 threat 7.3).
- This result is not evidence that an approving signer saw what an approval record says they saw (AEF 1100 threat 8.1).
- This result is not evidence that this is the record for the run the reviewer asked about (AEF 1100 threat 6.7).
- This result is not evidence that no other record of this work exists (AEF 1100 threat 7.2).
Artifacts
Every file is served byte-identical to what the verifier consumes. The record digest is sha-256:d80c00901b758aab166d297c6f9b433745014631bb4aae1b5d5e073141108947.
- aer.json The record. Sealed, and the subject of everything else here.
- declaration.json The declaration, sealed separately before the run began (R14).
- trust-base.json Ten dependencies with their controlling parties named (AEF 1101 section 6).
- verification-result.json The result: PASS_WITH_QUALIFICATIONS.
- aer.tampered.json The same record with one character changed.
- verification-result.tampered.json The result for the tampered copy: FAIL.
- verification-result.no-declaration.json The result with the declaration withheld: INCONCLUSIVE.
- aer.canonical.txt The canonical byte sequence the seal covers (R4, R6).
- fixture-coverage.json The suite's coverage declaration, with its gaps listed (AEF 1201 C9). Browsable at /aef/examples/run-0001/coverage.
- challenge-record.json The challenge record, beside the suite and outside the declaration (AEF 1201 C15). Browsable at /aef/examples/run-0001/challenges.
- challenge-0001-input.json The first challenge's input: a chainless record two honest readings resolve differently (AEF 1201 section 14).
The tooling that produced and checked these lives at packages/aef in the repository, with twenty-two golden fixtures, ten of them required to fail.