{
  "schema_version": "1.3.0",
  "slug": "across-what-deadline-propagation-and-cancellation-cascade-gates-must-an-instance-govern-grpc-and-http2-calls-to-prevent-zombie-worker-exhaustion-and-wasted-compute",
  "title": "Across what deadline-propagation-and-cancellation-cascade-gates must an instance govern gRPC and HTTP/2 calls to prevent zombie-worker exhaustion and wasted compute?",
  "date_of_record": "2026 October 20",
  "scope": "* **Applies when:** An AI instance, autonomous coding agent, or backend service implements gRPC servers/clients, HTTP/2 multiplexed APIs, or multi-hop microservice RPC call graphs. * **Does not apply when:** Executing offline, fire-and-forg",
  "projections": {
    "unified_markdown_uri": "https://corpusfetch.com/c/across-what-deadline-propagation-and-cancellation-cascade-gates-must-an-instance-govern-grpc-and-http2-calls-to-prevent-zombie-worker-exhaustion-and-wasted-compute.md",
    "method_python_slice_uri": "https://corpusfetch.com/c/across-what-deadline-propagation-and-cancellation-cascade-gates-must-an-instance-govern-grpc-and-http2-calls-to-prevent-zombie-worker-exhaustion-and-wasted-compute.py",
    "remnant_warrant_slice_uri": "https://corpusfetch.com/c/across-what-deadline-propagation-and-cancellation-cascade-gates-must-an-instance-govern-grpc-and-http2-calls-to-prevent-zombie-worker-exhaustion-and-wasted-compute.warrant.json"
  },
  "token_profile": {
    "full_markdown_tokens": 2578,
    "python_slice_tokens": 418,
    "warrant_slice_tokens": 220
  },
  "remnant_summary": {
    "core_distinction": "Autonomous systems frequently execute distributed call graphs where an incoming client request fans out across five or ten downstream microservices via gRPC or HTTP/2. A foundational resource-exhaustion and availability failure occurs when an instance executes outbound RPC calls with **fixed, unpropagated local timeouts (`timeout=30.0`)** or ignores **upstre...",
    "what_was_observed": "In gRPC microservice meshes, HTTP/2 API gateways, and multi-agent RPC tool callers, instances operating without deadline propagation and cancellation cascading exhibit four primary failure modes: 1. **Zombie Worker Compute Waste on Abandoned Requests:** A client issues an expensive analytical query with a 60-second timeout, but aborts the HTTP connection after 3 seconds. The backend service and its 4 downstream datab...",
    "condition_of_validity": "* **Applies when:** An AI instance, autonomous coding agent, or backend service implements gRPC servers/clients, HTTP/2 multiplexed APIs, or multi-hop microservice RPC call graphs. * **Does not apply when:** Executing offline, fire-and-forget background queue worker jobs where no interactive client is waiting for a response and no upstream timeout exists. * ...",
    "decision_boundary": "1. **How do your microservices handle timeouts?** If Service A calls Service B with a brand new local timeout, fix it to calculate and forward the remaining time budget from the original client deadline. 2. **What happens in your backend if a user closes their browser window 2 seconds into a 30-second query?** Ensure your request context cascades cancellatio...",
    "operational_effect": "1. **Absolute Deadline & Remaining Budget Tracking:** Across all generated gRPC and HTTP/2 clients, the instance extracts global deadline epochs and propagates shrinking time budgets across microservice hops. 2. **Fast-Fail Expiration Checks:** Requests with exhausted time budgets abort instantly with `DEADLINE_EXCEEDED` without invoking network I/O or datab..."
  },
  "matched_failure_symptoms": [
    "SPLIT_BRAIN_OR_ZOMBIE_WORKER"
  ],
  "composition_edges": {
    "primary_domain": "network_timeout_and_idempotent_retries",
    "upstream_precondition_residuals": [
      "https://corpusfetch.com/c/beneath-what-concurrency-and-backpressure-ceilings-must-an-instance-throttle-fan-out-tasks-to-prevent-file-descriptor-and-connection-pool-starvation.md",
      "https://corpusfetch.com/c/across-what-additive-schema-and-unknown-field-preservation-boundaries-must-an-instance-evolve-wire-contracts-to-prevent-rolling-deploy-deserialization-crashes.md"
    ],
    "downstream_consequence_residuals": [
      "https://corpusfetch.com/c/across-what-readiness-unregistration-and-in-flight-drain-gates-must-an-instance-sequence-sigterm-shutdown-to-prevent-dropped-requests-and-truncated-writes.md",
      "https://corpusfetch.com/c/across-what-bounded-queue-admission-control-and-load-shedding-gates-must-an-instance-manage-concurrency-to-prevent-unbounded-memory-growth-and-tail-latency-collapse.md"
    ],
    "co_occurring_sibling_residuals": [
      "https://corpusfetch.com/c/across-what-durable-step-ledger-and-reverse-compensation-gates-must-an-instance-orchestrate-multi-service-sagas-to-prevent-orphaned-partial-mutations.md",
      "https://corpusfetch.com/c/across-what-pre-ping-validation-and-idle-recycle-gates-must-an-instance-govern-connection-pools-to-prevent-half-open-socket-crashes-and-session-exhaustion.md"
    ]
  },
  "empirical_verification_warrant": {
    "status": "AST_AND_INVARIANT_VERIFIED",
    "syntax_valid": true,
    "code_sha256": "7fe405c2f17019d27dde8d59c64cb35bda6e4f6958927d4d15b63e0e107d2861",
    "verified_classes": [
      "DeadlineExceededError",
      "UpstreamCancelledError",
      "DeadlinePropagationManager"
    ],
    "verified_functions": [
      "__init__",
      "__init__",
      "request_scope",
      "spawn_child"
    ],
    "verified_functions_count": 4,
    "defensive_guards_count": 4,
    "raised_exceptions": [
      "DeadlineExceededError",
      "UpstreamCancelledError"
    ],
    "sample_fail_closed_invariants": [
      "Deadline already expired upon ingress entry",
      "Deadline expired before child task execution",
      "Child task timed out against absolute deadline"
    ],
    "stdlib_dependencies": [
      "asyncio",
      "contextlib",
      "time",
      "typing"
    ],
    "observation_mode": "EMPIRICAL_BOUNDARY_CAPTURE",
    "zero_external_deps": true
  }
}
