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-verifier v0.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

  1. UNAUTHENTICATED-SEAL-MARGIN

    This 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.

  2. IDENTITY-NOT-ESTABLISHED

    The key sealed this record and nothing says whose key it is. You cannot conclude the operator sealed it.

  3. NO-EQUIVOCATION-DETECTION

    No 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.

  4. ELEMENT-UNSUPPORTED

    The approval record is declared unsupported. You cannot conclude anything an approval would have established.

  5. ARTIFACTS-OPERATOR-SUPPLIED

    The 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.

  6. TIME-OPERATOR-ASSERTED

    Every recorded time comes from the operator's clock. You cannot conclude when anything happened, only the order the record asserts.

  7. CAPTURE-TO-SEAL-INTERVAL-UNBOUNDED

    Nothing in the framework constrains the window between capture and sealing. You cannot conclude a future record will have a small one.

  8. SEAL-TIME-UNANCHORED

    Nothing outside the operator attests the seal time. You cannot conclude the record existed when it says it did.

  9. APPROVAL-ABSENT

    No party approved, and the declaration says none was required. You cannot conclude anyone took responsibility for this run.

  10. ACCEPTANCE-ABSENT

    No 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.

  11. VERIFIER-SELF-AUTHORED

    The party that built the producing system also wrote the verifier. You cannot conclude the verifier had an adversary in its history.

  12. TRUST-BASE-SELF-ASSERTED

    The 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.

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.