{
  "date": "2026-10-05",
  "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": "Mixed removable characters",
      "stage": "direct string",
      "mode": "keep",
      "input": "A​­⁠﻿͏B—C",
      "output": "AB—C",
      "input_codepoints": "U+0041 U+200B U+00AD U+2060 U+FEFF U+034F U+0042 U+2014 U+0043",
      "output_codepoints": "U+0041 U+0042 U+2014 U+0043",
      "status": "Removed 5 invisible characters",
      "before": {
        "containsSelected": true,
        "dashCount": 1
      },
      "after": {
        "containsSelected": false,
        "dashCount": 1
      },
      "second_pass": {
        "output": "AB—C",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Mixed removable characters",
      "stage": "direct string",
      "mode": "replace",
      "input": "A​­⁠﻿͏B—C",
      "output": "AB-C",
      "input_codepoints": "U+0041 U+200B U+00AD U+2060 U+FEFF U+034F U+0042 U+2014 U+0043",
      "output_codepoints": "U+0041 U+0042 U+002D U+0043",
      "status": "Removed 5 invisible characters; handled 1 dash",
      "before": {
        "containsSelected": true,
        "dashCount": 1
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "AB-C",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Mixed removable characters",
      "stage": "direct string",
      "mode": "remove",
      "input": "A​­⁠﻿͏B—C",
      "output": "ABC",
      "input_codepoints": "U+0041 U+200B U+00AD U+2060 U+FEFF U+034F U+0042 U+2014 U+0043",
      "output_codepoints": "U+0041 U+0042 U+0043",
      "status": "Removed 5 invisible characters; handled 1 dash",
      "before": {
        "containsSelected": true,
        "dashCount": 1
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "ABC",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Retained meaningful sequence",
      "stage": "direct string",
      "mode": "keep",
      "input": "👩‍💻 ",
      "output": "👩‍💻 ",
      "input_codepoints": "U+1F469 U+200D U+1F4BB U+00A0",
      "output_codepoints": "U+1F469 U+200D U+1F4BB U+00A0",
      "status": "No selected invisible characters found",
      "before": {
        "containsSelected": false,
        "dashCount": 0
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "👩‍💻 ",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Retained meaningful sequence",
      "stage": "direct string",
      "mode": "replace",
      "input": "👩‍💻 ",
      "output": "👩‍💻 ",
      "input_codepoints": "U+1F469 U+200D U+1F4BB U+00A0",
      "output_codepoints": "U+1F469 U+200D U+1F4BB U+00A0",
      "status": "No selected invisible characters found",
      "before": {
        "containsSelected": false,
        "dashCount": 0
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "👩‍💻 ",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Retained meaningful sequence",
      "stage": "direct string",
      "mode": "remove",
      "input": "👩‍💻 ",
      "output": "👩‍💻 ",
      "input_codepoints": "U+1F469 U+200D U+1F4BB U+00A0",
      "output_codepoints": "U+1F469 U+200D U+1F4BB U+00A0",
      "status": "No selected invisible characters found",
      "before": {
        "containsSelected": false,
        "dashCount": 0
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "👩‍💻 ",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Plain reference",
      "stage": "direct string",
      "mode": "keep",
      "input": "ABC",
      "output": "ABC",
      "input_codepoints": "U+0041 U+0042 U+0043",
      "output_codepoints": "U+0041 U+0042 U+0043",
      "status": "No selected invisible characters found",
      "before": {
        "containsSelected": false,
        "dashCount": 0
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "ABC",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Plain reference",
      "stage": "direct string",
      "mode": "replace",
      "input": "ABC",
      "output": "ABC",
      "input_codepoints": "U+0041 U+0042 U+0043",
      "output_codepoints": "U+0041 U+0042 U+0043",
      "status": "No selected invisible characters found",
      "before": {
        "containsSelected": false,
        "dashCount": 0
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "ABC",
        "status": "No selected invisible characters found"
      },
      "stable": true
    },
    {
      "label": "Plain reference",
      "stage": "direct string",
      "mode": "remove",
      "input": "ABC",
      "output": "ABC",
      "input_codepoints": "U+0041 U+0042 U+0043",
      "output_codepoints": "U+0041 U+0042 U+0043",
      "status": "No selected invisible characters found",
      "before": {
        "containsSelected": false,
        "dashCount": 0
      },
      "after": {
        "containsSelected": false,
        "dashCount": 0
      },
      "second_pass": {
        "output": "ABC",
        "status": "No selected invisible characters found"
      },
      "stable": true
    }
  ]
}