{
  "schemaVersion": "five-league-maintenance-status-v1",
  "generatedAt": "2026-07-02T00:20:49.250Z",
  "sourceLayerUpdatedAt": "2026-07-02T00:00:00.000Z",
  "sourcePublicLayerVersion": "club-football-public-layer-v1",
  "overallStatus": "release-gated-operational",
  "purpose": "Machine-readable maintenance status for Kickoff Lens five-major-league coverage, source registry, release candidates, and noindex/sitemap boundaries.",
  "competitions": [
    {
      "key": "premier-league",
      "name": "Premier League",
      "publicStatus": "framework",
      "visitorRoute": "#leagues/premier-league",
      "seoRoute": "/european-leagues/premier-league/",
      "seoRouteInSitemap": true,
      "productAreaCount": 5,
      "productAreasWithFreshness": 5,
      "liveFrameworkAreas": 5,
      "sourceRegistryCount": 3,
      "sourceRegistryWithFreshness": 3,
      "releaseCandidate": {
        "club": "Arsenal",
        "route": "/clubs/premier-league/arsenal/",
        "status": "pre-index-release-candidate",
        "indexingStatus": "noindex-until-release-gate",
        "routeInSitemap": false,
        "sourceState": "source-link-set-ready; official and club pages still require final manual verification before indexing",
        "nextGate": "Needs verified source timestamp on squad status, role dependency, and at least one source-backed matchweek context."
      },
      "maturity": {
        "key": "premier-league",
        "foundationScore": 100,
        "maturityBand": "framework-mature-long-tail-gated",
        "productAreasWithFreshness": 5,
        "productAreaCount": 5,
        "sourceRegistryWithFreshness": 3,
        "sourceRegistryCount": 3,
        "releaseCandidateCompleteness": 100,
        "seoRouteInSitemap": true,
        "candidateRouteInSitemap": false,
        "publicLayerAligned": true,
        "longTailReleaseStatus": "blocked-noindex-until-release-gate",
        "releaseBlockers": [
          "long-tail club, player, matchweek, and recap pages remain blocked until source-backed release gates pass"
        ],
        "nextAction": "Needs verified source timestamp on squad status, role dependency, and at least one source-backed matchweek context."
      },
      "publicLayerAligned": true,
      "nextOperationalGate": "source-timestamped club dossier modules"
    },
    {
      "key": "la-liga",
      "name": "La Liga",
      "publicStatus": "framework",
      "visitorRoute": "#leagues/la-liga",
      "seoRoute": "/european-leagues/la-liga/",
      "seoRouteInSitemap": true,
      "productAreaCount": 5,
      "productAreasWithFreshness": 5,
      "liveFrameworkAreas": 5,
      "sourceRegistryCount": 3,
      "sourceRegistryWithFreshness": 3,
      "releaseCandidate": {
        "club": "Real Madrid",
        "route": "/clubs/la-liga/real-madrid/",
        "status": "pre-index-release-candidate",
        "indexingStatus": "noindex-until-release-gate",
        "routeInSitemap": false,
        "sourceState": "source-link-set-ready; official and club pages still require final manual verification before indexing",
        "nextGate": "Needs source-backed squad-depth note, player-dependency note, and matchup context before indexing."
      },
      "maturity": {
        "key": "la-liga",
        "foundationScore": 100,
        "maturityBand": "framework-mature-long-tail-gated",
        "productAreasWithFreshness": 5,
        "productAreaCount": 5,
        "sourceRegistryWithFreshness": 3,
        "sourceRegistryCount": 3,
        "releaseCandidateCompleteness": 100,
        "seoRouteInSitemap": true,
        "candidateRouteInSitemap": false,
        "publicLayerAligned": true,
        "longTailReleaseStatus": "blocked-noindex-until-release-gate",
        "releaseBlockers": [
          "long-tail club, player, matchweek, and recap pages remain blocked until source-backed release gates pass"
        ],
        "nextAction": "Needs source-backed squad-depth note, player-dependency note, and matchup context before indexing."
      },
      "publicLayerAligned": true,
      "nextOperationalGate": "source-timestamped club dossier modules"
    },
    {
      "key": "serie-a",
      "name": "Serie A",
      "publicStatus": "framework",
      "visitorRoute": "#leagues/serie-a",
      "seoRoute": "/european-leagues/serie-a/",
      "seoRouteInSitemap": true,
      "productAreaCount": 5,
      "productAreasWithFreshness": 5,
      "liveFrameworkAreas": 5,
      "sourceRegistryCount": 3,
      "sourceRegistryWithFreshness": 3,
      "releaseCandidate": {
        "club": "Inter",
        "route": "/clubs/serie-a/inter/",
        "status": "pre-index-release-candidate",
        "indexingStatus": "noindex-until-release-gate",
        "routeInSitemap": false,
        "sourceState": "source-link-set-ready; official and club pages still require final manual verification before indexing",
        "nextGate": "Needs source timestamp for squad state, tactical role notes, and at least one matchweek or post-match context link."
      },
      "maturity": {
        "key": "serie-a",
        "foundationScore": 100,
        "maturityBand": "framework-mature-long-tail-gated",
        "productAreasWithFreshness": 5,
        "productAreaCount": 5,
        "sourceRegistryWithFreshness": 3,
        "sourceRegistryCount": 3,
        "releaseCandidateCompleteness": 100,
        "seoRouteInSitemap": true,
        "candidateRouteInSitemap": false,
        "publicLayerAligned": true,
        "longTailReleaseStatus": "blocked-noindex-until-release-gate",
        "releaseBlockers": [
          "long-tail club, player, matchweek, and recap pages remain blocked until source-backed release gates pass"
        ],
        "nextAction": "Needs source timestamp for squad state, tactical role notes, and at least one matchweek or post-match context link."
      },
      "publicLayerAligned": true,
      "nextOperationalGate": "source-timestamped club dossier modules"
    },
    {
      "key": "bundesliga",
      "name": "Bundesliga",
      "publicStatus": "framework",
      "visitorRoute": "#leagues/bundesliga",
      "seoRoute": "/european-leagues/bundesliga/",
      "seoRouteInSitemap": true,
      "productAreaCount": 5,
      "productAreasWithFreshness": 5,
      "liveFrameworkAreas": 5,
      "sourceRegistryCount": 3,
      "sourceRegistryWithFreshness": 3,
      "releaseCandidate": {
        "club": "Bayern Munich",
        "route": "/clubs/bundesliga/bayern-munich/",
        "status": "pre-index-release-candidate",
        "indexingStatus": "noindex-until-release-gate",
        "routeInSitemap": false,
        "sourceState": "source-link-set-ready; official and club pages still require final manual verification before indexing",
        "nextGate": "Needs verified source timestamp, squad-depth note, player-dependency note, and matchweek context before indexing."
      },
      "maturity": {
        "key": "bundesliga",
        "foundationScore": 100,
        "maturityBand": "framework-mature-long-tail-gated",
        "productAreasWithFreshness": 5,
        "productAreaCount": 5,
        "sourceRegistryWithFreshness": 3,
        "sourceRegistryCount": 3,
        "releaseCandidateCompleteness": 100,
        "seoRouteInSitemap": true,
        "candidateRouteInSitemap": false,
        "publicLayerAligned": true,
        "longTailReleaseStatus": "blocked-noindex-until-release-gate",
        "releaseBlockers": [
          "long-tail club, player, matchweek, and recap pages remain blocked until source-backed release gates pass"
        ],
        "nextAction": "Needs verified source timestamp, squad-depth note, player-dependency note, and matchweek context before indexing."
      },
      "publicLayerAligned": true,
      "nextOperationalGate": "source-timestamped club dossier modules"
    },
    {
      "key": "ligue-1",
      "name": "Ligue 1",
      "publicStatus": "framework",
      "visitorRoute": "#leagues/ligue-1",
      "seoRoute": "/european-leagues/ligue-1/",
      "seoRouteInSitemap": true,
      "productAreaCount": 5,
      "productAreasWithFreshness": 5,
      "liveFrameworkAreas": 5,
      "sourceRegistryCount": 3,
      "sourceRegistryWithFreshness": 3,
      "releaseCandidate": {
        "club": "Paris Saint-Germain",
        "route": "/clubs/ligue-1/paris-saint-germain/",
        "status": "pre-index-release-candidate",
        "indexingStatus": "noindex-until-release-gate",
        "routeInSitemap": false,
        "sourceState": "source-link-set-ready; official and club pages still require final manual verification before indexing",
        "nextGate": "Needs source-backed squad status, player-dependency note, and update/correction trail before indexing."
      },
      "maturity": {
        "key": "ligue-1",
        "foundationScore": 100,
        "maturityBand": "framework-mature-long-tail-gated",
        "productAreasWithFreshness": 5,
        "productAreaCount": 5,
        "sourceRegistryWithFreshness": 3,
        "sourceRegistryCount": 3,
        "releaseCandidateCompleteness": 100,
        "seoRouteInSitemap": true,
        "candidateRouteInSitemap": false,
        "publicLayerAligned": true,
        "longTailReleaseStatus": "blocked-noindex-until-release-gate",
        "releaseBlockers": [
          "long-tail club, player, matchweek, and recap pages remain blocked until source-backed release gates pass"
        ],
        "nextAction": "Needs source-backed squad status, player-dependency note, and update/correction trail before indexing."
      },
      "publicLayerAligned": true,
      "nextOperationalGate": "source-timestamped club dossier modules"
    }
  ],
  "summary": {
    "competitionCount": 5,
    "productAreaCount": 25,
    "productAreasWithFreshness": 25,
    "sourceRegistryCount": 15,
    "sourceRegistryWithFreshness": 15,
    "releaseCandidateCount": 5,
    "averageFoundationScore": 100,
    "allLongTailRoutesBlocked": true,
    "allThemeRoutesInSitemap": true,
    "allCandidateRoutesNoindexOnly": true,
    "publicLayerAligned": true
  },
  "routeBoundaries": {
    "fiveLeagueThemeRoutesInSitemap": true,
    "candidateClubRoutesInSitemap": [],
    "clubsPathInSitemap": false,
    "matchweekPagesGenerated": false,
    "clubPlayerPagesGenerated": false,
    "clubRecapPagesGenerated": false
  },
  "nextActions": [
    "Keep five-league theme pages indexable and source-rich.",
    "Keep club, matchweek, club-player, and club-recap long-tail pages noindex or ungenerated until release gates pass.",
    "Use source registry links for manual verification only; do not copy official fixture databases or protected visual assets.",
    "Promote release candidates only after source timestamp, squad-depth note, player-dependency note, matchup context, and correction trail are visible."
  ]
}
