{
  "api_version": "v1",
  "dataset_version": "AdityaNet_v2_dataset_r1",
  "dataset_sha256": "43fd0e228b28ae6bc7e468c3acf68722768bd62b73798eb6631e9e6233b71ed9",
  "generated_at": "2026-07-29T13:34:16.831313+00:00",
  "source_commit": "99af630",
  "data": {
    "title": "Dataset Manifest \u2014 `AdityaNet_v2_dataset_r1`",
    "date": "2026-07-18",
    "lead": "**This dataset is FROZEN and IMMUTABLE.** From this point forward, machine-learning code MUST NOT modify raw measurements, canonical tables, or provenance. Every experiment consumes this dataset read-only.\n\n---",
    "sections": [
      {
        "heading": "1. Identity",
        "body": "| Field | Value |\n|---|---|\n| **Dataset version** | **`AdityaNet_v2_dataset_r1`** |\n| **Dataset hash** | `43fd0e228b28ae6bc7e468c3acf68722768bd62b73798eb6631e9e6233b71ed9` |\n| **Provenance hash** (T7) | `7282b7c34fbd6c2eae7dfca6757f46cdc497b88a9b6312089715479e67be8498` |\n| **Build commit** | `be0b7e5114db41e24f592f6483fa643d98586d02` (`be0b7e5`) |\n| **Specification revision** | **r6** (`PARSER_SPECIFICATION.md`) |\n| **Parser revision** | M-V family (\u00a72.1\u2013\u00a72.9) at r5 + CONTRADICTION-006 Defect-A float-\u03b5 |\n| **Builder revision** | M-VII (\u00a73) at r5 + T3 long-form (r6) |\n| **Validation revision** | M-VIII (`MILESTONE_VIII_VALIDATION_REPORT.md`) |\n| **Archive span** | **2024-02-01 \u2192 2026-06-17 UTC** |\n| **Build timestamp** | 2026-07-18 (build wall time 93.75 min) |\n| **Frozen at** | 2026-07-18 UTC |\n\nThe **dataset hash** is the SHA-256 over the sorted SHA-256s of all 1,985 parquet files \u2014 order-independent and sensitive to any change in any file."
      },
      {
        "heading": "2. Table inventory",
        "body": "| Table | Name | Files | Rows | Table hash (16) |\n|---|---|---|---|---|\n| **T1** | `solexs_lc_1min` | 424 | **610,560** | `5e6d95be2b4359d0` |\n| **T2** | `solexs_spec_1min` | 424 | **610,560** | `4124d5ee4f598b12` |\n| **T3** | `hel1os_lc_1min` | 373 | **1,027,773** | `d814d3ad4c2edcfc` |\n| **T4** | `hel1os_hk_1min` | 389 | **277,054** | `fdb005c60811f51a` |\n| **T5** | `hel1os_spec_1min` | 373 | **1,026,816** | `ff7f5a90a1a3a728` |\n| **T6** | `gti_intervals` | 1 | **2,130** | `5930fe126f49e96f` |\n| **T7** | `provenance_manifest` | 1 | **5,199** | `12c2b6d073b99dc0` |\n| | **Total** | **1,985** | **3,560,092** | 596.9 MB |\n\nPer-file SHA-256 for all 1,985 files: `freeze_manifest.json`.\n\n**Archive coverage:** SoLEXS **424 / 436** daily archives; HEL1OS **389 / 391** orbits. The 14 excluded products are archive defects with owner rulings (`ARCHIVE_QUALITY_REPORT.md`)."
      },
      {
        "heading": "3. Software environment",
        "body": "| Field | Value |\n|---|---|\n| Python | **3.12.12** |\n| Platform | macOS-26.5.2-arm64 (Apple Silicon) |\n| Lockfile | `artifacts/v2/phase05/requirements.lock` (92 packages) |\n| **Lockfile SHA-256** | `6899e001b1c4d64a5aec01b3ee1d2cfce2a3ff38ab64f827a75ab9d55fd13d3f` |\n\nCritical pins: `numpy==1.26.4`, `pandas==2.2.2`, `pyarrow==16.1.0`, `astropy==6.1.7`, `scipy==1.17.1`, `scikit-learn==1.5.0`.\n\n> **numpy is pinned deliberately.** An unpinned `pip install astropy` silently upgraded numpy to 2.5.1 during Phase 0 and was reverted; the lockfile exists so that cannot recur."
      },
      {
        "heading": "4. Provenance chain",
        "body": "Every canonical row traces to exactly one archive product:\n\n```\nISSDC ZIP  \u2192(SHA-256, Phase 0.5.1 manifest)\u2192  extracted L1 FITS\n           \u2192(frozen parsers, \u00a72)\u2192  ParsedProduct + Provenance\n           \u2192(builders, \u00a73)\u2192  canonical row  [src_file, src_sha256, archive_version]\n           \u2192(T7)\u2192  provenance_manifest  [5,199 rows]\n```\n\nT7 completeness: **0 orphan rows, 0 duplicate provenance entries, 0 rows missing provenance** (verified archive-wide)."
      },
      {
        "heading": "5. Reproducibility instructions",
        "body": "```bash\n# 1. environment (exact pins matter \u2014 see \u00a73)\npython3.12 -m venv venv\n./venv/bin/pip install -r artifacts/v2/phase05/requirements.lock\n\n# 2. extract the raw ISSDC archive (827 ZIPs \u2192 135 GB)\n./venv/bin/python scripts/v2/phase05/extract_archive.py\n\n# 3. rebuild the canonical dataset (~94 min)\n./venv/bin/python scripts/v2/phase05/build_canonical.py\n\n# 4. verify identity against this manifest\n./venv/bin/python scripts/v2/phase05/freeze_dataset.py       # \u2192 dataset_hash\n./venv/bin/python scripts/v2/phase05/verify_reproducibility.py\n\n# 5. re-run the scientific validation (optional, ~20 min)\n./venv/bin/python scripts/v2/phase05/validate_scientific.py\n```\n\nA faithful rebuild reproduces the canonical tables **byte-identically** in this pinned environment (demonstrated 12/12 on T1 and T2 \u2014 see `REPRODUCIBILITY_REPORT.md`). The single exception is T7's `parsed_at_utc` column, which records build wall-clock time by design and is therefore excluded from reproducible content hashes."
      },
      {
        "heading": "6. Immutability rules (binding from this point)",
        "body": "1. **No ML code may write to** `artifacts/v2/phase05/canonical/` \u2014 the dataset is read-only.\n2. **No ML code may modify** raw measurements, canonical tables, or provenance.\n3. Feature engineering, normalisation, resampling, and splitting produce **derived artifacts in separate locations**; the frozen tables are inputs only.\n4. Any change to a canonical table requires a **new dataset version** (`_r2`, \u2026) with its own manifest, a proven parser-level contradiction, and an owner ruling.\n5. **Wide-form T3** and any other reshaping are **derived views**, never replacements (spec r6)."
      },
      {
        "heading": "7. Companion documents",
        "body": "`CANONICAL_DATASET_PROFILE.md` (descriptive inventory) \u00b7 `MILESTONE_VII_COMPLIANCE.md` (build compliance) \u00b7 `MILESTONE_VIII_VALIDATION_REPORT.md` (assumptions discharged) \u00b7 `SCIENTIFIC_FINDINGS.md` (F-1\u2026F-7) \u00b7 `ARCHIVE_QUALITY_REPORT.md` (anomalies) \u00b7 `DATA_DICTIONARY.md` (every column) \u00b7 `REPRODUCIBILITY_REPORT.md` (rebuild proof) \u00b7 `ML_READINESS_REPORT.md` (readiness review) \u00b7 `PARSER_SPECIFICATION.md` r6 (the contract)."
      }
    ],
    "source": "artifacts/v2/phase05/DATASET_MANIFEST.md"
  }
}
