{
  "release_id": "2026-05-31.atlas.2",
  "generated_at": "2026-05-31",
  "endpoints": [
    {
      "path": "/",
      "url": "https://painmap.org/",
      "method": "GET",
      "expected_status": 200,
      "format": "text/html",
      "purpose": "Homepage atlas entry"
    },
    {
      "path": "/places/",
      "url": "https://painmap.org/places/",
      "method": "GET",
      "expected_status": 200,
      "format": "text/html",
      "purpose": "Canonical place index route"
    },
    {
      "path": "/countries/",
      "url": "https://painmap.org/countries/",
      "method": "GET",
      "expected_status": 200,
      "format": "text/html",
      "purpose": "Legacy route alias for places"
    },
    {
      "path": "/compare/",
      "url": "https://painmap.org/compare/",
      "method": "GET",
      "expected_status": 200,
      "format": "text/html",
      "purpose": "Compare route"
    },
    {
      "path": "/examples/",
      "url": "https://painmap.org/examples/",
      "method": "GET",
      "expected_status": 200,
      "format": "text/html",
      "purpose": "Developer examples route"
    },
    {
      "path": "/data/openapi.json",
      "url": "https://painmap.org/data/openapi.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "OpenAPI contract"
    },
    {
      "path": "/data/dcat.json",
      "url": "https://painmap.org/data/dcat.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/ld+json",
      "purpose": "DCAT catalog"
    },
    {
      "path": "/data/release-modes.json",
      "url": "https://painmap.org/data/release-modes.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Snapshot and live overlay mode contract"
    },
    {
      "path": "/data/source-freshness.json",
      "url": "https://painmap.org/data/source-freshness.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Source freshness cadence and release-candidate review contract"
    },
    {
      "path": "/data/third-party-fetches.json",
      "url": "https://painmap.org/data/third-party-fetches.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Third-party fetch and release-materialization behavior matrix"
    },
    {
      "path": "/data/accessibility-audit.json",
      "url": "https://painmap.org/data/accessibility-audit.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "WCAG 2.2 AA audit evidence matrix"
    },
    {
      "path": "/data/ui-smoke.json",
      "url": "https://painmap.org/data/ui-smoke.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Accessibility and visual smoke-test manifest"
    },
    {
      "path": "/v1/places/index.json",
      "url": "https://painmap.org/v1/places/index.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Full release place index"
    },
    {
      "path": "/v1/adm1/index.json",
      "url": "https://painmap.org/v1/adm1/index.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "ADM1 poverty-context overlay index"
    },
    {
      "path": "/v1/coverage.json",
      "url": "https://painmap.org/v1/coverage.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Release coverage status"
    },
    {
      "path": "/v1/places/IND/adm1.json",
      "url": "https://painmap.org/v1/places/IND/adm1.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "India ADM1 poverty-context overlay"
    },
    {
      "path": "/v1/places/BRA/neighbors.json",
      "url": "https://painmap.org/v1/places/BRA/neighbors.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Brazil geographic neighbor payload"
    },
    {
      "path": "/ogc/index.json",
      "url": "https://painmap.org/ogc/index.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "OGC API - Features landing document"
    },
    {
      "path": "/ogc/collections/places/items.json",
      "url": "https://painmap.org/ogc/collections/places/items.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/geo+json",
      "purpose": "OGC-style place feature collection"
    },
    {
      "path": "/ogc/collections/places/item-index.json",
      "url": "https://painmap.org/ogc/collections/places/item-index.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Partitioned OGC country feature index"
    },
    {
      "path": "/ogc/collections/places/items/IND.json",
      "url": "https://painmap.org/ogc/collections/places/items/IND.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/geo+json",
      "purpose": "Partitioned India OGC country feature"
    },
    {
      "path": "/clients/typescript/painmap-client.ts",
      "url": "https://painmap.org/clients/typescript/painmap-client.ts",
      "method": "GET",
      "expected_status": 200,
      "format": "text/typescript",
      "purpose": "TypeScript client"
    },
    {
      "path": "/clients/python/painmap_client.py",
      "url": "https://painmap.org/clients/python/painmap_client.py",
      "method": "GET",
      "expected_status": 200,
      "format": "text/x-python",
      "purpose": "Python client"
    },
    {
      "path": "/releases/2026-05-31/manifest.json",
      "url": "https://painmap.org/releases/2026-05-31/manifest.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Immutable release manifest"
    },
    {
      "path": "/releases/2026-05-31/diff.json",
      "url": "https://painmap.org/releases/2026-05-31/diff.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Release diff artifact"
    },
    {
      "path": "/releases/2026-05-31/changes/",
      "url": "https://painmap.org/releases/2026-05-31/changes/",
      "method": "GET",
      "expected_status": 200,
      "format": "text/html",
      "purpose": "Human-readable release changes page"
    },
    {
      "path": "/releases/2026-05-31/migration.json",
      "url": "https://painmap.org/releases/2026-05-31/migration.json",
      "method": "GET",
      "expected_status": 200,
      "format": "application/json",
      "purpose": "Release migration notes"
    },
    {
      "path": "/policies/accessibility/audit-2026-06-05/",
      "url": "https://painmap.org/policies/accessibility/audit-2026-06-05/",
      "method": "GET",
      "expected_status": 200,
      "format": "text/html",
      "purpose": "WCAG 2.2 AA audit matrix page"
    },
    {
      "path": "/.well-known/security.txt",
      "url": "https://painmap.org/.well-known/security.txt",
      "method": "GET",
      "expected_status": 200,
      "format": "text/plain",
      "purpose": "Security contact policy"
    }
  ]
}
