{
  "schema_version": "1.0",
  "contract_version": "2026-09-14",
  "generated_at": "2026-09-15T14:15:03Z",
  "registry_sha256": "f71574c331033506af33bbc142c3eb91e8f5ce6804dece75f9e7655e243ae575",
  "summary": {
    "product_count": 22,
    "by_status": {
      "healthy": 13,
      "classified": 8,
      "retired": 1
    },
    "active_failure_count": 0,
    "active_failures": [],
    "registry_error_count": 0,
    "strict_pass": true
  },
  "registry_issues": [],
  "products": [
    {
      "id": "qeaa",
      "name": "QEAA Trusted-List Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://qeaa-eatf-eu.pages.dev/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (15430 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=3 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='ddbd32e780beb2143f96d96558e9c0d34806ecbd1eda1e7e6c1776d10ad186a2' (sha256_artifact artifact='observations/2026-09-15T04-40-03Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 35 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=3) (evidence_history; 3 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='no-change' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 3 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "riigikogu",
      "name": "Riigikogu Legislative Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://riigikogu-eatf-eu.pages.dev/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (5630 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=3 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='e54b4790398ff6db26f6985869ec729c1554fc59253a92d156bfbd01947fdfdb' (sha256_artifact artifact='observations/2026-09-15T05-11-15Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 7 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=3) (evidence_history; 3 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='observed' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 3 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "pallas-watch",
      "name": "PALLAS Governance Watch",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://pallas-watch-eatf-eu.pages.dev/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (7639 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=5 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='9d7d8767ac131a9b2d9f6f6839caced02e8ebf6eeb725ea4332af00fed5c0d72' (sha256_artifact artifact='observations/2026-09-15T13-25-04Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 1 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=5) (evidence_history; 5 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='gap' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 5 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "consultation-radar",
      "name": "Consultation Radar",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://consultation-radar-eatf-eu.pages.dev/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (3649 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-14T00:00:00Z; age 38.3h; SLO 120h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=3 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='11cc9c35b86784532c461c8a4d8aa0731f931a062cc1072e9f9bcd1726fbb2ed' (sha256_artifact artifact='observations/2026-09-14T04-40-44Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 1 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=3) (evidence_history; 3 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='gap' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 3 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-14T00:00:00Z",
      "age_hours": 38.25
    },
    {
      "id": "cassandra",
      "name": "Cassandra Trusted-List Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://cassandra.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (13619 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=114 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/packaged_evidence_count=114 (gte 1)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/eatf/valid=True (eq True)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "vesta",
      "name": "VESTA Source-Capture Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://vesta.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (9800 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T01:39:56Z; age 12.6h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/runs=list(len=109) (nonempty)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/capture/run_date_matches_capture=True (eq True)"
        }
      ],
      "observed_at": "2026-09-15T01:39:56Z",
      "age_hours": 12.59
    },
    {
      "id": "rqscd",
      "name": "Remote-QSCD Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://rqscd.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (22697 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=37 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='bf9c998405110c0ef4b150d5e26de5ca251bb5d0f650efb57f6e0d19e4d8a91c' (sha256_artifact artifact='observations/2026-09-15T04-30-21Z/manifest.json'; digest verified; manifest and 4 packet artifact(s) verified byte-for-byte)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=37) (evidence_history; 37 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='no-change' (in ['observed', 'no-change', 'gap'])"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "limen",
      "name": "LIMEN Edge-Case Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://limen.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (11225 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 72h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=39 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='37420da39dfd3f7ede68b0dfa63846ed13593900f1ce495c2dc49789bfed68eb' (sha256_artifact artifact='observations/2026-09-15T03-40-05Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 1 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=39) (evidence_history; 39 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='observed' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 39 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "rhr",
      "name": "RHR AI/PQC/PKI Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://rhr.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (8915 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-14T00:00:00Z; age 38.3h; SLO 216h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=12 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='0bbc36880b1b3842676c4e14ed1ef441bc739d73d19346212dd5028fda517564' (sha256_artifact artifact='observations/2026-09-14T02-20-03Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 3 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=12) (evidence_history; 12 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='observed' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 12 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-14T00:00:00Z",
      "age_hours": 38.25
    },
    {
      "id": "obscure-ai",
      "name": "Obscure AI Atlas",
      "class": "atlas",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://obscure-ai.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (11033 bytes)"
        }
      ],
      "release": {
        "version": "1.3.6",
        "date": "2026-08-13",
        "history_url": "https://doi.org/10.5281/zenodo.21229625",
        "changelog_url": "https://obscure-ai.eatf.eu/",
        "review_policy": "Versioned releases; no continuous-freshness claim."
      }
    },
    {
      "id": "gaia",
      "name": "GAIA Agent Atlas",
      "class": "atlas",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://gaia.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (7414660 bytes)"
        }
      ],
      "release": {
        "version": "0.1",
        "date": "2026-06-06",
        "history_url": "https://gaia.eatf.eu/docs/release-note-v0.1.md",
        "changelog_url": "https://gaia.eatf.eu/docs/release-note-v0.1.md",
        "review_policy": "New version only after a corpus rebuild and release audit."
      }
    },
    {
      "id": "pallas",
      "name": "PALLAS PKI Atlas",
      "class": "atlas",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://pallas.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (12511 bytes)"
        }
      ],
      "release": {
        "version": "0",
        "date": "2026-05-31",
        "history_url": "https://pallas.eatf.eu/",
        "changelog_url": "https://pallas.eatf.eu/",
        "review_policy": "Frozen first release; a rebuild must create a new version."
      }
    },
    {
      "id": "happy",
      "name": "Happy Scenario Atlas",
      "class": "atlas",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://happy.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (7048325 bytes)"
        },
        {
          "name": "release-1",
          "ok": true,
          "detail": "/latest_version='v0.1' (eq 'v0.1')"
        },
        {
          "name": "release-2",
          "ok": true,
          "detail": "/release_count=1 (gte 1)"
        },
        {
          "name": "release-3",
          "ok": true,
          "detail": "/manifest_sha256='b573af8ee585821ac54465b5d7097fec01aa2bbb5529c844a32b3a2ba54268cf' (sha256_artifact artifact='releases/v0.1/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte)"
        }
      ],
      "release": {
        "version": "v0.1",
        "date": "2026-06-07",
        "history_url": "https://happy.eatf.eu/data/release-lineage/index.json",
        "changelog_url": "https://happy.eatf.eu/data/release-lineage/releases/v0.1/release.json",
        "review_policy": "A new version requires a reproducible corpus rebuild, regenerated simulation outputs, and release audit.",
        "assertions": [
          {
            "kind": "json_assert",
            "url": "https://happy.eatf.eu/data/release-lineage/index.json",
            "pointer": "/latest_version",
            "operator": "eq",
            "value": "v0.1"
          },
          {
            "kind": "json_assert",
            "url": "https://happy.eatf.eu/data/release-lineage/index.json",
            "pointer": "/release_count",
            "operator": "gte",
            "value": 1
          },
          {
            "kind": "json_assert",
            "url": "https://happy.eatf.eu/data/release-lineage/latest.json",
            "pointer": "/manifest_sha256",
            "operator": "sha256_artifact",
            "artifact_pointer": "/manifest"
          }
        ]
      }
    },
    {
      "id": "ai-observability",
      "name": "AI Governance Observability Index",
      "class": "snapshot",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://ai-observability.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (20926 bytes)"
        }
      ],
      "snapshot": {
        "date": "2026-06-01",
        "reason": "Frozen indicator-matrix research reading; the page explicitly disclaims continuous updates."
      }
    },
    {
      "id": "research-atlas",
      "name": "Tyche Research Atlas",
      "class": "snapshot",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://atlas.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (20807 bytes)"
        }
      ],
      "snapshot": {
        "date": "2026-06-07",
        "reason": "Dated research-corpus snapshot with a versioned manifest."
      }
    },
    {
      "id": "aion",
      "name": "AION Market Snapshot",
      "class": "snapshot",
      "enforcement": "retired",
      "status": "retired",
      "landing_url": "https://aion.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (10792 bytes)"
        }
      ],
      "snapshot": {
        "date": "2026-06-14",
        "reason": "Project stopped; preserved as a volatile-market snapshot, not a live monitor."
      }
    },
    {
      "id": "patent",
      "name": "Patent Topology Snapshot",
      "class": "snapshot",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://patent.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (10242 bytes)"
        }
      ],
      "snapshot": {
        "date": "2026-06-14",
        "reason": "Dated topology snapshot; collection services are operationally separate from this publication."
      }
    },
    {
      "id": "procurement",
      "name": "Public Procurement Dataset",
      "class": "atlas",
      "enforcement": "active",
      "status": "classified",
      "landing_url": "https://procurement.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (27900 bytes)"
        },
        {
          "name": "release-1",
          "ok": true,
          "detail": "/latest_version='2026-07-04' (eq '2026-07-04')"
        },
        {
          "name": "release-2",
          "ok": true,
          "detail": "/release_count=1 (gte 1)"
        },
        {
          "name": "release-3",
          "ok": true,
          "detail": "/manifest_sha256='2f8eefee54119d295d5c4b6760695e7828fca21754d48871394bdd7da3583d0b' (sha256_artifact artifact='releases/2026-07-04/manifest.json'; digest verified; manifest and 4 packet artifact(s) verified byte-for-byte)"
        }
      ],
      "release": {
        "version": "2026-07-04",
        "date": "2026-07-04",
        "history_url": "https://procurement.eatf.eu/data/release-lineage/index.json",
        "changelog_url": "https://procurement.eatf.eu/data/release-lineage/releases/2026-07-04/release.json",
        "review_policy": "A new version requires a new dated harvest, provenance verification, precision gate, and explicit changelog.",
        "assertions": [
          {
            "kind": "json_assert",
            "url": "https://procurement.eatf.eu/data/release-lineage/index.json",
            "pointer": "/latest_version",
            "operator": "eq",
            "value": "2026-07-04"
          },
          {
            "kind": "json_assert",
            "url": "https://procurement.eatf.eu/data/release-lineage/index.json",
            "pointer": "/release_count",
            "operator": "gte",
            "value": 1
          },
          {
            "kind": "json_assert",
            "url": "https://procurement.eatf.eu/data/release-lineage/latest.json",
            "pointer": "/manifest_sha256",
            "operator": "sha256_artifact",
            "artifact_pointer": "/manifest"
          }
        ]
      }
    },
    {
      "id": "regwatch",
      "name": "EU Regulation Change Watch",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://regwatch.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (46910 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=39 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='8210713521051f8c2f81605a7c5d4102dd9a89401b3fd1e8df7e38b3aec32979' (sha256_artifact artifact='observations/2026-09-15T05-35-03Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 6 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=39) (evidence_history; 39 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='no-change' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 39 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "greece-eid-notification",
      "name": "EL/IE/HU eID Notification Watch",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://greece-eid.eatf.eu/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (36105 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=35 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='54206b13fcca85b2b85f165d6e97ebba263416306796c6be469cfa1aa7a3b41b' (sha256_artifact artifact='observations/2026-09-15T05-10-03Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 3 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=35) (evidence_history; 35 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='no-change' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 35 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "tlhealth",
      "name": "TLHealth Trusted-List Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://tlhealth-eatf-eu.pages.dev/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (19508 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=16 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='85224898f92c0c16c5bbf5bc6a441c5842bb9e70217a3d55714e3ccfbdc26fa6' (sha256_artifact artifact='observations/2026-09-15T02-40-05Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 4 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=16) (evidence_history; 16 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='observed' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 16 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    },
    {
      "id": "agora",
      "name": "AGORA EUDIW Ecosystem Observatory",
      "class": "observatory",
      "enforcement": "active",
      "status": "healthy",
      "landing_url": "https://agora-eatf-eu.pages.dev/",
      "checks": [
        {
          "name": "landing",
          "ok": true,
          "detail": "reachable (25514 bytes)"
        },
        {
          "name": "freshness",
          "ok": true,
          "detail": "observed 2026-09-15T00:00:00Z; age 14.3h; SLO 36h"
        },
        {
          "name": "history-1",
          "ok": true,
          "detail": "/run_count=17 (gte 1)"
        },
        {
          "name": "evidence-1",
          "ok": true,
          "detail": "/artifacts/manifest_sha256='143beecc588f77fcace10e50bc78ff2577bb2d7996d383c63e417d733f3a4e1a' (sha256_artifact artifact='observations/2026-09-15T04-50-03Z/manifest.json'; digest verified; manifest and 3 packet artifact(s) verified byte-for-byte; 1 captured blob(s) verified)"
        },
        {
          "name": "evidence-2",
          "ok": true,
          "detail": "/runs=list(len=17) (evidence_history; 17 historical manifest(s) and all declared bytes verified)"
        },
        {
          "name": "evidence-3",
          "ok": true,
          "detail": "/outcome='gap' (in ['observed', 'no-change', 'gap'])"
        },
        {
          "name": "evidence-index-parity",
          "ok": true,
          "detail": "run-ID parity verified: 17 canonical local/public run ID(s)"
        }
      ],
      "observed_at": "2026-09-15T00:00:00Z",
      "age_hours": 14.25
    }
  ]
}
