{
  "schema_version": "qazaqstan-space-infrastructure-contract-v1",
  "product_id": "qazaqstan-space",
  "data_as_of": "2026-07-27T12:35:00Z",
  "publication_mode": "reviewed-public-contract",
  "summary": "Qazaqstan.Space is a static public editorial product on VPS/nginx. It consumes public-safe contracts from QazStack, AV DS 4.6.0, QazGeo, QazLake and QazPipe. QazQompute is not a public runtime dependency until a concrete batch-compute workflow is introduced.",
  "systems": [
    {
      "id": "qazstack",
      "name": "QazStack",
      "role": "product contract, source semantics and consumer-readiness boundary",
      "integration_mode": "http-contract",
      "status": "active",
      "public_surfaces": [
        "/.well-known/qazstack-consumer.json",
        "/data/qazstack-thematic-product.json",
        "/data/v1/index.json",
        "/ops"
      ],
      "evidence": [
        "public contract targets QazStack 1.40.0",
        "release pipeline validates corpus counts, source classes and public runtime routes"
      ],
      "boundary": "QazStack supplies contract semantics; Qazaqstan.Space owns editorial records, domain publication and public projection."
    },
    {
      "id": "avds4",
      "name": "AV DS 4.6.0",
      "role": "visual semantics, component states and public interface vocabulary",
      "integration_mode": "static-adapter",
      "status": "active",
      "public_surfaces": [
        "/.well-known/avds-ui-contract.json",
        "/ops",
        "/method"
      ],
      "evidence": [
        "AV DS 4.6.0 contract declares adopted patterns",
        "live AVDS.digital reference exposes 165/165 route coverage and 123 component catalogue entries",
        "app/avds-v4.css is bundled with the site"
      ],
      "boundary": "AV DS does not own editorial policy, source verification or geography. It supplies interface vocabulary only."
    },
    {
      "id": "qazgeo",
      "name": "QazGeo",
      "role": "public map layers and safe geographic projection",
      "integration_mode": "browser-fetch-with-static-fallback",
      "status": "active",
      "public_surfaces": [
        "/atlas",
        "/data/qazgeo/layers.json",
        "/data/v1/atlas.json"
      ],
      "evidence": [
        "atlas loads QazGeo vector tiles for regions and infrastructure",
        "static QazGeo snapshots are served under /data/qazgeo for degraded mode"
      ],
      "boundary": "QazGeo provides public geography. Qazaqstan.Space object markers remain reviewed editorial records and do not expose sensitive coordinates."
    },
    {
      "id": "qazlake",
      "name": "QazLake",
      "role": "normalized public-safe water and event data exposed through QazGeo snapshots",
      "integration_mode": "static-snapshot-via-qazgeo",
      "status": "active",
      "public_surfaces": [
        "/data/qazgeo/water-objects.geojson",
        "/data/qazgeo/hydro-stations.geojson",
        "/data/qazgeo/events.geojson",
        "/atlas"
      ],
      "evidence": [
        "water objects and hydropost snapshots carry qazlake provenance",
        "event snapshots carry QazPipe -> QazLake Shadow -> QazGeo provenance"
      ],
      "boundary": "The public site publishes normalized, safe map snapshots only. It is not a raw QazLake lakehouse browser."
    },
    {
      "id": "qazpipe",
      "name": "QazPipe",
      "role": "pipeline provenance for safe event snapshots",
      "integration_mode": "provenance-only-public-snapshot",
      "status": "active",
      "public_surfaces": [
        "/data/qazgeo/events.geojson",
        "/atlas"
      ],
      "evidence": [
        "events.geojson records provenance as qazpipe.shadow_bridge/qazlake.shadow",
        "atlas labels operational events as QazPipe -> QazLake"
      ],
      "boundary": "QazPipe is visible as provenance for already-filtered public snapshots. The site does not expose internal jobs, queues or raw pipeline payloads."
    },
    {
      "id": "qazqompute",
      "name": "QazQompute",
      "role": "future batch-compute boundary for heavy derived analytics",
      "integration_mode": "not-runtime-dependency",
      "status": "deferred",
      "public_surfaces": [
        "/ops",
        "/data/v1/infrastructure-contract.json"
      ],
      "evidence": [
        "current build and runtime are static and do not require a compute cluster",
        "future jobs must publish an input/output contract before being cited on the site"
      ],
      "boundary": "Do not claim QazQompute integration until a reproducible job, dataset input, output path and owner are published."
    },
    {
      "id": "shadow",
      "name": "Shadow public-safe space layer",
      "role": "reviewed public-safe event and space-layer inspiration",
      "integration_mode": "selective-public-snapshot",
      "status": "limited",
      "public_surfaces": [
        "/atlas",
        "/data/qazgeo/events.geojson"
      ],
      "evidence": [
        "only public-safe event snapshots and public CelesTrak mechanics are used",
        "military, aircraft, maritime, CCTV and private feeds remain outside the product"
      ],
      "boundary": "Shadow is not mirrored wholesale. Sensitive feeds and private operational data are excluded."
    },
    {
      "id": "vps-nginx",
      "name": "VPS/nginx production surface",
      "role": "static public release and canonical production source",
      "integration_mode": "static-release",
      "status": "active",
      "public_surfaces": [
        "/RELEASE_COMMIT",
        "/health.json",
        "/ops"
      ],
      "evidence": [
        "production release is served from /var/www/qazaqstan.space/current",
        "public smoke validates routes, data counts, redirects and commit marker"
      ],
      "boundary": "VPS/nginx is the current production source of truth. Retired hosting projects are not authoritative."
    }
  ],
  "rules": [
    "Public contracts must describe only integrations that are observable in the repository or production surface.",
    "Raw lakehouse records, internal pipeline jobs, exact sensitive coordinates and operational telemetry are not public product data.",
    "A deferred system may be named only with an explicit boundary and a future activation condition.",
    "Every production release must keep QazStack, AV DS, QazGeo and infrastructure-contract routes in the smoke checks."
  ]
}
