{
  "schema": "vedokrok.public-item.v1",
  "release_id": "MHC-RPUB-20260920-75ad787a",
  "url": "/knowledge/shrink-the-example-until-the-same-failure-is-hard-to-hide",
  "id": "MHC-D-RESEARCH-0970",
  "version": "0.1.0",
  "title": "Shrink the example until the same failure is hard to hide",
  "summary": "A thousand-line attachment is evidence. A six-line reproducer is an invitation to solve the problem.",
  "kind": "protocol",
  "body": "Reduce the input without changing the failure you are investigating. Remove a chunk, rerun the same check and keep the smaller input only when the original failure remains. When large cuts stop working, try smaller ones.",
  "limits": [
    "Do this in an isolated test environment. Intermittent failures need repeatability work first; smallest-looking is not the same as globally minimal."
  ],
  "topics": [
    "work-01-reliable-changes"
  ],
  "intents": [],
  "source_ids": [
    "RS-DAF12B69E9E3B42E"
  ],
  "evidence": [
    {
      "claim": "Delta debugging removes parts of an input while preserving a specified failure; a 1-minimal result need not be globally smallest.",
      "source_id": "RS-DAF12B69E9E3B42E",
      "role": "supports",
      "note": "The practical reduction loop assumes a meaningful, sufficiently repeatable test and preserves the original failure signature.",
      "locator": "Delta Debugging; 1-minimality discussion"
    }
  ],
  "use_when": [
    "A large file, message or sequence fails, but nobody knows which part matters."
  ],
  "avoid_when": [
    "Do this in an isolated test environment. Intermittent failures need repeatability work first; smallest-looking is not the same as globally minimal."
  ],
  "example": "A text import fails with hundreds of lines. Reduction leaves two lines and a separator; deleting that separator makes the same test pass.",
  "check": "Another person can reproduce the specified failure with the reduced input.",
  "steps": [
    "Freeze a safe copy, the environment and an exact failure signature.",
    "Remove one chunk; distinguish the original failure from an unrelated validation error.",
    "Save the reduced failing case and a nearby passing case."
  ],
  "sources": [
    {
      "id": "RS-DAF12B69E9E3B42E",
      "title": "Reducing Failure-Inducing Inputs",
      "url": "https://www.debuggingbook.org/html/DeltaDebugger.html"
    }
  ],
  "relations": [
    {
      "from": "MHC-D-RESEARCH-0970",
      "to": "MHC-D-RESEARCH-0971",
      "type": "useful_with",
      "url": "/knowledge/bisect-the-version-history-instead-of-inspecting-every-change"
    }
  ],
  "collections": [
    {
      "id": "RC-8F91DD82E91EA56B",
      "title": "Find the failure without creating a second incident",
      "url": "/collections/find-the-failure-without-creating-a-second-incident"
    }
  ]
}
