{
  "schema_version": "2026-06-02.information-governance.v1",
  "surface": "main_website",
  "owner": "main_website_release_desk",
  "purpose": "Machine-readable public information-governance contract for QUAD facts, sources, artifacts, routes, changes, access boundaries, and recovery paths.",
  "updated": "2026-06-02",
  "governance_rule": "No critical truth may live only in operator memory, private chat, stale website data, or unnamed scripts. Every fact needs an owner and every owner needs a recovery path.",
  "must_not_infer": [
    "current_chain_state",
    "current_block_height",
    "current_balance",
    "private_operator_procedure",
    "credentials",
    "payload_truth",
    "payload_access",
    "custody_proof",
    "admission_proof",
    "settlement_proof",
    "liquidity_proof",
    "sale_access",
    "reward_eligibility",
    "allocation",
    "production_value_movement",
    "economic_activation",
    "external_validation"
  ],
  "information_states": [
    {
      "state_id": "active_source",
      "public_label": "active source",
      "meaning": "The current owner-controlled source folder, repository, chain home, endpoint contract, or generated-source route for a fact.",
      "required_public_evidence": [
        "owner_surface",
        "source_class",
        "source_route_or_label",
        "version_or_schema",
        "change_record"
      ],
      "downgrade_behavior": "If the active source cannot be named, treat the fact as local-only, stale, or cannot verify.",
      "must_not_infer": [
        "deployed_state",
        "chain_authority",
        "external_validation"
      ]
    },
    {
      "state_id": "generated_artifact",
      "public_label": "generated artifact",
      "meaning": "A build output, export, manifest, public JSON, launch folder, release zip, or static feed derived from source.",
      "required_public_evidence": [
        "source_pointer",
        "build_or_export_rule",
        "hash_or_manifest",
        "freshness_label",
        "release_receipt_where_available"
      ],
      "downgrade_behavior": "If source or manifest is missing, quote as unverifiable artifact only.",
      "must_not_infer": [
        "live_upload",
        "current_chain_state",
        "owner_acceptance"
      ]
    },
    {
      "state_id": "deployed_route",
      "public_label": "deployed route",
      "meaning": "A public domain, subdomain, endpoint, status page, receipt route, or metadata route currently served by its owner.",
      "required_public_evidence": [
        "public_url",
        "owner_surface",
        "last_public_check_or_timestamp",
        "state_label",
        "boundary"
      ],
      "downgrade_behavior": "If the route cannot be reached or does not match the current package, quote stale, mismatched, or cannot verify.",
      "must_not_infer": [
        "economic_activation",
        "sale_access",
        "custody_proof",
        "settlement_proof"
      ]
    },
    {
      "state_id": "external_reference",
      "public_label": "external reference",
      "meaning": "A registry, indexer, explorer, wallet listing, repository host, audit report, article, or third-party summary outside the owner route.",
      "required_public_evidence": [
        "outside_owner",
        "published_scope",
        "date",
        "official_owner_match",
        "non_endorsement_boundary"
      ],
      "downgrade_behavior": "If outside scope is missing or conflicts with the owner route, quote only as an external reference or do not quote it.",
      "must_not_infer": [
        "endorsement",
        "listing_acceptance",
        "audit_completion",
        "market_access"
      ]
    },
    {
      "state_id": "stale_or_superseded",
      "public_label": "stale or superseded",
      "meaning": "A fact, route, artifact, export, metadata packet, or screenshot that has been replaced, aged out, contradicted, or is no longer current.",
      "required_public_evidence": [
        "stale_label",
        "replacement_route_where_available",
        "last_known_owner",
        "cannot_verify_behavior"
      ],
      "downgrade_behavior": "Use as historical context only unless a current owner route revalidates it.",
      "must_not_infer": [
        "current_state",
        "continued_access",
        "route_repaired",
        "economic_activation"
      ]
    },
    {
      "state_id": "internal_only",
      "public_label": "internal only",
      "meaning": "Private runbook, credential, key path, provider detail, recovery procedure, topology, sensitive threshold, payload, or private payment route.",
      "required_public_evidence": [
        "private_class",
        "public_reason_if_any",
        "redaction_behavior",
        "owner_boundary"
      ],
      "downgrade_behavior": "Keep private, redact, aggregate, or publish only a bounded public label.",
      "must_not_infer": [
        "public_access",
        "payload_truth",
        "provider_identity",
        "private_operator_procedure"
      ]
    },
    {
      "state_id": "non_authoritative_copy",
      "public_label": "non-authoritative copy",
      "meaning": "Old folder, recovered copy, backup, archived zip, local package, cached export, assistant summary, forum post, or copied route that is not the owner source.",
      "required_public_evidence": [
        "copy_class",
        "original_owner_where_known",
        "date_or_hash_where_available",
        "not_current_label"
      ],
      "downgrade_behavior": "Do not use for current-state, action, custody, admission, settlement, or market claims.",
      "must_not_infer": [
        "owner_authority",
        "current_state",
        "external_validation",
        "economic_activation"
      ]
    }
  ],
  "control_domains": [
    {
      "domain_id": "source_of_truth_registry",
      "public_label": "source-of-truth registry",
      "public_requirement": "Name active repo roots, chain homes, release artifacts, generated public JSON, public website artifacts, service homes by class, endpoint contracts, old copies, backup roots, and non-authoritative folders.",
      "public_boundary": "Public labels may name owner and class; private paths, credentials, and sensitive service detail stay private.",
      "downgrade_behavior": "If source location cannot be named, do not quote the fact as current or owner-controlled."
    },
    {
      "domain_id": "data_classification",
      "public_label": "data classification",
      "public_requirement": "Classify public metadata, receipt metadata, private payloads, machine exports, financial records, evidence records, operator secrets, provider credentials, chain-local state, cross-chain packets, stale facts, and terminal facts.",
      "public_boundary": "Classification does not expose private payloads, keys, provider credentials, or sensitive recovery detail.",
      "downgrade_behavior": "If classification is missing, keep the data private or orientation-only."
    },
    {
      "domain_id": "versioned_contracts",
      "public_label": "versioned contracts",
      "public_requirement": "Publish schema version, owner, evidence class, stale behavior, error/refusal states, redaction, deprecation, and compatibility rules for public and integrator-facing contracts.",
      "public_boundary": "Contract visibility is not live endpoint parity, launch, custody, or settlement proof.",
      "downgrade_behavior": "If contract version is missing, do not build stronger integrations from the dataset."
    },
    {
      "domain_id": "access_key_lifecycle",
      "public_label": "access and key lifecycle",
      "public_requirement": "Track owner, role, allowed actions, prohibited actions, storage-location class, backup state, rotation rule, compromise response, retirement receipt, and public identity label for keys or credentials.",
      "public_boundary": "Never publish keys, secrets, credentials, private account paths, or exploit-useful rotation detail.",
      "downgrade_behavior": "If access lifecycle is unknown, do not claim durable operations, recovery, or signer readiness."
    },
    {
      "domain_id": "change_management",
      "public_label": "change management",
      "public_requirement": "Record what changed, owner surface, authority path, reason, affected files/routes/contracts/claims, rollback path, post-change evidence, and public wording change when relevant.",
      "public_boundary": "Change records can be public at class and receipt level without exposing private procedure.",
      "downgrade_behavior": "If change is not recorded, treat the affected fact as partial, local-only, or cannot verify."
    },
    {
      "domain_id": "observability_and_stale_state",
      "public_label": "observability and stale state",
      "public_requirement": "Expose public labels for current, stale, degraded, unavailable, conflicted, local-package-only, superseded, refused, quarantined, and terminal states.",
      "public_boundary": "Public status does not expose private dashboards, thresholds, topology, or sensitive timing.",
      "downgrade_behavior": "If a signal is not current, public cards must say stale, degraded, unavailable, or cannot verify."
    },
    {
      "domain_id": "runbooks_and_recovery_packets",
      "public_label": "runbooks and recovery packets",
      "public_requirement": "Keep operational runbooks and recovery packets for start, stop, restart, restore, replay, key rotation, provider replacement, release rebuild, source recovery, public claim downgrade, and artifact mismatch.",
      "public_boundary": "Public pages may name packet class and public proof requirement; private steps, keys, accounts, and sensitive routes stay private.",
      "downgrade_behavior": "If recovery path is missing, do not claim continuity beyond the last public evidence."
    }
  ],
  "closure_questions": [
    "Who owns this fact?",
    "Where is the source?",
    "What version is it?",
    "What public claim depends on it?",
    "How fresh is it?",
    "What happens when it is stale?",
    "Who can change it?",
    "How is the change recorded?",
    "How is it recovered after restart?",
    "What must never be inferred from it?"
  ],
  "global_governance_rules": [
    "Source, generated artifact, release package, deployed route, external reference, stale copy, and internal-only material are different states.",
    "The main website can explain source ranking, but owning chains and product surfaces prove current state.",
    "Public information governance should make true facts recoverable without exposing private procedure.",
    "Old folders, old zips, cached exports, and assistant summaries are not owner authority.",
    "If owner, source, version, freshness, change path, recovery path, or forbidden inference cannot be named, the public claim must downgrade."
  ]
}
