{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/isolate-concurrency-for-the-slow-dependency",
  "id": "MHC-D-RESEARCH-0536",
  "version": "0.1.0",
  "title": "Isolate concurrency for the slow dependency",
  "summary": "A slow neighbor should not be allowed to rent the whole building.",
  "kind": "protocol",
  "body": "Give the risky dependency or workload its own bounded concurrency pool. When that pool is full, queue, reject or degrade that workload without consuming the capacity reserved for unrelated core work. Observe pool saturation so the isolation boundary can be tuned.",
  "limits": [
    "Hard partitions can waste idle capacity; dynamic borrowing needs safeguards that preserve the isolation during overload."
  ],
  "topics": [
    "union-capacity-overload-resilience"
  ],
  "intents": [],
  "source_ids": [
    "RS-67436D06DC156FBD"
  ],
  "evidence": [
    {
      "claim": "AWS's 2026 dependency-isolation guidance uses separate concurrency pools or bulkheads to keep slow dependencies from consuming all shared execution capacity.",
      "source_id": "RS-67436D06DC156FBD",
      "role": "supports",
      "note": "Partitioning capacity can strand unused resources and requires sizing and observability.",
      "locator": "Dependency isolation and concurrency overload"
    }
  ],
  "use_when": [
    "One dependency or work type can block threads, workers or agent slots needed by unrelated work."
  ],
  "avoid_when": [
    "Hard partitions can waste idle capacity; dynamic borrowing needs safeguards that preserve the isolation during overload."
  ],
  "example": "Give an external web-research tool a separate agent-worker pool so slow web calls cannot occupy every coding and repository worker.",
  "check": "Saturation of the dependency-specific workload does not consume all shared execution slots.",
  "steps": [
    "The slow or failure-prone dependency has a separate concurrency limit.",
    "Core work retains reserved capacity.",
    "Pool saturation is visible.",
    "Overflow behavior is defined.",
    "The isolated pool is reviewed for both starvation and excess reservation."
  ],
  "sources": [
    {
      "id": "RS-67436D06DC156FBD",
      "title": "Using dependency isolation to contain concurrency overload",
      "url": "https://builder.aws.com/content/3EuxuD6bWtQ6gEp9FaKQfd3Z2AM/using-dependency-isolation-to-contain-concurrency-overload"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0536",
      "to": "MHC-D-RESEARCH-0537",
      "type": "useful_with",
      "url": "/knowledge/give-shared-capacity-a-noisy-neighbor-rule"
    }
  ],
  "collections": [
    {
      "id": "RC-2845565BFEBD1A30",
      "title": "Keep useful work flowing when demand exceeds capacity",
      "url": "/collections/keep-useful-work-flowing-when-demand-exceeds-capacity"
    }
  ]
}
