{
  "schema": "varexis-index-free-publication-preview/1",
  "catalogue_version": "ice-11-tranche-71-v1",
  "route_id": "agentic_reviewed_langgraph_interrupt_exception_propagation",
  "record_id": "VXI-EXT-ICE11-LANGGRAPH-INTERRUPT-EXCEPTION-PROPAGATION-01-v1",
  "question": "Does a broad exception handler around LangGraph interrupt preserve the approval pause?",
  "answer": "LangGraph documents interrupt as a special exception used to suspend execution. A broad try/except can intercept it before the runtime receives the pause signal; the guide separates interrupts from error handling or catches specific error types.",
  "records": [
    {
      "record_id": "VXI-EXT-ICE11-LANGGRAPH-INTERRUPT-EXCEPTION-PROPAGATION-01-v1",
      "url": "/varexis-index/records/langgraph-interrupt-exception-propagation.json",
      "content_sha256": "9d8308733e060aa2ceed8da783e409e447889c7e36f36d46fb7a4cdacdc10583",
      "evidence": {
        "schema": "varexis-public-evidence-record/0.3",
        "generated_at_utc": "2026-10-31T00:34:56.659823+00:00",
        "record_id": "VXI-EXT-ICE11-LANGGRAPH-INTERRUPT-EXCEPTION-PROPAGATION-01-v1",
        "record_kind": "external_reference",
        "title": "LangGraph: Approval interrupts must reach the runtime",
        "system": "LangChain",
        "evidence_family": "vendor_evidence_review",
        "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
        "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
        "canonical_question": "Does a broad exception handler around LangGraph interrupt preserve the approval pause?",
        "near_questions": [
          "Can try/except swallow a human approval interrupt?",
          "Why did a LangGraph approval gate fail to pause?",
          "What evidence shows the runtime received an interrupt?",
          "Can catching all exceptions bypass a pending review?"
        ],
        "supported_claims": [
          {
            "claim": "LangGraph documents interrupt as a special exception used to suspend execution. A broad try/except can intercept it before the runtime receives the pause signal; the guide separates interrupts from error handling or catches specific error types.",
            "reliance": "DOCUMENTED_CAPABILITY_ONLY"
          }
        ],
        "not_demonstrated_claims": [
          "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action.",
          "Buyer implementation, live runtime enforcement, settled payment, verified deletion or certification are not established.",
          "No expanded capabilities or licences for existing INDEX executables."
        ],
        "public_summary": "LangGraph documents interrupt as a special exception used to suspend execution. A broad try/except can intercept it before the runtime receives the pause signal; the guide separates interrupts from error handling or catches specific error types.",
        "related_record_ids": [],
        "source_review": {
          "source_type": "official_external_documentation",
          "source_title": "LangGraph interrupts",
          "source_url": "https://docs.langchain.com/oss/python/langgraph/interrupts.md",
          "checked_on": "2026-10-31",
          "candidate_record_id": "VXI-EXT-ICE11-LANGGRAPH-INTERRUPT-EXCEPTION-PROPAGATION-01-v1",
          "candidate_record_sha256": "53a13cba9dd04cf83cff272abb75ff1c390b4b95c3294a3e194f1f1f9956a5af",
          "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": "LangGraph documents interrupt as a special exception used to suspend execution. A broad try/except can intercept it before the runtime receives the pause signal; the guide separates interrupts from error handling or catches specific error types.",
          "required_buyer_context": "node exception handling; runtime interruption result; persisted checkpoint; installed version. 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",
          "applicability_status": "Rolling primary documentation captured 2026-10-31; installed SDK/service configuration not inspected.",
          "checked_on": "2026-10-31",
          "claim_to_check": "Does a broad exception handler around LangGraph interrupt preserve the approval pause?",
          "documented_statement": {
            "status": "documented",
            "statement": "LangGraph documents interrupt as a special exception used to suspend execution. A broad try/except can intercept it before the runtime receives the pause signal; the guide separates interrupts from error handling or catches specific error types.",
            "source_ids": [
              "lg-interrupts"
            ]
          },
          "review_inference": {
            "status": "review_inference",
            "statement": "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action. Whether the approval pause reaches the runtime is distinct from whether earlier code repeats after an established pause. Operational review inference; no deployment outcome was observed.",
            "source_ids": [
              "lg-interrupts"
            ]
          },
          "buyer_evidence_required": [
            "node exception handling",
            "runtime interruption result",
            "persisted checkpoint",
            "installed version"
          ],
          "review_condition": {
            "status": "varexis_review_policy",
            "statement": "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action."
          },
          "unknowns": "Buyer implementation, installed versions, effective authority, source completeness and actual business outcomes were not inspected.",
          "unknown_finding": {
            "status": "unknown",
            "statement": "No buyer deployment or transaction was observed."
          },
          "evidence_sources": [
            {
              "source_id": "lg-interrupts",
              "url": "https://docs.langchain.com/oss/python/langgraph/interrupts.md",
              "final_url": "https://docs.langchain.com/oss/python/langgraph/interrupts.md",
              "captured_at_utc": "2026-10-31T00:25:56.862498+00:00",
              "status": 200,
              "content_type": "text/markdown; charset=utf-8",
              "bytes": 46641,
              "sha256": "8d2af4e2fb2d612446ecf5833a65de29ec79d2d7b70bba01d3c08624648df323",
              "title": "LangGraph interrupts",
              "publisher": "LangChain",
              "checked_on": "2026-10-31",
              "capture_status": "captured_primary_documentation",
              "claim_review_completed": true,
              "hash_basis": "Raw HTTP response bytes retained privately; not deployment attestation.",
              "version_context": "Rolling primary documentation captured 2026-10-31; installed SDK/service configuration not inspected.",
              "rights_disposition": "Original bounded paraphrase with source attribution. Full source capture remains private; no vendor documentation, examples or implementation is redistributed.",
              "reviewed_sections": [
                "Do not wrap `interrupt` calls in try/except",
                "Do not reorder `interrupt` calls within a node"
              ]
            }
          ],
          "observed_deployment": false,
          "commercial_reliance_boundary": "Documentation supports only the stated boundary. Existing licensed checkers analyse supported supplied declarations locally; they do not inspect provider accounts, verify live behaviour, enforce decisions or certify compliance.",
          "paid_value": {
            "decision_context": "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action.",
            "free": "Complete source review, questions, provenance and limitations; free to read and save locally.",
            "single_request": "Unavailable for this publication-only record; historical saved retrieval is unchanged.",
            "evidence_receipt": "Unavailable for this publication-only record; no paid retrieval entitlement is added.",
            "excluded": [
              "Fresh source research",
              "Native provider integration or schema support",
              "Live inspection or runtime enforcement",
              "Payment settlement or verified deletion",
              "Certification or expanded licences"
            ],
            "integrity": "Hashes identify content versions; they do not prove factual truth or provide a signature."
          },
          "revalidation": {
            "trigger": "Recheck current primary documentation and applicable SDK, service and configuration before reliance. No ongoing monitoring is included.",
            "specific_watch": "Do not wrap `interrupt` calls in try/except"
          },
          "buyer_relevance": "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action.",
          "refusal_conditions": [
            "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action.",
            "Do not infer deployment conformance, authority or successful outcomes from source documentation."
          ],
          "decision_context": {
            "operator": "Developer or reviewer assessing agent execution and evidence",
            "scenario": "Does a broad exception handler around LangGraph interrupt preserve the approval pause?",
            "consequence": "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action.",
            "confidence": "Primary-documentation support only; buyer demand and deployment outcomes unestablished."
          },
          "novelty_review": {
            "candidate_id": "ICE11-01",
            "disposition": "new_distinct",
            "nearest_record_id": "VXI-EXT-PROCUREMENT-LANGGRAPH-INTERRUPT-RESUME-PREAPPROVAL-REEXECUTION-01-v1",
            "nearest_record_url": "/varexis-index/records/langgraph-interrupt-resume-preapproval-reexecution.json",
            "nearest_record_sha256": "f73cf466b5652f27ff92828a76a9fc1a4e6872476a2d58736261f477dfe94d4f",
            "material_distinction": "Whether the approval pause reaches the runtime is distinct from whether earlier code repeats after an established pause.",
            "review_status": "Primary-source review and full adjacent-record comparison; no independent challenge claimed."
          },
          "optional_selection": {
            "guide_id": "workflow-completion-recovery",
            "guide_url": "/index-guides/workflow-completion-recovery",
            "guide_manifest": "/varexis-index/decision-guides.json",
            "checker": {
              "product_id": "agent-audit-coverage",
              "price_gbp_excluding_vat": 79,
              "purchase_url": "/index-access?route=agentic_pack_audit_coverage_v1",
              "licence_scope": "Existing separate internal-use licence; subscriptions do not include the executable.",
              "benefit": "Optional local analysis of supported supplied audit declarations only; no native LangGraph, Mem0 or MCP integration is added."
            },
            "boundary": "This free record supports an evidence-selection decision. The existing checker does not diagnose these platforms, extract their logs or prove the documented condition occurred."
          },
          "exact_access": {
            "endpoint": "/mcp/catalogue",
            "tool": "get_publication_record",
            "arguments": {
              "record_id": "VXI-EXT-ICE11-LANGGRAPH-INTERRUPT-EXCEPTION-PROPAGATION-01-v1"
            },
            "record_url": "/varexis-index/records/langgraph-interrupt-exception-propagation.json",
            "original_mcp_search": false,
            "paid_saved_retrieval": false
          }
        },
        "niche": {
          "niche_id": "ice11-governance",
          "label": "Agent Governance & Policy Boundaries",
          "classification_id": "governance",
          "classification_label": "Agent Governance & Policy Boundaries",
          "topic_id": "governance",
          "buyer_intent": "Refuse to infer that an approval gate paused the run merely because the code called interrupt; inspect exception propagation and the persisted interruption before allowing the dependent action.",
          "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#langgraph-interrupt-exception-propagation",
        "machine_readable_record": "/varexis-index/records/langgraph-interrupt-exception-propagation.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": "b3e599fd838b524400ce432bdba3246f135e9691c333ffe0aa694d33935557b4"
}
