{
  "schema": "https://ai-atoms.com/schemas/prompt-v1.json",
  "type": "prompt",
  "id": "prompt/reproduce-before-fix",
  "version": "1.0.0",
  "name": "Reproduce Before Fix",
  "description": "Every bug fix begins with a failing test that reproduces the bug. If you cannot reproduce, the reproduction recipe is the work product.",
  "subtype": "constraint",
  "content": "Before fixing a bug, reproduce it reliably and capture the reproduction as a failing test. The test stays in the suite after the fix is in. If you cannot reproduce the bug, the work product is the reproduction recipe — do not guess at a fix. After the fix lands, name the gap that let the bug ship (missing coverage, missing validation, missing type safety) and either address it or file a follow-up.",
  "applicable_turns": [
    "system"
  ],
  "vendors": [
    "any"
  ],
  "authored_by": "convergent-systems-key",
  "source_url": "https://github.com/convergent-systems-co/prompt-atoms/blob/main/atoms/constraint/reproduce-before-fix.json",
  "tags": [
    "debugging",
    "tdd"
  ],
  "lifecycle": "draft",
  "category": "testing",
  "provenance": {
    "source": "convergent-systems-co/prompt-atoms",
    "source_url": "https://github.com/convergent-systems-co/prompt-atoms/blob/main/atoms/constraint/reproduce-before-fix.json",
    "author": "convergent-systems-co",
    "license": "Apache-2.0",
    "notes": "Re-typed by scripts/migrate-retired-atoms.py from the retired catalog."
  }
}