A refused write: a purchase invoice stopped at rung 3
A GST pre-gate refuses an agent's purchase invoice.
View the full recordSpecimen
This illustrative specimen shows the proof record elan1 writes when an AI agent's month-end journal entry is allowed. It shows all 16 fields, the rules that ran, the approval, the committed change and the link to the previous record. The company, Kolam Components, is fictional and all data is illustrative.
Specimen A. A journal entry posted under month-end close rules, approved by a named person, committed by the single writer and recorded in 16 fields.
Illustrative specimenIllustrative specimen. Not customer data.
Published by elan1.
01The record
Plain English for the meaning, the fields for the record, JSON for your tools, and the chain for how it links to its neighbours.
Illustrative specimenIllustrative specimen. Not customer data.
An approver committed journal entry je_specimen_5531 under month-end close rules, version 7, at 10:42 on 14 July 2027.
The record is number 1042 in this tenant's chain. It points to record 1041 by digest, and record 1043 points to it. The payload and the vocabulary are hashed, not stored. One governed action was counted.
Checked and recorded by elan1 Govern.
{
"_label": "Illustrative specimen. Not customer data.",
"tenant_id": "tnt_specimen_01",
"seq": 1042,
"prev_digest": "sha256:9f3c…e41a",
"write_id": "wr_specimen_7c2",
"write_type": "journal_entry.post",
"declaration_id": "decl_month_end_close",
"declaration_version": 7,
"policy_version": "2027.06.1",
"actor_id": "usr_specimen_approver",
"actor_kind": "human",
"autonomy_level": "A2",
"record_id": "je_specimen_5531",
"record_version": 2,
"payload_hash": "sha256:51b0…7d9a",
"lexicon_hash": "sha256:e2c4…0b16",
"recorded_at": "2027-07-14T10:42:07+05:30",
"verdict": "committed"
}Each record’s F03 prev_digest is the digest of the record before it, and seq goes up by exactly one. Change or remove a record and the next link no longer matches. That is what tamper-evident means at L1.
02The path it took
Every write takes the same route. Any rung can refuse; a refusal stops the climb and still writes a record.
03Field notes
F01 tenant_id to F16 recorded_at. The values are invented; the field names come from Seal v6.
| Field | Name | Value in this specimen | What it tells you |
|---|---|---|---|
| F01 | tenant_id | tnt_ | The tenant this record belongs to. Chains never cross tenants. |
| F02 | seq | 1042 | The record's position in this tenant's chain. It only ever goes up by one. |
| F03 | prev_digest | sha256: | The digest of the record before this one. It is what links the chain. |
| F04 | write_id | wr_ | The identifier of the write intent. Every invoice line must carry one. |
| F05 | write_type | journal_ | The kind of write, from the declaration's list of allowed write types. |
| F06 | declaration_id | decl_ | The declaration — the process's rules in seven blocks — that was checked. |
| F07 | declaration_version | 7 | Which version of that declaration was in force at the time. |
| F08 | policy_version | 2027. | The version of the policy rules evaluate() ran. No model, only rules. |
| F09 | actor_id | usr_ | Who acted: the named approver, or the agent that proposed the write. |
| F10 | actor_kind | human | Whether the actor was a human or an agent. |
| F11 | autonomy_level | A2 | The autonomy level A0–A5 the write ran at; above the ceiling a person decides. |
| F12 | record_id | je_ | The record in your system of record that changed, or would have. |
| F13 | record_version | 2 | The version of that record after the write. |
| F14 | payload_hash | sha256: | A hash of the payload, not the payload itself, so personal data stays out of evidence. |
| F15 | lexicon_hash | sha256: | A hash of the vocabulary the write was expressed in, so meanings cannot drift. |
| F16 | recorded_at | 2027-07-14T10: | When the record was sealed, with the time-zone offset. |
04How to verify
At L1, the chain is the check. From L2, signatures and outside timestamps let someone else check it too.
Each record’s F03 prev_digest is the digest of the record before it, and seq goes up by exactly one. Change or remove a record and the next link no longer matches. That is what tamper-evident means at L1.
L1 Guarded · available
Tamper-evident to you; not signed.
L2 Attested · available
Signed and checkable offline, without us.
05Mapped clauses
Each row says what the record supports and what stays with you. No product makes you compliant on its own.
| Framework | Clause | Helps evidence | Not covered |
|---|---|---|---|
| EU AI Act | Art. 14 | F10 actor_kind human: a named person, not the asker, approved before the change. | Training, competence and authority of the overseer. |
| EU AI Act | Art. 12 | Automatic records of who acted (F09–F10), under which rules (F06–F08) and when (F16). | Whether your system is high-risk, and logging of the model's own operation. |
| ISO/IEC 42001 | Annex A · event logging | A per-change event record you can sample for internal audit. | The AI management system itself. No certification is implied. |
| NIST AI RMF | MANAGE | Evidence that a risk response — a gate or an approval — ran at the moment of action. | MAP and MEASURE work: context, impacts and model evaluation. |
| India DPDP Act | Security; minimisation | F14 holds a hash of the payload, so personal data stays out of evidence. | Erasure duties as the Data Fiduciary stay yours; erasure alongside an append-only chain is set out in the library note on DPDP. |
| Companies (Accounts) Rules, 2014 | Rule 3(1) | An edit log entry for the books: who changed which record, when, at which version. | The accounting software's own audit trail outside the governed path. |
Clause references are our reading of each framework. Not legal advice. elan1 does not make you compliant on its own; see the regulation hubs for what each framework asks.
06Other specimens
A GST pre-gate refuses an agent's purchase invoice.
View the full recordAn agent posts a GL entry for Kolam Components*, within its autonomy.
View the full recordA write above the autonomy ceiling waits at rung 6 for a person.
View the full record// SEE IT
The walkthrough follows one write from intent to proof record, step by step, with a refusal branch.