{
  "date": "2026-10-06",
  "runtime": "v24.19.0",
  "app_sha256": "b5b23e8c7028a1ee6ede9b41b459f5213af44661fc42f3d8c07b4a45f99c0644",
  "method": "Synthetic fixtures, not Claude samples. Actual homepage script in minimal DOM. Checkbox state and dash mode recorded in each row. Observations are fixture-specific, not general application tests.",
  "rows": [
    {
      "label": "Quoted comma",
      "stage": "direct string",
      "mode": "keep",
      "enabled": true,
      "input": "id,note\r\n1,\"A,​B\"",
      "output": "id,note\r\n1,\"A,B\"",
      "input_codepoints": "U+0069 U+0064 U+002C U+006E U+006F U+0074 U+0065 U+000D U+000A U+0031 U+002C U+0022 U+0041 U+002C U+200B U+0042 U+0022",
      "output_codepoints": "U+0069 U+0064 U+002C U+006E U+006F U+0074 U+0065 U+000D U+000A U+0031 U+002C U+0022 U+0041 U+002C U+0042 U+0022",
      "status": "Removed 1 invisible character",
      "before": {
        "rows": [
          [
            "id",
            "note"
          ],
          [
            "1",
            "A,​B"
          ]
        ],
        "balancedQuotes": true,
        "recordCount": 2,
        "fieldCounts": [
          2,
          2
        ]
      },
      "after": {
        "rows": [
          [
            "id",
            "note"
          ],
          [
            "1",
            "A,B"
          ]
        ],
        "balancedQuotes": true,
        "recordCount": 2,
        "fieldCounts": [
          2,
          2
        ]
      }
    },
    {
      "label": "Quoted newline",
      "stage": "direct string",
      "mode": "keep",
      "enabled": true,
      "input": "id,note\r\n1,\"A\n​B\"",
      "output": "id,note\r\n1,\"A\nB\"",
      "input_codepoints": "U+0069 U+0064 U+002C U+006E U+006F U+0074 U+0065 U+000D U+000A U+0031 U+002C U+0022 U+0041 U+000A U+200B U+0042 U+0022",
      "output_codepoints": "U+0069 U+0064 U+002C U+006E U+006F U+0074 U+0065 U+000D U+000A U+0031 U+002C U+0022 U+0041 U+000A U+0042 U+0022",
      "status": "Removed 1 invisible character",
      "before": {
        "rows": [
          [
            "id",
            "note"
          ],
          [
            "1",
            "A\n​B"
          ]
        ],
        "balancedQuotes": true,
        "recordCount": 2,
        "fieldCounts": [
          2,
          2
        ]
      },
      "after": {
        "rows": [
          [
            "id",
            "note"
          ],
          [
            "1",
            "A\nB"
          ]
        ],
        "balancedQuotes": true,
        "recordCount": 2,
        "fieldCounts": [
          2,
          2
        ]
      }
    },
    {
      "label": "Escaped quote",
      "stage": "direct string",
      "mode": "keep",
      "enabled": true,
      "input": "id,note\r\n1,\"A\"\"​B\"",
      "output": "id,note\r\n1,\"A\"\"B\"",
      "input_codepoints": "U+0069 U+0064 U+002C U+006E U+006F U+0074 U+0065 U+000D U+000A U+0031 U+002C U+0022 U+0041 U+0022 U+0022 U+200B U+0042 U+0022",
      "output_codepoints": "U+0069 U+0064 U+002C U+006E U+006F U+0074 U+0065 U+000D U+000A U+0031 U+002C U+0022 U+0041 U+0022 U+0022 U+0042 U+0022",
      "status": "Removed 1 invisible character",
      "before": {
        "rows": [
          [
            "id",
            "note"
          ],
          [
            "1",
            "A\"​B"
          ]
        ],
        "balancedQuotes": true,
        "recordCount": 2,
        "fieldCounts": [
          2,
          2
        ]
      },
      "after": {
        "rows": [
          [
            "id",
            "note"
          ],
          [
            "1",
            "A\"B"
          ]
        ],
        "balancedQuotes": true,
        "recordCount": 2,
        "fieldCounts": [
          2,
          2
        ]
      }
    }
  ]
}