{
  "schema": "varexis-public-evidence-record/0.3",
  "generated_at_utc": "2026-10-16T07:59:18.009Z",
  "record_id": "VXI-EXT-PROCUREMENT-CIRCLECI-CACHE-01-v1",
  "record_kind": "external_reference",
  "title": "CircleCI caches: Immutable keys can preserve the wrong result",
  "system": "CircleCI",
  "evidence_family": "vendor_evidence_review",
  "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
  "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
  "canonical_question": "Does an immutable CircleCI cache prove a build used the correct dependencies?",
  "near_questions": [
    "Which job first wrote the CircleCI cache key?",
    "Can parallel jobs race to populate one key?",
    "Can a later job overwrite the cache?",
    "Does a lockfile change rotate the key?",
    "Can a partial restore contain stale dependencies?",
    "Does a cache miss need to fail the build?",
    "Was installation verified before saving?",
    "Does a successful cache hit establish integrity?",
    "Which jobs share the cache?",
    "How is a bad cache replaced without editing it?",
    "When should an agent rebuild dependencies?",
    "Can I preserve the cache provenance review?"
  ],
  "supported_claims": [
    {
      "claim": "A cache key cannot be overwritten after its first write. Parallel writers can therefore make the selected content depend on completion order, while later writes are discarded. Correctness requires appropriate keys and workflow ordering; immutability alone neither validates dependencies nor guarantees freshness.",
      "reliance": "DOCUMENTED_CAPABILITY_ONLY"
    }
  ],
  "not_demonstrated_claims": [
    "Verified buyer configuration or effective access rights",
    "Independent execution, completeness or security testing",
    "Vendor certification, legal compliance or guaranteed suitability"
  ],
  "public_summary": "A cache key cannot be overwritten after its first write. Parallel writers can therefore make the selected content depend on completion order, while later writes are discarded. Correctness requires appropriate keys and workflow ordering; immutability alone neither validates dependencies nor guarantees freshness.",
  "related_record_ids": [],
  "source_review": {
    "source_type": "official_external_documentation",
    "source_title": "CircleCI dependency caching",
    "source_url": "https://circleci.com/docs/guides/optimize/caching/",
    "checked_on": "2026-10-16",
    "candidate_record_id": "VXI-EXT-PROCUREMENT-CIRCLECI-CACHE-01-v1",
    "candidate_record_sha256": "132aae84c4f689d57a27e53e61c6f39afd2957cf138b9088b20b112b5f75bbf3",
    "method": "Primary documentation reviewed for the published bounded statement.",
    "deployment_tested_by_varexis": false,
    "revalidation": "The delivered snapshot preserves the review date shown. Recheck current primary documentation and deployment context before relying on present applicability; payment does not trigger fresh research."
  },
  "answer_policy": {
    "classification": "DOCUMENTED_WITH_DEPLOYMENT_BOUNDARY",
    "bounded_answer": "A cache key cannot be overwritten after its first write. Parallel writers can therefore make the selected content depend on completion order, while later writes are discarded. Correctness requires appropriate keys and workflow ordering; immutability alone neither validates dependencies nor guarantees freshness.",
    "required_buyer_context": "Cache keys, writer ordering, dependency lock and verification. Effective buyer configuration and dated operational evidence are required.",
    "missing_evidence": "A broader claim needs evidence matching the intended use. Payment does not upgrade the evidence state."
  },
  "private_boundary": "Raw logs, thresholds, private paths, source code, protected mechanisms and reconstruction-level details are excluded from public and paid delivery.",
  "decision_profile": {
    "schema": "varexis-vendor-evidence-review/1",
    "review_status": "documentation_review_only",
    "checked_on": "2026-10-16",
    "claim_to_check": "Cache immutability proves dependency correctness and freshness.",
    "documented_statement": {
      "status": "documented",
      "statement": "A cache key cannot be overwritten after its first write. Parallel writers can therefore make the selected content depend on completion order, while later writes are discarded. Correctness requires appropriate keys and workflow ordering; immutability alone neither validates dependencies nor guarantees freshness.",
      "source_ids": [
        "circleci-cache"
      ]
    },
    "buyer_evidence_required": [
      "Cache-key inputs and lockfile identity.",
      "Writer/reader job ordering.",
      "Installation and dependency verification evidence."
    ],
    "review_condition": {
      "status": "varexis_review_policy",
      "statement": "Require dependency identity before treating a cache hit as a reproducible build."
    },
    "unknowns": "The buyer configuration, contract, effective entitlement and operational evidence have not been inspected. Missing evidence does not establish absence or failure of the feature.",
    "evidence_sources": [
      {
        "source_id": "circleci-cache",
        "url": "https://circleci.com/docs/guides/optimize/caching/",
        "final_url": "https://circleci.com/docs/guides/optimize/caching/",
        "title": "CircleCI dependency caching",
        "checked_on": "2026-10-16",
        "sha256": "d2a83162657a8e4108c60770649e21f3eace55f02da8ea81f84948aa8aeb5228",
        "bytes": 417213
      }
    ],
    "observed_deployment": false,
    "commercial_reliance_boundary": "Procurement evidence support only; no supplier clearance, legal conclusion, configuration audit or verification of the buyer's claim is supplied.",
    "paid_value": {
      "decision_context": "Save the dependency identity and workflow assumptions behind a build claim.",
      "free": "Complete review, practical questions, sources and limitations; may be saved locally.",
      "single_request": "Existing server-saved version-bound route snapshot for later authenticated retrieval.",
      "evidence_receipt": "The same snapshot plus the existing unsigned delivery receipt.",
      "excluded": [
        "Fresh vendor research",
        "Continuous monitoring or change alerts",
        "Testing the buyer configuration",
        "Private evidence or vendor certification"
      ],
      "integrity": "Hashes identify content versions; they do not prove truth or provide a signature."
    },
    "revalidation": {
      "trigger": "A saved purchase does not recheck the source or buyer configuration.",
      "specific_watch": "Cache keys, writer ordering, dependency lock and verification"
    }
  },
  "paid_access_note": "The full published answer and boundaries are free. Paid access saves the selected route and source versions, with an unsigned receipt when purchased. Preview coverage before paying. Fresh research, bespoke assessment and protected evidence are excluded.",
  "service_route": {
    "request_guide": "/varexis-index/request.html",
    "request_workflow": "/varexis-index/request-workflow.json",
    "service_id": "single_request",
    "service_routes_url": "/varexis-index/service-routes.json",
    "payment_required": true,
    "availability_endpoint": "/api/index/capabilities",
    "operational_status": "AUTOMATIC_SERVICE_CAPABILITIES_GATED",
    "checkout_url": "/index-access"
  },
  "authority_boundary": "VAREXIS-INDEX informs evidence reliance. It does not provide advice, certification, deployment authority, security assurance, production approval, or guarantee.",
  "human_page": "/varexis-index/catalog.html#circleci-cache-first-writer-reproducibility",
  "machine_readable_record": "/varexis-index/records/circleci-cache-first-writer-reproducibility.json"
}
