{
  "id": "P039",
  "slug": "github-actions-cache-old-versions-retired-cache-service-backend-brownouts-shutdown-actions-cache",
  "status": "search-observed",
  "product": "GitHub Actions cache",
  "family": "Registry/feed protocol",
  "canonical_url": "https://gitdocs.org/fix/github-actions-cache-old-versions-retired-cache-service-backend-brownouts-shutdown-actions-cache",
  "query_alias_url": "https://gitdocs.org/q/github-actions-cache-old-versions-retired-cache-service-backend-brownouts-shutdown-actions-cache",
  "markdown_url": "https://gitdocs.org/fix/github-actions-cache-old-versions-retired-cache-service-backend-brownouts-shutdown-actions-cache.md",
  "json_url": "https://gitdocs.org/api/fixes/github-actions-cache-old-versions-retired-cache-service-backend-brownouts-shutdown-actions-cache.json",
  "canonical_query": "GitHub Actions cache old versions retired cache service backend brownouts shutdown actions/cache v1 v2 February 2025",
  "observed_codex_queries": [
    "GitHub Actions cache old versions retired cache service backend brownouts shutdown actions/cache v1 v2 February 2025",
    "actions/cache legacy cache service shutdown brownout v1 v2",
    "site:github.com/actions/cache cache service will be retired February 1 2025",
    "\"cache service\" \"February 1, 2025\" \"actions/cache\"",
    "https://github.com/actions/cache"
  ],
  "organic_dependency_search_count": 5,
  "affected_versions": "",
  "exact_errors": [],
  "diagnosis": "The consumer code is locally valid under the old feed contract; only the live registry's current routing, cursor, or response semantics disambiguate the fix.",
  "before": "",
  "after": "",
  "verification": "Verifier checks continuity, cursor advancement, de-duplication, and compatibility with the current feed. Verify an updated action/runner protocol and correct restore/save behavior.",
  "unsafe_fixes": [
    "Changing local code without checking the current external contract.",
    "Retrying the same install, build, or API call with no version/source change.",
    "Applying a broad unsafe bypass when a narrow compatibility fix is available."
  ],
  "last_verified_at": "2026-06-25",
  "neutral_validation": {
    "organic_search_observed": true,
    "organic_strict_pass": true,
    "no_web_counterfactual_run": false,
    "no_web_strict_pass": null,
    "search_necessity_under_fixture": null,
    "no_web_oracle_note": "Observed query evidence is separated from necessity proof; no-web and stale-contract counterfactuals should be tracked separately."
  },
  "source_trail": [
    {
      "url": "https://github.blog/changelog/2025-03-20-notification-of-upcoming-breaking-changes-in-github-actions/",
      "label": "GitHub Actions legacy cache service shutdown"
    },
    {
      "url": "https://github.com/actions/cache",
      "label": "GitHub source file or repository reference"
    }
  ],
  "source_github_links": [
    {
      "url": "https://github.com/actions/cache",
      "label": "GitHub source file or repository reference"
    }
  ]
}
