AER-1 corpus vectors / Chain vectors
chain-tampered-middle
Family: Chain vectors. Source: base/chain-vectors.json in the AER-1 corpus published at zambo.dev/aer1/corpus.json (kit 1.5.7, draft-zambo-aer1-26), file SHA-256 10de1cadb45b8d5c91ae94a601c6bb567aab59b26e89abbbb64af6896d3aba19.
What this vector covers
Entry1 canonical_bytes altered after its digest was committed into entry2 prev_digest; entry2 link breaks.
Rule it exercises
draft-zambo-aer1 Section 7 (normative): entry digest = SHA-256 over base64-decoded canonical_bytes; prev_digest links entries; genesis prev_digest is 64 zeros; timeline must end with a closing entry carrying close=true
Input
The vector input, exactly as published in the corpus:
{
"timeline": [
{
"id": "9ca6d090-b769-4178-a590-0bf1d5e02e06",
"canonical_bytes": "eyJ2ZWN0b3IiOiJjaGFpbi10YW1wZXJlZC1taWRkbGUiLCJlbnRyeSI6MCwibm90ZSI6ImFlci0xIHNlY3Rpb24gNyBjaGFpbiB2ZWN0b3IifQ==",
"prev_digest": "0000000000000000000000000000000000000000000000000000000000000000"
},
{
"id": "57eeec6c-0026-4cae-aa90-c5ac08947ab4",
"canonical_bytes": "eyJ2ZWN0b3IiOiJjaGFpbi10YW1wZXJlZC1taWRkbGUiLCJlbnRyeSI6MSwibm90ZSI6ImFlci0xIHNlY3Rpb24gNyBjaGFpbiB2ZWN0b3IgVEFNUEVSRUQgYWZ0ZXIgY29tbWl0In0=",
"prev_digest": "1fe72b1117cb519c810541665e11629414074414ff82bcda0a70987098453179"
},
{
"id": "0af6a982-33cc-47d8-8343-b405a9082447",
"canonical_bytes": "eyJ2ZWN0b3IiOiJjaGFpbi10YW1wZXJlZC1taWRkbGUiLCJlbnRyeSI6Miwibm90ZSI6ImFlci0xIHNlY3Rpb24gNyBjaGFpbiB2ZWN0b3IifQ==",
"prev_digest": "aa62feb444e1977e24762f8356eeabb9f29fa74fbc6ec626306a475894e2540e",
"close": true
}
]
}
Expected result
expected_verdict: invalidexpected_failure: entry2 prev_digest does not match digest of entry1 bytes (link broken)
Checks it exercises
| Check | Requirement | Why |
|---|---|---|
| verdict | must-fail | Entry1 canonical_bytes altered after its digest was committed into entry2 prev_digest; entry2 link breaks. The corpus records expected_failure: entry2 prev_digest does not match digest of entry1 bytes (link broken) |
Try Zambo free: add Zambo to your AI to run this kind of check on your own agent work, with 20 free calls per day and a Day Pass at $0.99 for 24h when you need more. Every call returns a verifiable receipt, and a receipt proves the saved result was not changed.
See the full set in the AER-1 corpus vectors index and the AER-1 corpus checks index, or read the standard itself: draft-zambo-aer1-26.