{
  "schema": "qz.energy.infrastructure-contract/v1",
  "project_id": "qz-energy",
  "release_id": "v0.6.3-20260728T182500Z",
  "generated_at": "2026-07-28T23:25:00+05:00",
  "public_safe": true,
  "runtime": {
    "domain": "https://qz.energy",
    "server": "62.72.32.112",
    "release_model": "immutable-static-release-nginx-symlink",
    "active_public_root": "/opt/qz-energy/current/public"
  },
  "components": [
    {
      "id": "qazstack",
      "name": "QazStack",
      "role": "Контракт продукта, выпуск, публичный gate и потребительский паспорт.",
      "mode": "consumer-contract",
      "public_surface": [
        "data/qazstack-consumer.json",
        "data/qazstack-thematic-product.json",
        "data/thematic-release.json"
      ],
      "private_surface": [],
      "required_gate": true,
      "status": "active"
    },
    {
      "id": "qazpipe",
      "name": "QazPipe",
      "role": "Захват кандидатных публикаций, контроль происхождения и хешей до редакционной проверки.",
      "mode": "private-capture",
      "public_surface": [
        "data/public-export-contract.json",
        "data/source-allowlist.json"
      ],
      "private_surface": [
        "/opt/qz-energy/private/qazpipe-candidates.jsonl",
        "private/qazpipe-candidates.jsonl"
      ],
      "required_gate": true,
      "status": "active-private"
    },
    {
      "id": "qazlake",
      "name": "QazLake",
      "role": "Нормализация одобренных записей и граница проверенного публичного экспорта.",
      "mode": "reviewed-export",
      "public_surface": [
        "data/qz-energy-public-snapshot.json",
        "data/energy-indicators.json",
        "data/object-passports.json",
        "data/datasets.json",
        "data/entities.json",
        "data/entity-graph.json",
        "data/facts.ndjson",
        "data/claims.ndjson"
      ],
      "private_surface": [
        "private/reviewed-public-records.json"
      ],
      "required_gate": true,
      "status": "active-reviewed"
    },
    {
      "id": "qazgeo",
      "name": "QazGeo",
      "role": "Геометрия регионов и обобщённый публичный контекст для карты энергетики.",
      "mode": "same-domain-geo-bridge",
      "public_surface": [
        "geo/qazgeo-regions-geojson",
        "data/kazakhstan-regions.geojson",
        "data/energy-map-view.json",
        "data/public-energy-map.geojson"
      ],
      "private_surface": [],
      "required_gate": true,
      "status": "active"
    },
    {
      "id": "avds4",
      "name": "AV DS 4.4",
      "role": "Локальный слой интерфейсных примитивов, типографики, карточек и продуктовых композиций.",
      "mode": "local-static-assets",
      "public_surface": [
        "assets/avds4.css",
        "assets/product-v5.css",
        "data/avds-pattern-exchange.json",
        "data/ui-contract.json"
      ],
      "private_surface": [],
      "required_gate": true,
      "status": "active"
    },
    {
      "id": "qazcompute",
      "aliases": [
        "qazqompute"
      ],
      "name": "QazCompute",
      "role": "Объяснимая аналитика для редакционной проверки; не самостоятельный публичный источник фактов.",
      "mode": "restricted-inference-boundary",
      "public_surface": [
        "data/scientific-foundation.bundle.json",
        "data/scientific-foundation.bundle.source.json"
      ],
      "private_surface": [
        "restricted service health outside public browser"
      ],
      "required_gate": false,
      "status": "guarded-optional",
      "publication_rule": "Вывод QazCompute не становится публичным фактом без source_url, period, review_status и редакционного подтверждения."
    }
  ],
  "server_evidence": {
    "production_timer": "qz-energy-public-monitor.timer",
    "capture_timer": "qz-energy-capture-reviewed-sources.timer",
    "qazpipe_candidate_store": "/opt/qz-energy/private/qazpipe-candidates.jsonl",
    "qazgeo_bridge": "https://qz.energy/geo/qazgeo-regions-geojson"
  },
  "public_prohibitions": [
    "Не публиковать точные технические координаты, режимы работы и уязвимые параметры критической инфраструктуры.",
    "Не выдавать сырой поток QazPipe или закрытые записи QazLake за проверенную публичную информацию.",
    "Не публиковать вывод QazCompute без первичного источника и редакционного подтверждения.",
    "Не подменять недоступность QazGeo сгенерированной геометрией без явного статуса резервного слоя."
  ]
}
