{
  "manifest_version": "1.0.0",
  "release_id": "DAH-2026-09-07-r1",
  "title": "Delhi Air Health Research Release 1",
  "finalized_at": "2026-09-07T11:11:20.304157+00:00",
  "archive_window": {
    "start": "2026-09-06T10:30:00+00:00",
    "end": "2026-09-07T09:30:00+00:00"
  },
  "versions": {
    "code": "2.8.0",
    "methods": "1.1.0",
    "analysis_spec": "1.0.0",
    "schema": 2,
    "quality_rules": "1.0.0"
  },
  "source": {
    "resource_id": "3b01bcb8-0b14-4abf-b6f2-c1bfd384ba69",
    "normalized_source": "CPCB Open Government Data particulate station snapshots archived by Delhi Air Health"
  },
  "counts": {
    "normalized_snapshots": 1229,
    "monitor_hours": 1632,
    "station_feeds": 68,
    "physical_sites": 67,
    "raw_ledger_rows": 142,
    "provenance_runs": 1,
    "quality_flags": 0,
    "metadata_events": 0,
    "legacy_normalized_rows_without_per_run_raw_provenance": 1162
  },
  "files": [
    {
      "path": "monitor-hours.csv",
      "media_type": "text/csv; charset=utf-8",
      "rows": 1632,
      "bytes": 214708,
      "sha256": "dafd8616213070712d175734625e6af35cbf16cbdbb6f0bbcc6133a625cccdfd",
      "description": "Frozen monitor-hour analysis table with explicit missingness states."
    },
    {
      "path": "stations.csv",
      "media_type": "text/csv; charset=utf-8",
      "rows": 68,
      "bytes": 12958,
      "sha256": "db134920c1e43ac72433f1b6ca65a27218c0b76dcae9ae5f587ce8d657c779d2",
      "description": "Frozen station/feed registry and physical-site identifiers."
    },
    {
      "path": "campus-links.csv",
      "media_type": "text/csv; charset=utf-8",
      "rows": 30,
      "bytes": 10142,
      "sha256": "400ab285c8383758f4cedb86a1f22fa90e5c93f4e35e343360b90a9841bf1cdc",
      "description": "Frozen campus coordinates and campus-to-reference-monitor links."
    },
    {
      "path": "normalized-snapshots.csv",
      "media_type": "text/csv; charset=utf-8",
      "rows": 1229,
      "bytes": 239683,
      "sha256": "a2abd5b04a5a019d6b8b7ef436ff3ce41fe5f5a27226aeb12ef227a8ecc36c4c",
      "description": "Frozen normalized source-snapshot layer used to derive monitor-hours."
    },
    {
      "path": "collection-runs.csv",
      "media_type": "text/csv; charset=utf-8",
      "rows": 1,
      "bytes": 455,
      "sha256": "ac897716fee2dd7b45f87b39ecce925684ba010c62a996966d6b0d2d26a220ae",
      "description": "Frozen provenance-tracked ingestion runs included in the release."
    },
    {
      "path": "quality-flags.csv",
      "media_type": "text/csv; charset=utf-8",
      "rows": 0,
      "bytes": 113,
      "sha256": "3b35f35475ea12a5ecb83afeef2bde11c2b6a3151ee4b125dcad348b809924a7",
      "description": "Frozen QC flag ledger. Flags do not imply exclusion."
    },
    {
      "path": "metadata-events.csv",
      "media_type": "text/csv; charset=utf-8",
      "rows": 0,
      "bytes": 97,
      "sha256": "c7dd3d9bbdc96f453c4b812be2cd342a835d4c584caed0d8f564d33491e9dea0",
      "description": "Frozen station metadata-change audit events."
    },
    {
      "path": "raw-observations.ndjson",
      "media_type": "application/x-ndjson; charset=utf-8",
      "rows": 142,
      "bytes": 112917,
      "sha256": "f9a774ef0333a0051b569cc51504ae7902bedd8d83ffee26cec2cd216e261299",
      "description": "Append-only raw CPCB OGD records from provenance-tracked runs included in this release."
    },
    {
      "path": "README.txt",
      "media_type": "text/plain; charset=utf-8",
      "rows": null,
      "bytes": 1138,
      "sha256": "63b3996eae2cb28469c477671280a89d5dbb96c8026a79b55a3f1f1703f5cb1b",
      "description": "Release-level interpretation and provenance notes."
    }
  ],
  "checksum_algorithm": "SHA-256",
  "provenance_boundary": "Per-run raw source-record provenance begins with collector v2.7. Earlier normalized archive rows are retained as legacy observations and are not assigned retroactive raw provenance.",
  "notes": "First frozen Delhi Air Health research release. Normalized archive history begins before per-run raw provenance; raw source-record provenance is available only for collector v2.7+ runs included in this release."
}
