{
  "checks": [
    {
      "description": "Schema conformance for participants_annual.csv",
      "details": {
        "errors": [],
        "rows": 13
      },
      "id": "schema_participants_annual",
      "status": "pass"
    },
    {
      "description": "Schema conformance for participants_age_bands.csv",
      "details": {
        "errors": [],
        "rows": 36
      },
      "id": "schema_participants_age_bands",
      "status": "pass"
    },
    {
      "description": "Schema conformance for providers_multi_series.csv",
      "details": {
        "errors": [],
        "rows": 22
      },
      "id": "schema_providers_multi_series",
      "status": "pass"
    },
    {
      "description": "Schema conformance for forecast_vintages.csv",
      "details": {
        "errors": [],
        "rows": 13
      },
      "id": "schema_forecast_vintages",
      "status": "pass"
    },
    {
      "description": "Schema conformance for workforce.csv",
      "details": {
        "errors": [],
        "rows": 3
      },
      "id": "schema_workforce",
      "status": "pass"
    },
    {
      "description": "Schema conformance for budget_actuals.csv",
      "details": {
        "errors": [],
        "rows": 12
      },
      "id": "schema_budget_actuals",
      "status": "pass"
    },
    {
      "description": "Schema conformance for macro_context_annual.csv",
      "details": {
        "errors": [],
        "rows": 14
      },
      "id": "schema_macro_context_annual",
      "status": "pass"
    },
    {
      "description": "Schema conformance for scenario_defaults.json",
      "details": {
        "errors": []
      },
      "id": "schema_scenario_defaults",
      "status": "pass"
    },
    {
      "description": "Participants, providers, and forecast costs are within required positive ranges",
      "details": {
        "errors": []
      },
      "id": "range_checks",
      "status": "pass"
    },
    {
      "description": "participants_annual has all years 2014-2026 and no duplicate snapshot dates",
      "details": {
        "errors": [],
        "years": [
          2014,
          2015,
          2016,
          2017,
          2018,
          2019,
          2020,
          2021,
          2022,
          2023,
          2024,
          2025,
          2026
        ]
      },
      "id": "participants_annual_continuity",
      "status": "pass"
    },
    {
      "description": "Age-band sums exactly match participants_annual for each age-band snapshot",
      "details": {
        "errors": [],
        "snapshots": {
          "2023-06-30": {
            "active_participants": 610502,
            "age_band_sum": 610502
          },
          "2024-06-30": {
            "active_participants": 661267,
            "age_band_sum": 661267
          },
          "2025-06-30": {
            "active_participants": 739414,
            "age_band_sum": 739414
          },
          "2026-03-31": {
            "active_participants": 774456,
            "age_band_sum": 774456
          }
        }
      },
      "id": "age_band_sums_match_annual",
      "status": "pass"
    },
    {
      "description": "Registered plus unregistered active provider ABNs must be strictly greater than deduplicated all-provider ABNs",
      "details": {
        "errors": [],
        "snapshots": {
          "2024-06-30": {
            "all_active_provider_abns": 215779,
            "excess": 785,
            "expected_excess": 785,
            "registered_plus_unregistered": 216564
          },
          "2025-06-30": {
            "all_active_provider_abns": 269432,
            "excess": 949,
            "expected_excess": 949,
            "registered_plus_unregistered": 270381
          },
          "2026-03-31": {
            "all_active_provider_abns": 277376,
            "excess": 5311,
            "expected_excess": 5311,
            "registered_plus_unregistered": 282687
          }
        }
      },
      "id": "provider_dedup_invariant",
      "status": "pass"
    },
    {
      "description": "2025 age-band definition break is explicit: pre2025 only before 2025-01-01, post2025 only after",
      "details": {
        "errors": [],
        "message": "NDIS early-childhood age limit expanded from under 7 to under 9 in 2025."
      },
      "id": "age_band_break_2025",
      "status": "pass"
    },
    {
      "description": "Active participants strictly increase from 2014 to 2026",
      "details": {
        "errors": []
      },
      "id": "monotonic_participant_growth",
      "status": "pass"
    },
    {
      "description": "Phase 2 budget and macro files have expected rows, monotonic series, and budget/participant sanity check",
      "details": {
        "avg_cost_2023_24": 63287.597899184446,
        "errors": []
      },
      "id": "phase2_dataset_integrity",
      "status": "pass"
    },
    {
      "description": "scenario_defaults.provider_density_feedback_strength equals 0 exactly",
      "details": {
        "provider_density_feedback_strength": 0.0
      },
      "id": "feedback_zero_rule",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://dataresearch.ndis.gov.au/media/1793/download",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://dataresearch.ndis.gov.au/media/1793/download"
      },
      "id": "live_source_1",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://oia.pmc.gov.au/sites/default/files/posts/2026/05/Impact%20Analysis_0.pdf",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://oia.pmc.gov.au/sites/default/files/posts/2026/05/Impact%20Analysis_0.pdf"
      },
      "id": "live_source_2",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.aph.gov.au/About_Parliament/Parliamentary_departments/Parliamentary_Library/Research/Budget_Review/2021-22/NationalDisabilityInsuranceSchemeFunding",
      "details": {
        "figure_check_missing": [],
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.aph.gov.au/About_Parliament/Parliamentary_departments/Parliamentary_Library/Research/Budget_Review/2021-22/NationalDisabilityInsuranceSchemeFunding"
      },
      "id": "live_source_3",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.dss.gov.au/system/files/resources/ndis-national-workforce-plan-2021-2025.pdf",
      "details": {
        "error": "The read operation timed out",
        "source_status": "unreachable",
        "url": "https://www.dss.gov.au/system/files/resources/ndis-national-workforce-plan-2021-2025.pdf"
      },
      "id": "live_source_4",
      "status": "warn"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/1585/download",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/1585/download"
      },
      "id": "live_source_5",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/2348/download",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/2348/download"
      },
      "id": "live_source_6",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/2780/download",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/2780/download"
      },
      "id": "live_source_7",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/3067/download?attachment=",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/3067/download?attachment="
      },
      "id": "live_source_8",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/3561/download?attachment=",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/3561/download?attachment="
      },
      "id": "live_source_9",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/482/download",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/482/download"
      },
      "id": "live_source_10",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/5072/download?attachment=",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/5072/download?attachment="
      },
      "id": "live_source_11",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/6260/download?attachment=",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/6260/download?attachment="
      },
      "id": "live_source_12",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/7219/download?attachment=",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/7219/download?attachment="
      },
      "id": "live_source_13",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/7893/download?attachment=",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/7893/download?attachment="
      },
      "id": "live_source_14",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/media/8643/download?attachment=",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/media/8643/download?attachment="
      },
      "id": "live_source_15",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/news/6590-ndis-financial-sustainability-report-release",
      "details": {
        "figure_check_missing": [],
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/news/6590-ndis-financial-sustainability-report-release"
      },
      "id": "live_source_16",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/news/6930-annual-financial-sustainability-report-2020-21",
      "details": {
        "figure_check_missing": [],
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/news/6930-annual-financial-sustainability-report-2020-21"
      },
      "id": "live_source_17",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndis.gov.au/publications/annual-report/annual-report-2013-14",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndis.gov.au/publications/annual-report/annual-report-2013-14"
      },
      "id": "live_source_18",
      "status": "pass"
    },
    {
      "description": "Best-effort live source check for https://www.ndisreview.gov.au/resources/paper/building-more-responsive-and-supportive-workforce",
      "details": {
        "http_status": 200,
        "source_status": "ok",
        "url": "https://www.ndisreview.gov.au/resources/paper/building-more-responsive-and-supportive-workforce"
      },
      "id": "live_source_19",
      "status": "pass"
    }
  ],
  "data_version": "v2026-07-03b",
  "generated": "2026-07-03T00:55:36+00:00",
  "summary": {
    "fail": 0,
    "pass": 34,
    "warn": 1
  }
}
