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

Checks it exercises

CheckRequirementWhy
verdictmust-failEntry1 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.