AER-1 corpus vectors / Chain vectors v07

ax-esc-long-escape

Family: Chain vectors v07. Source: base/chain-vectors-v07.json in the AER-1 corpus published at zambo.dev/aer1/corpus.json (kit 1.5.7, draft-zambo-aer1-26), file SHA-256 d72b815585afdb075311da892f54041c9ffd5e7d875afbf32bd8165c3ca9ea94.

What this vector covers

Section 7.1 escaping detail: short escapes (\n vs \u000a). Link digested with \u000a for the LF in the tool name; every runner recomputes \n, so the link mismatches.

Rule it exercises

draft-zambo-aer1-07 Section 7: entry digest = SHA-256 over the UTF-8 bytes of the canonical JSON object {prev_digest, seq, job_id, close, id, tool, provenance_class, output_hash} (keys sorted by Unicode code point, no whitespace), where output_hash = lowercase hex SHA-256 of the base64-decoded canonical_bytes. Entry 0: prev_digest is 64 zeros and seq is 1. seq contiguous from 1. One job_id per chain. close is boolean, true only on the last entry. Honest limit: truncation of either end with re-linking is not detectable by chain mechanics alone; it needs an anchored endpoint.

Input

The vector input, exactly as published in the corpus:

{
  "timeline": [
    {
      "id": "r-job-axesc3-0",
      "seq": 1,
      "job_id": "job-axesc3",
      "tool": "line\nbreak",
      "provenance_class": "LOGGED BY AGENT",
      "canonical_bytes": "eyJqb2IiOiJqb2ItYXhlc2MzIiwiZW50cnkiOjB9",
      "prev_digest": "0000000000000000000000000000000000000000000000000000000000000000"
    },
    {
      "id": "r-job-axesc3-1",
      "seq": 2,
      "job_id": "job-axesc3",
      "tool": "line\nbreak",
      "provenance_class": "LOGGED BY AGENT",
      "canonical_bytes": "eyJqb2IiOiJqb2ItYXhlc2MzIiwiZW50cnkiOjF9",
      "prev_digest": "bd4584ab38b9ceae77747a2114a67b88b913b956c44d073f4e1ddf63dbd4d728",
      "close": true
    }
  ]
}

Expected result

Checks it exercises

CheckRequirementWhy
verdictmust-failSection 7.1 escaping detail: short escapes (\n vs \u000a). Link digested with \u000a for the LF in the tool name; every runner recomputes \n, so the link mismatches. The corpus records expected_failure: entry 1 prev_digest does not match the digest of entry 0

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.