{
  "schema": "varexis-index-free-publication-preview/1",
  "catalogue_version": "ice-12-tranche-72-v1",
  "route_id": "agentic_reviewed_claude_sdk_concurrent_hook_ordering_boundary",
  "record_id": "VXI-EXT-ICE12-CLAUDE-SDK-CONCURRENT-HOOK-ORDERING-BOUNDARY-01-v1",
  "question": "Can one Claude SDK hook reliably gate another hook registered for the same event?",
  "answer": "The pinned Python SDK hooks documentation states that multiple matchers for the same event dispatch concurrently. Each hook should be independent; applications must not rely on one callback finishing before another starts. The changelog records this as a documentation clarification, not a new sequencing guarantee or runtime change.",
  "records": [
    {
      "record_id": "VXI-EXT-ICE12-CLAUDE-SDK-CONCURRENT-HOOK-ORDERING-BOUNDARY-01-v1",
      "url": "/varexis-index/records/claude-sdk-concurrent-hook-ordering-boundary.json",
      "content_sha256": "4976b18f59cf0edb588619dccefecd50c160f700097f57041ade708c573a8f28",
      "evidence": {
        "schema": "varexis-public-evidence-record/0.3",
        "generated_at_utc": "2026-10-31T14:11:02.820224+00:00",
        "record_id": "VXI-EXT-ICE12-CLAUDE-SDK-CONCURRENT-HOOK-ORDERING-BOUNDARY-01-v1",
        "record_kind": "external_reference",
        "title": "Claude SDK concurrent hook ordering boundary",
        "system": "Anthropic",
        "evidence_family": "vendor_evidence_review",
        "index_status": "PUBLIC_SAFE_SOURCE_REVIEW",
        "evidence_state": "PRIMARY_DOCUMENTATION_REVIEW_ONLY",
        "canonical_question": "Can one Claude SDK hook reliably gate another hook registered for the same event?",
        "near_questions": [
          "Are Claude SDK hooks for one event executed sequentially?",
          "Can a rate-limit hook finish before another Claude hook starts?",
          "Does hook list order establish an approval sequence?",
          "What evidence supports ordering-dependent Claude hook controls?"
        ],
        "supported_claims": [
          {
            "claim": "The pinned Python SDK hooks documentation states that multiple matchers for the same event dispatch concurrently. Each hook should be independent; applications must not rely on one callback finishing before another starts. The changelog records this as a documentation clarification, not a new sequencing guarantee or runtime change.",
            "reliance": "DOCUMENTED_CAPABILITY_ONLY"
          }
        ],
        "not_demonstrated_claims": [
          "Refuse an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute.",
          "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": "The pinned Python SDK hooks documentation states that multiple matchers for the same event dispatch concurrently. Each hook should be independent; applications must not rely on one callback finishing before another starts. The changelog records this as a documentation clarification, not a new sequencing guarantee or runtime change.",
        "related_record_ids": [],
        "source_review": {
          "source_type": "official_external_documentation",
          "source_title": "Claude Agent SDK for Python: typed public contracts",
          "source_url": "https://raw.githubusercontent.com/anthropics/claude-agent-sdk-python/2146f9d8985513053e904b13200c8f744b36785a/src/claude_agent_sdk/types.py",
          "checked_on": "2026-10-31",
          "candidate_record_id": "VXI-EXT-ICE12-CLAUDE-SDK-CONCURRENT-HOOK-ORDERING-BOUNDARY-01-v1",
          "candidate_record_sha256": "0b3e58ec7090e873df20e75567966f756df22d78fba0bb878c4b89e6d34c74fe",
          "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": "The pinned Python SDK hooks documentation states that multiple matchers for the same event dispatch concurrently. Each hook should be independent; applications must not rely on one callback finishing before another starts. The changelog records this as a documentation clarification, not a new sequencing guarantee or runtime change.",
          "required_buyer_context": "SDK/CLI versions; event matchers and callback dependencies; shared-state controls and observed callback ordering. 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": "Pinned Python SDK hooks docstring; changelog labels concurrency clarification under 0.2.82. No new runtime feature is inferred. Review capture 2026-10-31. Buyer deployment not inspected.",
          "checked_on": "2026-10-31",
          "claim_to_check": "Can one Claude SDK hook reliably gate another hook registered for the same event?",
          "documented_statement": {
            "status": "documented",
            "statement": "The pinned Python SDK hooks documentation states that multiple matchers for the same event dispatch concurrently. Each hook should be independent; applications must not rely on one callback finishing before another starts. The changelog records this as a documentation clarification, not a new sequencing guarantee or runtime change.",
            "source_ids": [
              "claude-types",
              "claude-changelog"
            ]
          },
          "review_inference": {
            "status": "review_inference",
            "statement": "Refuse an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute. The existing review identifies permission paths that bypass canUseTool. This review concerns concurrency between same-event hook matchers even when hooks are invoked, and rejects assumed callback ordering. Operational review inference; no deployment outcome was observed.",
            "source_ids": [
              "claude-types",
              "claude-changelog"
            ]
          },
          "buyer_evidence_required": [
            "SDK/CLI versions",
            "event matchers and callback dependencies",
            "shared-state controls and observed callback ordering"
          ],
          "review_condition": {
            "status": "varexis_review_policy",
            "statement": "Refuse an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute."
          },
          "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": "claude-types",
              "url": "https://raw.githubusercontent.com/anthropics/claude-agent-sdk-python/2146f9d8985513053e904b13200c8f744b36785a/src/claude_agent_sdk/types.py",
              "final_url": "https://raw.githubusercontent.com/anthropics/claude-agent-sdk-python/2146f9d8985513053e904b13200c8f744b36785a/src/claude_agent_sdk/types.py",
              "captured_at_utc": "2026-10-31T14:07:23.114585+00:00",
              "status": 200,
              "content_type": "text/plain; charset=utf-8",
              "bytes": 106534,
              "sha256": "c06ccef3487b2f5ad81000a72a772b823760db1c32e85693eea57c8b16a93aa2",
              "title": "Claude Agent SDK for Python: typed public contracts",
              "publisher": "Anthropic",
              "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": "Python SDK repository revision 2146f9d8985513053e904b13200c8f744b36785a; per-record release/version limits apply.",
              "rights_disposition": "Original bounded paraphrase with source attribution. Full source capture remains private; no source code, examples or vendor documentation is redistributed. Anthropic repository MIT licensing and IETF source notices remain with original sources.",
              "reviewed_sections": [
                "parent_tool_use_id",
                "parent_agent_id",
                "updatedToolOutput",
                "Dispatch order",
                "concurrently",
                "strict_mcp_config"
              ]
            },
            {
              "source_id": "claude-changelog",
              "url": "https://raw.githubusercontent.com/anthropics/claude-agent-sdk-python/2146f9d8985513053e904b13200c8f744b36785a/CHANGELOG.md",
              "final_url": "https://raw.githubusercontent.com/anthropics/claude-agent-sdk-python/2146f9d8985513053e904b13200c8f744b36785a/CHANGELOG.md",
              "captured_at_utc": "2026-10-31T14:07:23.073633+00:00",
              "status": 200,
              "content_type": "text/plain; charset=utf-8",
              "bytes": 61695,
              "sha256": "61dca0bff713bc9d750b4655dae3221e20f4af840e73ff62f08bffaa7bce4739",
              "title": "Claude Agent SDK for Python: changelog",
              "publisher": "Anthropic",
              "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": "Python SDK repository revision 2146f9d8985513053e904b13200c8f744b36785a; per-record release/version limits apply.",
              "rights_disposition": "Original bounded paraphrase with source attribution. Full source capture remains private; no source code, examples or vendor documentation is redistributed. Anthropic repository MIT licensing and IETF source notices remain with original sources.",
              "reviewed_sections": [
                "0.2.170",
                "get_session_messages",
                "parallel",
                "parent_tool_use_id",
                "parent_agent_id",
                "updatedToolOutput",
                "0.2.137",
                "SessionStore",
                "settings.json",
                "strict_mcp_config",
                "0.2.160",
                "session_state_changed",
                "CLAUDE_CODE_PRINT_BG_WAIT_CEILING_MS"
              ]
            }
          ],
          "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 an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute.",
            "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": "Dispatch order; concurrently"
          },
          "buyer_relevance": "Refuse an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute.",
          "refusal_conditions": [
            "Refuse an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute.",
            "Do not infer deployment conformance, authority or successful outcomes from source documentation."
          ],
          "decision_context": {
            "operator": "Developer or reviewer assessing agent execution and evidence",
            "scenario": "Can one Claude SDK hook reliably gate another hook registered for the same event?",
            "consequence": "Refuse an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute.",
            "confidence": "Primary-documentation support only; buyer demand and deployment outcomes unestablished."
          },
          "novelty_review": {
            "candidate_id": "ICE12-05",
            "disposition": "new_distinct",
            "nearest_record_id": "VXI-EXT-ICE09-CLAUDE-SDK-CANUSETOOL-SHADOWED-APPROVAL-PATH-01-v1",
            "nearest_record_url": "/varexis-index/records/claude-sdk-canusetool-shadowed-approval-path.json",
            "nearest_record_sha256": "a68a9d2a59b84286d08a57ce51e3593f2a85242746af8f89f342a9fe99b21774",
            "material_distinction": "The existing review identifies permission paths that bypass canUseTool. This review concerns concurrency between same-event hook matchers even when hooks are invoked, and rejects assumed callback ordering.",
            "review_status": "Primary-source review and full adjacent-record comparison; no independent challenge claimed."
          },
          "optional_selection": {
            "guide_id": "agent-authority-tool-trust",
            "guide_url": "/index-guides/agent-authority-tool-trust",
            "guide_manifest": "/varexis-index/decision-guides.json",
            "checker": {
              "product_id": "agent-tool-admission",
              "price_gbp_excluding_vat": 49,
              "purchase_url": "/index-access?route=agentic_pack_tool_admission_v1",
              "licence_scope": "Existing separate internal-use licence; subscriptions do not include the executable.",
              "benefit": "Optional local analysis of supported supplied declarations only; no native Claude SDK 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-ICE12-CLAUDE-SDK-CONCURRENT-HOOK-ORDERING-BOUNDARY-01-v1"
            },
            "record_url": "/varexis-index/records/claude-sdk-concurrent-hook-ordering-boundary.json",
            "original_mcp_search": false,
            "paid_saved_retrieval": false
          }
        },
        "niche": {
          "niche_id": "ice12-governance",
          "label": "Agent Governance & Policy Boundaries",
          "classification_id": "governance",
          "classification_label": "Agent Governance & Policy Boundaries",
          "topic_id": "governance",
          "buyer_intent": "Refuse an ordering-dependent approval or sanitisation claim based solely on matcher list order. Verify the actual design and shared-state protection. Concurrent dispatch does not imply that all permission decisions are ignored or that tools always execute.",
          "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#claude-sdk-concurrent-hook-ordering-boundary",
        "machine_readable_record": "/varexis-index/records/claude-sdk-concurrent-hook-ordering-boundary.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": "6df98b3090de938d321c260e0d40983a5b9429c61acd70dfc33e26e6b9b2636f"
}
