{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/bisect-a-large-failure-domain",
  "id": "MHC-D-RESEARCH-0295",
  "version": "0.1.0",
  "title": "Bisect a large failure domain",
  "summary": "When the haystack has structure, stop inspecting every piece of hay.",
  "kind": "heuristic",
  "body": "Split the search space into two meaningful parts and run a test that tells you which side still contains the changed behavior. Keep the implicated half and split again. This works especially well for revision history, layered systems and ordered pipelines when the state can be classified consistently.",
  "limits": [
    "Do not use bisection when candidates interact non-monotonically, the midpoint cannot be tested or the failure classification is unstable."
  ],
  "topics": [
    "union-diagnostic-incident-work"
  ],
  "intents": [],
  "source_ids": [
    "RS-A4A16C807A94C9D8"
  ],
  "evidence": [
    {
      "claim": "Google SRE describes bisection as repeatedly splitting a large system in half to narrow a possibly faulty component; Git bisect applies binary search to ordered revision history.",
      "source_id": "RS-A4A16C807A94C9D8",
      "role": "supports",
      "note": "Bisection needs a meaningful ordered search space and a reasonably testable distinction between the two states.",
      "locator": "Simplify and reduce; bisection"
    }
  ],
  "use_when": [
    "The searchable space is ordered or divisible and checking every candidate one by one would be expensive."
  ],
  "avoid_when": [
    "Do not use bisection when candidates interact non-monotonically, the midpoint cannot be tested or the failure classification is unstable."
  ],
  "example": "If a regression appeared somewhere between two releases, binary-search the revision history instead of reading every commit.",
  "check": "Each round removes a substantial part of the search space without changing the property you are testing.",
  "sources": [
    {
      "id": "RS-A4A16C807A94C9D8",
      "title": "Effective Troubleshooting",
      "url": "https://sre.google/sre-book/effective-troubleshooting/"
    }
  ],
  "relations": [],
  "collections": [
    {
      "id": "RC-6F9B0E6D320D1467",
      "title": "Find the fault without making the incident harder to understand",
      "url": "/collections/find-the-fault-without-making-the-incident-harder-to-understand"
    }
  ]
}
