{
  "schema": "chogos-verify-export-v2",
  "event": {
    "id": "a5b12669-1cc7-40e0-aa74-95d9407ed55b",
    "seq": 805661,
    "kind": "citizen.market_visit",
    "category": "citizen",
    "source": "simulation",
    "summary": "CHOG #1558 visited the Market and took a simulated food ration.",
    "occurredAt": "2026-10-28T09:49:55.978243+00:00",
    "createdAt": "2026-10-28T09:49:58.323598+00:00",
    "worldS": 74691570,
    "tickSeq": 242389,
    "actorCitizenId": "1af575f2-c06c-4f8d-ba2e-388edeb5309c",
    "relatedCitizenId": null,
    "buildingId": "market",
    "chainStatus": "offchain",
    "chainId": null,
    "txHash": null,
    "dedupeKey": "sim:1af575f2-c06c-4f8d-ba2e-388edeb5309c:13621:citizen.market_visit",
    "intentId": null,
    "decisionId": null,
    "payload": {
      "action": "shop",
      "arrived": true,
      "tokenId": "97",
      "activity": "shopping",
      "foodTaken": 1,
      "buildingName": "Market",
      "durationWorldMinutes": 47
    },
    "stateTransition": {},
    "prevEventHash": "0x42da554af8d1c76343c1959a952aace81c2d1611b4808a4619b680db27f1563f"
  },
  "storedHash": "0x831b1c349883cccc19240035b026d463234fe76db1898666e04569b4787832eb",
  "serverRecomputedHash": "0x831b1c349883cccc19240035b026d463234fe76db1898666e04569b4787832eb",
  "integrityClass": "live",
  "previous": {
    "seq": 805660,
    "hash": "0x42da554af8d1c76343c1959a952aace81c2d1611b4808a4619b680db27f1563f",
    "prevEventHash": "0x21ece56499f90e5cca0b724b25af4adaa98bd63fabd8aaacd66e766d95f2cef0"
  },
  "next": {
    "seq": 805662,
    "hash": "0x41b175b23f9554190a05c0287f38c9e5082a224aa6866458ff0becb492c31080",
    "prevEventHash": "0x831b1c349883cccc19240035b026d463234fe76db1898666e04569b4787832eb"
  },
  "proof": null,
  "batch": null,
  "anchor": null,
  "anchorObservation": null,
  "anchorRead": {
    "attempted": false,
    "reason": "This event has no Merkle batch."
  },
  "anchorIssue": null,
  "explorerTxUrl": null,
  "explorerContractUrl": null,
  "explorerBlockUrl": null,
  "transfer": null,
  "transferLog": null,
  "onchain": null,
  "mind": null,
  "provenance": {
    "repository": "https://github.com/jericddd/chogOS",
    "revision": {
      "sha": "045b3fe38d65dfe80d92f37a6772b54aceca4caa",
      "label": "Vercel git commit"
    },
    "commitUrl": "https://github.com/jericddd/chogOS/commit/045b3fe38d65dfe80d92f37a6772b54aceca4caa",
    "sources": [
      {
        "path": "src/lib/verify/canonical.ts",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/src/lib/verify/canonical.ts"
      },
      {
        "path": "src/lib/verify/merkle.ts",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/src/lib/verify/merkle.ts"
      },
      {
        "path": "src/lib/verify/chain.ts",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/src/lib/verify/chain.ts"
      },
      {
        "path": "src/lib/verify/anchor.ts",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/src/lib/verify/anchor.ts"
      },
      {
        "path": "src/lib/verify/transfer-log.ts",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/src/lib/verify/transfer-log.ts"
      },
      {
        "path": "src/lib/world/transfer.ts",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/src/lib/world/transfer.ts"
      },
      {
        "path": "src/components/verify/event-verifier.tsx",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/src/components/verify/event-verifier.tsx"
      },
      {
        "path": "contracts/src/EventAnchor.sol",
        "url": "https://github.com/jericddd/chogOS/blob/045b3fe38d65dfe80d92f37a6772b54aceca4caa/contracts/src/EventAnchor.sol"
      }
    ]
  },
  "artifacts": [],
  "eventPath": "/verify/events/a5b12669-1cc7-40e0-aa74-95d9407ed55b",
  "reviewerChecks": [
    "Recompute the SHA-256 of the chogos-event-v1 canonical document from event. Do not trust serverRecomputedHash or any status label.",
    "Compare that digest to storedHash.",
    "When previous and next are present, check that the live hash chain links match.",
    "Verify the OpenZeppelin standard Merkle proof: leaf encoding bytes32, sortLeaves false, against batch.merkleRoot.",
    "A valid inclusion proof means the leaf matches the supplied root. It does not prove the root was published onchain.",
    "When anchorObservation is present, repeat eth_chainId, eth_getCode, the transaction receipt, and EventAnchor.getBatch on the recorded chain. The embedded observation is one server read, not a proof by itself.",
    "EventAnchor stores roots only. It does not verify inclusion and it does not prove the event happened.",
    "For an nft.transferred row, compare chain 143, the Chog Genesis contract, transaction hash, block, block hash, log index, sender, receiver, and token id with the explorer log. chain_status confirmed is not that comparison. transferLog.matched is true only after a read-only receipt check matched.",
    "Do not send event data to a third-party hashing site."
  ],
  "notes": [
    "This export is data. Recompute the hash and Merkle proof locally. A matching hash is not proof that the simulation was truthful.",
    "A privileged database operator can still rewrite history and recompute hashes. An onchain root only detects that after the root was published.",
    "serverRecomputedHash is a convenience. Compare your own SHA-256 of the canonical document with storedHash.",
    "Do not send this export to a third-party hashing site.",
    "The database batch id is a UUID. The onchain batch id is the bytes32 in BatchAnchored. This export does not treat the UUID as that bytes32."
  ]
}