{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/build-the-smallest-failure-you-can-reproduce",
  "id": "MHC-D-RESEARCH-0293",
  "version": "0.1.0",
  "title": "Build the smallest failure you can reproduce",
  "summary": "A bug you can summon is easier to interrogate than a bug you can only describe.",
  "kind": "protocol",
  "body": "Reduce the failing case until it still breaks with as little unrelated setup as practical. Preserve the condition that triggers the problem, the exact input, the observed output and the smallest environment facts that matter. The goal is not an elegant demo; it is a repeatable question you can ask the system again after each hypothesis.",
  "limits": [
    "Do not strip away timing, authorization or state when those conditions may be part of the failure."
  ],
  "topics": [
    "union-diagnostic-incident-work"
  ],
  "intents": [],
  "source_ids": [
    "RS-A4A16C807A94C9D8"
  ],
  "evidence": [
    {
      "claim": "Google SRE recommends a solid reproducible test case because it speeds debugging and can enable safer investigation outside production.",
      "source_id": "RS-A4A16C807A94C9D8",
      "role": "supports",
      "note": "Some intermittent or environment-specific failures cannot be reproduced on demand; the card does not require manufacturing a false reproducer.",
      "locator": "Simplify and reduce"
    }
  ],
  "use_when": [
    "A defect is real but every retest changes several conditions at once."
  ],
  "avoid_when": [
    "Do not strip away timing, authorization or state when those conditions may be part of the failure."
  ],
  "example": "Instead of rerunning an entire customer migration, keep one anonymized record that still produces the wrong partner role.",
  "check": "A colleague can run the reduced case and observe the same relevant failure or explicitly record that it remains intermittent.",
  "steps": [
    "Capture one failing input and its observable result.",
    "Remove unrelated steps or data one at a time while the failure still occurs.",
    "Freeze the reduced case so another person can run it without reconstructing your memory."
  ],
  "sources": [
    {
      "id": "RS-A4A16C807A94C9D8",
      "title": "Effective Troubleshooting",
      "url": "https://sre.google/sre-book/effective-troubleshooting/"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0293",
      "to": "MHC-D-RESEARCH-0297",
      "type": "useful_with",
      "url": "/knowledge/prefer-a-test-that-kills-hypotheses"
    }
  ],
  "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"
    }
  ]
}
