{
  "date": "2026-10-04",
  "runtime": "v24.19.0",
  "app_sha256": "b5b23e8c7028a1ee6ede9b41b459f5213af44661fc42f3d8c07b4a45f99c0644",
  "method": "Synthetic fixtures, not Claude samples. Actual homepage script in minimal DOM. Invisible checkbox on; dash Keep unless matrix says otherwise. Observations are fixture-specific, not general application tests.",
  "rows": [
    {
      "label": "Hidden boundary only",
      "stage": "direct string",
      "mode": "keep",
      "input": "red​blue",
      "output": "redblue",
      "input_codepoints": "U+0072 U+0065 U+0064 U+200B U+0062 U+006C U+0075 U+0065",
      "output_codepoints": "U+0072 U+0065 U+0064 U+0062 U+006C U+0075 U+0065",
      "status": "Removed 1 invisible character",
      "before": {
        "wordsByAsciiSpace": [
          "red​blue"
        ],
        "asciiSpaces": 0,
        "equalsRedBlue": false
      },
      "after": {
        "wordsByAsciiSpace": [
          "redblue"
        ],
        "asciiSpaces": 0,
        "equalsRedBlue": false
      }
    },
    {
      "label": "Ordinary space already present",
      "stage": "direct string",
      "mode": "keep",
      "input": "red​ blue",
      "output": "red blue",
      "input_codepoints": "U+0072 U+0065 U+0064 U+200B U+0020 U+0062 U+006C U+0075 U+0065",
      "output_codepoints": "U+0072 U+0065 U+0064 U+0020 U+0062 U+006C U+0075 U+0065",
      "status": "Removed 1 invisible character",
      "before": {
        "wordsByAsciiSpace": [
          "red​",
          "blue"
        ],
        "asciiSpaces": 1,
        "equalsRedBlue": false
      },
      "after": {
        "wordsByAsciiSpace": [
          "red",
          "blue"
        ],
        "asciiSpaces": 1,
        "equalsRedBlue": true
      }
    },
    {
      "label": "Split identifier",
      "stage": "direct string",
      "mode": "keep",
      "input": "ac​count_id",
      "output": "account_id",
      "input_codepoints": "U+0061 U+0063 U+200B U+0063 U+006F U+0075 U+006E U+0074 U+005F U+0069 U+0064",
      "output_codepoints": "U+0061 U+0063 U+0063 U+006F U+0075 U+006E U+0074 U+005F U+0069 U+0064",
      "status": "Removed 1 invisible character",
      "before": {
        "wordsByAsciiSpace": [
          "ac​count_id"
        ],
        "asciiSpaces": 0,
        "equalsRedBlue": false
      },
      "after": {
        "wordsByAsciiSpace": [
          "account_id"
        ],
        "asciiSpaces": 0,
        "equalsRedBlue": false
      }
    },
    {
      "label": "Word joiner without space",
      "stage": "direct string",
      "mode": "keep",
      "input": "red⁠blue",
      "output": "redblue",
      "input_codepoints": "U+0072 U+0065 U+0064 U+2060 U+0062 U+006C U+0075 U+0065",
      "output_codepoints": "U+0072 U+0065 U+0064 U+0062 U+006C U+0075 U+0065",
      "status": "Removed 1 invisible character",
      "before": {
        "wordsByAsciiSpace": [
          "red⁠blue"
        ],
        "asciiSpaces": 0,
        "equalsRedBlue": false
      },
      "after": {
        "wordsByAsciiSpace": [
          "redblue"
        ],
        "asciiSpaces": 0,
        "equalsRedBlue": false
      }
    }
  ]
}