{
  "product": "Specification (reference)",
  "title": "Diff Engine",
  "summary": "Compute and apply differences between two texts.",
  "category": "engines",
  "entries": [
    {
      "path": [
        "AI",
        "Core",
        "Line-level diff of two texts"
      ],
      "value": "",
      "status": "yes",
      "note": "the LCS-shaped result"
    },
    {
      "path": [
        "AI",
        "Core",
        "Character or word-level diff"
      ],
      "value": "",
      "status": "yes",
      "note": "for intra-line detail"
    },
    {
      "path": [
        "AI",
        "Core",
        "Minimal edit script"
      ],
      "value": "insert/delete/equal",
      "status": "yes",
      "note": "Myers or equivalent"
    },
    {
      "path": [
        "AI",
        "Output",
        "Unified diff format"
      ],
      "value": "@@ -a,b +c,d @@",
      "status": "yes",
      "note": "with configurable context"
    },
    {
      "path": [
        "AI",
        "Output",
        "Side-by-side alignment data"
      ],
      "value": "",
      "status": "yes",
      "note": "rows paired for display"
    },
    {
      "path": [
        "AI",
        "Output",
        "Structured hunks"
      ],
      "value": "",
      "status": "yes",
      "note": "programmatic access, not just text"
    },
    {
      "path": [
        "AI",
        "Patch",
        "Apply a patch to a text"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Patch",
        "Detect and report conflicts"
      ],
      "value": "",
      "status": "yes",
      "note": "with the failing hunk"
    },
    {
      "path": [
        "AI",
        "Patch",
        "Fuzzy application with offset search"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Merge",
        "Three-way merge"
      ],
      "value": "",
      "status": "yes",
      "note": "base, ours, theirs"
    },
    {
      "path": [
        "AI",
        "Merge",
        "Conflict markers in the merged output"
      ],
      "value": "<<<<<<< …",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Options",
        "Ignore whitespace and case"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Options",
        "Detect moved blocks"
      ],
      "value": "",
      "status": "yes",
      "note": ""
    },
    {
      "path": [
        "AI",
        "Correctness",
        "Applying a diff reproduces the target exactly"
      ],
      "value": "",
      "status": "yes",
      "note": "the round-trip property"
    },
    {
      "path": [
        "AI",
        "Performance",
        "Linear-ish on large similar files"
      ],
      "value": "",
      "status": "yes",
      "note": "no quadratic blow-up on realistic input"
    }
  ]
}
