{
  "schema": "varexis-index-free-publication-preview/1",
  "catalogue_version": "pub-9-tranche-59-v1",
  "route_id": "agentic_reviewed_redis_watch_expiration_eviction_abort",
  "record_id": "VXI-EXT-PROCUREMENT-REDIS-WATCH-EXPIRATION-EVICTION-ABORT-01-v1",
  "question": "Can a Redis WATCH transaction abort even when no other client wrote the watched key?",
  "answer": "Redis WATCH makes EXEC conditional on watched keys remaining unchanged. Changes include client writes and Redis expiration or eviction; versions before 6.0.9 did not abort for expiration. A conflict returns a Null EXEC reply and aborts conditional execution. Merely seeing no competing client write does not establish that WATCH must succeed.",
  "records": [
    {
      "record_id": "VXI-EXT-PROCUREMENT-REDIS-WATCH-EXPIRATION-EVICTION-ABORT-01-v1",
      "url": "/varexis-index/records/redis-watch-expiration-eviction-abort.json",
      "content_sha256": "2587cc55255e5003b73e136b7e9f3c114150de2744593330aa604048ea4b3184",
      "evidence": {
        "schema": "varexis-public-evidence-record/0.3",
        "generated_at_utc": "2026-10-25T20:55:19.974986+00:00",
        "record_id": "VXI-EXT-PROCUREMENT-REDIS-WATCH-EXPIRATION-EVICTION-ABORT-01-v1",
        "record_kind": "external_reference",
        "title": "Redis WATCH expiration and eviction conflicts",
        "system": "Redis official transactions documentation",
        "evidence_family": "vendor_evidence_review",
        "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
        "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
        "canonical_question": "Can a Redis WATCH transaction abort even when no other client wrote the watched key?",
        "near_questions": [
          "Can key expiration abort a Redis WATCH transaction?",
          "Does eviction count as a change to a watched key?",
          "What does a Null EXEC reply mean after WATCH?",
          "Did Redis versions before 6.0.9 treat expiration the same way?"
        ],
        "supported_claims": [
          {
            "claim": "Redis WATCH makes EXEC conditional on watched keys remaining unchanged. Changes include client writes and Redis expiration or eviction; versions before 6.0.9 did not abort for expiration. A conflict returns a Null EXEC reply and aborts conditional execution. Merely seeing no competing client write does not establish that WATCH must succeed.",
            "reliance": "DOCUMENTED_CAPABILITY_ONLY"
          }
        ],
        "not_demonstrated_claims": [
          "Expiration behavior differs before Redis 6.0.9; a Null EXEC reply is failed conditional execution, not a committed result.",
          "Buyer implementation, live runtime enforcement, settled payment, physical outcome, certification or permission to act are not established.",
          "No expanded capabilities or licences for existing INDEX executables."
        ],
        "public_summary": "Redis WATCH makes EXEC conditional on watched keys remaining unchanged. Changes include client writes and Redis expiration or eviction; versions before 6.0.9 did not abort for expiration. A conflict returns a Null EXEC reply and aborts conditional execution. Merely seeing no competing client write does not establish that WATCH must succeed.",
        "related_record_ids": [],
        "source_review": {
          "source_type": "official_external_documentation",
          "source_title": "Redis official transactions documentation",
          "source_url": "https://redis.io/docs/latest/develop/using-commands/transactions/",
          "checked_on": "2026-10-25",
          "candidate_record_id": "VXI-EXT-PROCUREMENT-REDIS-WATCH-EXPIRATION-EVICTION-ABORT-01-v1",
          "candidate_record_sha256": "8e9220e3020331194c7e71fe6d8bf3697fa4f112a63f22092c705f3b0b40947b",
          "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": "Redis WATCH makes EXEC conditional on watched keys remaining unchanged. Changes include client writes and Redis expiration or eviction; versions before 6.0.9 did not abort for expiration. A conflict returns a Null EXEC reply and aborts conditional execution. Merely seeing no competing client write does not establish that WATCH must succeed.",
          "required_buyer_context": "Redis version and watched keys; Expiration, eviction and write events; EXEC reply and retry policy. Buyer deployment not inspected.",
          "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-25",
          "claim_to_check": "Can a Redis WATCH transaction abort even when no other client wrote the watched key?",
          "documented_statement": {
            "status": "documented",
            "statement": "Redis WATCH makes EXEC conditional on watched keys remaining unchanged. Changes include client writes and Redis expiration or eviction; versions before 6.0.9 did not abort for expiration. A conflict returns a Null EXEC reply and aborts conditional execution. Merely seeing no competing client write does not establish that WATCH must succeed.",
            "source_ids": [
              "redis-transactions"
            ]
          },
          "review_inference": {
            "status": "review_inference",
            "statement": "Interpret WATCH aborts caused by expiration, eviction or client writes before EXEC. This is a documentation-review judgment, not an observed deployment outcome.",
            "source_ids": [
              "redis-transactions"
            ]
          },
          "buyer_evidence_required": [
            "Redis version and watched keys",
            "Expiration, eviction and write events",
            "EXEC reply and retry policy"
          ],
          "review_condition": {
            "status": "varexis_review_policy",
            "statement": "Refuse buyer-specific assurance from documentation alone. Expiration behavior differs before Redis 6.0.9; a Null EXEC reply is failed conditional execution, not a committed result."
          },
          "unknowns": "The buyer implementation, effective configuration, complete evidence inventory and actual business outcome were not inspected.",
          "unknown_finding": {
            "status": "unknown",
            "statement": "The buyer implementation, effective configuration, complete evidence inventory and actual business outcome were not inspected."
          },
          "evidence_sources": [
            {
              "source_id": "redis-transactions",
              "url": "https://redis.io/docs/latest/develop/using-commands/transactions/",
              "final_url": "https://redis.io/docs/latest/develop/using-commands/transactions/",
              "status": 200,
              "captured_at_utc": "2026-10-25T20:26:12.717Z",
              "sha256": "653036c9ffcb423475ad19cbe098c1767288607f6da8a738a1d6e6ac603f015f",
              "bytes": 127549,
              "title": "Redis official transactions documentation",
              "hash_basis": "SHA-256 of unmodified HTTP response body bytes",
              "rights_review": "Original factual paraphrase and citation only. Redis documentation and software have distinct applicable licences; no source page or software code is redistributed or relicensed.",
              "checked_on": "2026-10-25",
              "capture_status": 200,
              "claim_review_completed": true,
              "reviewed_sections": [
                "Usage",
                "Transaction guarantees",
                "Errors inside a transaction",
                "What about rollbacks?",
                "WATCH explained"
              ],
              "version_context": "Rolling Redis official documentation captured 2026-10-25. Command introduction and version-specific exceptions are stated in each bounded answer; deployed product/version/configuration unverified."
            }
          ],
          "observed_deployment": false,
          "commercial_reliance_boundary": "Documentation review only; the buyer must establish applicability and actual outcomes. INDEX does not inspect or control the deployment.",
          "paid_value": {
            "decision_context": "Interpret WATCH aborts caused by expiration, eviction or client writes before EXEC.",
            "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": "Recheck WATCH explained in Redis official transactions documentation when the source, applicable version, configuration or intended reliance changes. A detected change creates a review candidate, not automatic approval."
          },
          "buyer_relevance": "Interpret WATCH aborts caused by expiration, eviction or client writes before EXEC.",
          "refusal_conditions": [
            "Refuse buyer-specific assurance from documentation alone. Expiration behavior differs before Redis 6.0.9; a Null EXEC reply is failed conditional execution, not a committed result."
          ]
        },
        "niche": {
          "niche_id": "agent-authority-action-evidence",
          "label": "Agent Authority & Action Evidence",
          "classification_id": "audit",
          "classification_label": "Audit, Provenance & Evidence Accountability",
          "topic_id": "audit",
          "buyer_intent": "Interpret WATCH aborts caused by expiration, eviction or client writes before EXEC.",
          "comparison_role": "supplementary_discovery"
        },
        "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#redis-watch-expiration-eviction-abort",
        "machine_readable_record": "/varexis-index/records/redis-watch-expiration-eviction-abort.json"
      }
    }
  ],
  "access": {
    "mode": "exact_http_only",
    "payment_required": false,
    "purchase_url": null,
    "mcp_preview_available": false,
    "paid_saved_retrieval_available": false,
    "natural_language_search_qualified": false
  },
  "boundary": "Catalogue additions are available free through the exact HTTP JSON links below. Enhanced natural-language discovery is not yet qualified for these records. They are outside MCP search, MCP preview and paid saved retrieval. No search qualification, executable capability or entitlement is added.",
  "content_sha256": "ea2a5372dae4c8399c1f995ee03b34d0043a98b91271f0fe3af5f075e00d930c"
}
