{
  "$comment": "A second log, exercising the two events the first cannot: `recover` (guardian threshold + contest window) and `veto`. The first log sets threshold 0, which disables recovery, so nothing there reaches these paths — an implementation could pass every existing vector without implementing either. The two resolution sets below are deliberately DISCRIMINATING: they differ only by the veto, so an implementation that ignores `recover` fails the first, and one that ignores `veto` fails the second.",
  "did": "did:legible:zHMtdHaTjuvkoPfCzAXXgHEE9Ta8Cpk699xFx2kVcHGwp",
  "events": [
    {
      "name": "genesis-with-guardians",
      "event_id": "f10673301923255caff2e9a2c7180e6693c2d6a59589be92a698aeaa18cf7021",
      "event": {
        "type": "genesis",
        "key": "did:key:z6MkweqR5eZgXZxh1K3SXHh6drHz4GVkzCF1rNquVceo4V36",
        "guardians": [
          "did:key:z6MkgYGF3thn8k1Fv4p4dWXKtsXCnLH7q9yw4QgNPULDmDKB",
          "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
        ],
        "threshold": 2,
        "contest_window_days": 30,
        "created": "2026-06-19T22:00:00Z",
        "prev": null,
        "did": "did:legible:zHMtdHaTjuvkoPfCzAXXgHEE9Ta8Cpk699xFx2kVcHGwp"
      },
      "note": "threshold 2 of 2 guardians, 30-day contest window."
    },
    {
      "name": "recover",
      "event_id": "2dfa3f6263de24cd2bca6c48c5febd6b5a3267e7c626bc5b3a884d7a36b8125d",
      "event": {
        "type": "recover",
        "did": "did:legible:zHMtdHaTjuvkoPfCzAXXgHEE9Ta8Cpk699xFx2kVcHGwp",
        "key": "did:key:z6MkjchhfUsD6mmvni8mCdXHw216Xrm9bQe2mBH1P5RDjVJG",
        "created": "2026-07-01T00:00:00Z",
        "prev": "f10673301923255caff2e9a2c7180e6693c2d6a59589be92a698aeaa18cf7021"
      },
      "note": "Guardian-thresholded recovery, time-locked: authoritative only after contest_window_days from `created` (2026-07-31 here), and only if no veto lands first. `_guardian_sigs` (one per guardian, over this event_id) live outside the core."
    },
    {
      "name": "veto",
      "event_id": "97568ac7adcd94049912c3ee9bd1eeb17038c5623b6624b5382122b514c12ba8",
      "event": {
        "type": "veto",
        "did": "did:legible:zHMtdHaTjuvkoPfCzAXXgHEE9Ta8Cpk699xFx2kVcHGwp",
        "recovers": "2dfa3f6263de24cd2bca6c48c5febd6b5a3267e7c626bc5b3a884d7a36b8125d",
        "created": "2026-07-05T00:00:00Z",
        "prev": "2dfa3f6263de24cd2bca6c48c5febd6b5a3267e7c626bc5b3a884d7a36b8125d"
      },
      "note": "The current key cancels the pending recovery by naming its event_id in `recovers`. §12 records the cost: the same mechanism lets a stolen key block recovery indefinitely."
    }
  ],
  "guardian_sigs_for_recover": [
    "did:key:z6MkgYGF3thn8k1Fv4p4dWXKtsXCnLH7q9yw4QgNPULDmDKB",
    "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
  ],
  "resolution_without_veto": [
    {
      "at": "2026-06-20T00:00:00Z",
      "expect": "did:key:z6MkweqR5eZgXZxh1K3SXHh6drHz4GVkzCF1rNquVceo4V36",
      "note": "before the recovery: the genesis key"
    },
    {
      "at": "2026-07-10T00:00:00Z",
      "expect": "did:key:z6MkweqR5eZgXZxh1K3SXHh6drHz4GVkzCF1rNquVceo4V36",
      "note": "filed, but inside the contest window — not yet authoritative"
    },
    {
      "at": "2026-08-15T00:00:00Z",
      "expect": "did:key:z6MkjchhfUsD6mmvni8mCdXHw216Xrm9bQe2mBH1P5RDjVJG",
      "note": "the window elapsed with no veto: the recovered key takes over"
    }
  ],
  "resolution_with_veto": [
    {
      "at": "2026-08-15T00:00:00Z",
      "expect": "did:key:z6MkweqR5eZgXZxh1K3SXHh6drHz4GVkzCF1rNquVceo4V36",
      "note": "same instant, but the veto cancelled the recovery: the genesis key still holds"
    }
  ]
}
