{
  "specVersion": "rotation-attestation-v1",
  "canonicalizationRule": "RFC 8785 JCS applied before any signature or hash operation in this set",
  "fixtures": {
    "happy-path": {
      "url": "https://aeoess.com/fixtures/rotation-attestation/happy-path.json",
      "canonicalSha256": "sha256:819f9e571e6d7c57852e17309f3d8166bbcb8fc04d2894dcb8c8357b66bfe3df",
      "expectedResult": "pass"
    },
    "cross-signed": {
      "url": "https://aeoess.com/fixtures/rotation-attestation/cross-signed.json",
      "canonicalSha256": "sha256:b11a72b09b8184e3cc4620e0d5fe0926f6fecfb8cd35c2ef364c5761647c43b4",
      "expectedResult": "pass"
    },
    "migration-attested": {
      "url": "https://aeoess.com/fixtures/rotation-attestation/migration-attested.json",
      "canonicalSha256": "sha256:5791fe9f9456f1d54b73401b42e3afff7a7e04e7a60f43537e99dd58301803a4",
      "expectedResult": "pass"
    },
    "happy-path-compound": {
      "url": "https://aeoess.com/fixtures/rotation-attestation/happy-path-compound.json",
      "canonicalSha256": "sha256:acd624c98946e11d02dde01faa70386d0b19fc957a104311bf9d73817bfe7989",
      "expectedResult": "pass"
    },
    "negative-no-attestation": {
      "url": "https://aeoess.com/fixtures/rotation-attestation/negative-no-attestation.json",
      "canonicalSha256": "sha256:ae871beefeaf1847cd5c34927c42cf5bd92d44c8554cf5eff0641dae80452f24",
      "expectedResult": "fail-closed"
    }
  },
  "errorCodes": {
    "negative-no-attestation": {
      "code": "INVALID_CLAIM_SCOPE",
      "reason": "Continuity-layer claim present in rotation log but rotationSignature is empty. Verifier cannot attest continuity without rotation evidence; MUST fail closed before any other layer is evaluated."
    }
  },
  "attestorKey": {
    "kid": "aeoess-fixture-attestor-v1",
    "publicKeyHex": "ce62dc38a3c0b720daf124b7ed4a5538b10484b9755380ff148e6bb3f02b3d8b",
    "publicKeyManifest": "https://aeoess.com/fixtures/rotation-attestation/keys/attestor-v1.pub.json"
  },
  "generatedAt": "2026-04-24T17:00:00.000Z"
}
