{
  "ok": true,
  "label": "WEB3_COMPLIANCE_POLICY",
  "policy": {
    "version": "2026-06-07.2",
    "schema": "donkai-web3-compliance/v1",
    "definition": "An asset is building Web3 when criteria pass (five for asset-backed classes including AATEM spec). Otherwise: art_only or legacy_mode.",
    "criteria": {
      "on_chain": {
        "id": "on_chain",
        "label": "Verifiable ledger state",
        "description": "Lives on a real ledger with verifiable on-chain or anchored state — not database-only metadata.",
        "required_fields": [
          "chain"
        ],
        "any_of": [
          "contract_address",
          "token_id",
          "mint_status_live",
          "polygon_anchor_tx",
          "ipfs_cid_live"
        ]
      },
      "canonical_registry": {
        "id": "canonical_registry",
        "label": "Canonical registry row",
        "description": "Anchored in Donkai Registry with owner, purpose, and links to live protocol(s).",
        "required_fields": [
          "registry_id",
          "owner",
          "purpose_or_asset_ref"
        ]
      },
      "aatem_spec": {
        "id": "aatem_spec",
        "label": "AATEM specification",
        "description": "Bound aatem_id — asset description, legal owner (UnyKorn), on-chain coords, rights/flows, constraints.",
        "required_for_asset_classes": [
          "aatem",
          "mtn_wrapper",
          "minerals",
          "energy",
          "real_estate",
          "token"
        ],
        "registry": "https://donkai.org/api/aatem/"
      },
      "utility_circuits": {
        "id": "utility_circuits",
        "label": "Declared utility circuits",
        "description": "At least one callable right — contracts, agents, x402, loans, energy, MTN flows, resort rights.",
        "min_hooks": 1
      },
      "event_emission": {
        "id": "event_emission",
        "label": "Listened events",
        "description": "Transfers, redemptions, upgrades, or burns listened to by agents or workflows.",
        "any_of": [
          "agent_id",
          "donk_review_url",
          "event_listener",
          "integration_hooks"
        ]
      }
    },
    "status_labels": {
      "web3_native": "All criteria pass — eligible for portfolio views and promotion.",
      "web3_partial": "Registered with chain/IPFS signal and partial AATEM; gaps remain.",
      "needs_repair": "In registry but fails criteria — repair_board required.",
      "art_only": "No registry or AATEM — decorative only.",
      "legacy_mode": "Pre-Web3; migrate before promotion."
    },
    "enforcement": {
      "portfolio_view_filter": "is_on_chain=true AND web3_status=web3_native AND aatem_id present",
      "mint_gate": "block_without aatem_id for asset-backed classes",
      "agent_gate": "refuse_routing_for off_registry_asset_ids",
      "simulation_gate": "require_reference_scenario_per_asset_class",
      "aatem_gate": "no AATEM → not part of Web3 economy"
    },
    "aatem_definition": {
      "acronym": "AATEM",
      "expansion": "Asset-Anchored Tokenized Exposure Model",
      "publisher": "UnyKorn",
      "spec_url": "https://donkai.org/aatem/",
      "note": "Umbrella meta-standard for asset-backed tokens — real assets, rights, cash flows, agent behavior.",
      "required_for_classes": [
        "aatem",
        "mtn_wrapper",
        "minerals",
        "energy",
        "real_estate",
        "token"
      ]
    },
    "updated_at": "2026-06-07T16:00:00Z"
  },
  "summary": {
    "web3_native": 741,
    "web3_partial": 0,
    "needs_repair": 1,
    "legacy_mode": 1,
    "art_only": 0,
    "total_scanned": 743
  },
  "enforcement": {
    "portfolio_view_filter": "is_on_chain=true AND web3_status=web3_native AND aatem_id present",
    "mint_gate": "block_without aatem_id for asset-backed classes",
    "agent_gate": "refuse_routing_for off_registry_asset_ids",
    "simulation_gate": "require_reference_scenario_per_asset_class",
    "aatem_gate": "no AATEM → not part of Web3 economy"
  },
  "docs": "https://donkai.org/web3/enforcement/"
}