{
  "generated_at": "2026-07-23T06:28:08+00:00",
  "status": "validated_with_comparability_caveat",
  "reporting_period": "2026-27",
  "summary": {
    "checks": 21,
    "passed": 21,
    "failed": 0,
    "source_documents": 21,
    "councils_with_structured_current_records": 21,
    "councils_without_structured_current_records": 107,
    "structured_records": 21006,
    "records_with_numeric_helper": 18999,
    "formula_or_variable_price_records": 2525,
    "comparison_ready_records": 0
  },
  "council_record_counts": {
    "berrigan": 423,
    "canada-bay": 1249,
    "cootamundra-gundagai-regional": 817,
    "cumberland": 1452,
    "dubbo-regional": 1589,
    "fairfield": 1453,
    "gwydir": 667,
    "lachlan": 704,
    "lake-macquarie": 1564,
    "liverpool-plains": 663,
    "lockhart": 282,
    "mid-western-regional": 918,
    "moree-plains": 818,
    "narrandera": 474,
    "newcastle": 1442,
    "queanbeyan-palerang-regional": 1159,
    "shellharbour": 1025,
    "shoalhaven": 1874,
    "tamworth-regional": 1255,
    "tenterfield": 529,
    "warrumbungle": 649
  },
  "source_entity_counts": {
    "web:berrigan:797b325b6a829f39:a78e6040ca": 423,
    "web:canada-bay:422ab7473aca33e5:a0fe42e930": 1249,
    "web:cootamundra-gundagai-regional:bd6bb2b710b5ea25:742a297301": 817,
    "web:cumberland:74df5e0f6eb8a1d2:fa64663ee7": 1452,
    "web:dubbo-regional:3f4e09c8694c89fd:1666c131ae": 1589,
    "web:fairfield:56943ba30197b860:6d0eae0be6": 1453,
    "web:gwydir:757b5649ffc561bd:49b1362eb0": 667,
    "web:lachlan:20dbd7f705189c11:30d57809ab": 704,
    "web:lake-macquarie:3501f2f8e209be98:1c6ec0d2e6": 1564,
    "web:liverpool-plains:9358043c2cbac768:76ceabfe6b": 663,
    "web:lockhart:f98d9faa59488dea:095f07d957": 282,
    "web:mid-western-regional:700b5fb2d147ca63:c4edb11661": 918,
    "web:moree-plains:8655a86fc37b163f:b263de0234": 818,
    "web:narrandera:be625126e7f7ec55:3330e2bab4": 474,
    "web:newcastle:53d4b324bf6d3c6c:d0b3c19b75": 1442,
    "web:queanbeyan-palerang-regional:83c88a271f0d496e:d8925aaf49": 1159,
    "web:shellharbour:e9dd5c5c66d43d9c:276650b7b8": 1025,
    "web:shoalhaven:922d650bfdb308e1:372937213a": 1874,
    "web:tamworth-regional:ec6b2986fc1ca472:efc4df94e4": 1255,
    "web:tenterfield:9526e7a7d0e4c7be:68ff09c785": 529,
    "web:warrumbungle:58fb5e9cc6c3c9ed:1ef1037411": 649
  },
  "checks": [
    {
      "id": "portal-source-grain",
      "status": "pass",
      "evidence": "21 unique entity snapshots map to 21 councils."
    },
    {
      "id": "canonical-council-join",
      "status": "pass",
      "evidence": "Every portal snapshot maps to the canonical 128-council register."
    },
    {
      "id": "portal-http-metadata",
      "status": "pass",
      "evidence": "Every entity snapshot records HTTP 200 JSON acquisition through the public fee-portal API."
    },
    {
      "id": "archive-file-presence",
      "status": "pass",
      "evidence": "21 of 21 catalogued entity snapshots exist locally."
    },
    {
      "id": "archive-hash-reconciliation",
      "status": "pass",
      "evidence": "21 of 21 entity snapshots match the catalogued SHA-256."
    },
    {
      "id": "official-landing-relationship",
      "status": "pass",
      "evidence": "21 of 21 API snapshots reconcile to an officially linked council portal landing page and vendor council ID."
    },
    {
      "id": "period-configuration-reconciliation",
      "status": "pass",
      "evidence": "All portal entity and configuration snapshots resolve to 2026-27."
    },
    {
      "id": "source-payload-shape",
      "status": "pass",
      "evidence": "21 of 21 payloads contain a JSON data array."
    },
    {
      "id": "source-entity-uniqueness",
      "status": "pass",
      "evidence": "Eligible entity IDs are unique within all 21 source snapshots."
    },
    {
      "id": "transformed-row-count",
      "status": "pass",
      "evidence": "21,006 transformed rows reconcile to 21,006 deterministic eligible source entities."
    },
    {
      "id": "transformed-source-counts",
      "status": "pass",
      "evidence": "Every source snapshot's transformed row count matches a fresh deterministic extraction."
    },
    {
      "id": "transformed-source-join",
      "status": "pass",
      "evidence": "Every transformed row joins to one of the validated entity snapshots."
    },
    {
      "id": "transformed-entity-join",
      "status": "pass",
      "evidence": "21,006 of 21,006 rows retain an exact source entity ID."
    },
    {
      "id": "transformed-row-uniqueness",
      "status": "pass",
      "evidence": "Record IDs and source-document/entity locations are unique."
    },
    {
      "id": "required-published-text",
      "status": "pass",
      "evidence": "Every row retains a non-blank published description; 41 source entities have no published price field and remain blank rather than receiving an inferred value."
    },
    {
      "id": "current-period-tag",
      "status": "pass",
      "evidence": "Every structured portal row is tagged 2026-27."
    },
    {
      "id": "record-verification-state",
      "status": "pass",
      "evidence": "Every structured row uses the source-record verification state; no PDF candidate is promoted."
    },
    {
      "id": "numeric-domain",
      "status": "pass",
      "evidence": "No extracted numeric helper value is negative."
    },
    {
      "id": "taxonomy-domain",
      "status": "pass",
      "evidence": "All automated category values belong to the published provisional taxonomy."
    },
    {
      "id": "comparison-guardrail",
      "status": "pass",
      "evidence": "All rows explicitly withhold cross-council comparability pending unit and inclusion validation."
    },
    {
      "id": "variable-fee-preservation",
      "status": "pass",
      "evidence": "2,525 formula, percentage or variable-price rows retain the published price text instead of being reduced to a comparison value."
    }
  ],
  "qualification": "Validation confirms the archived source response, official portal relationship, period, entity identity and preserved published price fields. Automated taxonomy, inferred units and like-for-like fee comparison remain provisional; 107 councils have no structured current portal records in this layer."
}
