{
  "asOf": "2026-09-16",
  "scope": "Post-fix observation of the same 14 synthetic CSV preview fixtures. This is not a full-file validator, production upload study or mailbox verification.",
  "baselineImplementation": "e77303e",
  "sourceSHA256": "10d760ae252dd85faa97b94e52302ad3e529a50764eb6637b30cf6493c77e289",
  "fixtureSHA256": "115ae71331e28f5c78e6151fa42b930f55b458483b3172e8961352b935df8a02",
  "before": {
    "fixtures": 14,
    "matched": 9,
    "discrepancies": 5
  },
  "after": {
    "fixtures": 14,
    "matched": 14,
    "discrepancies": 0
  },
  "observations": [
    {
      "error": "",
      "fixture": {
        "id": "plain",
        "input": "Email,Name\na@example.test,Alex",
        "maxRows": 5,
        "expectedRows": [
          [
            "a@example.test",
            "Alex"
          ]
        ],
        "expectError": false,
        "rationale": "A two-column row should retain both values."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email",
          "Name"
        ],
        "rows": [
          [
            "a@example.test",
            "Alex"
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "quoted-comma",
        "input": "Email,Name\na@example.test,\"Alex, A\"",
        "maxRows": 5,
        "expectedRows": [
          [
            "a@example.test",
            "Alex, A"
          ]
        ],
        "expectError": false,
        "rationale": "A quoted comma belongs to the field."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email",
          "Name"
        ],
        "rows": [
          [
            "a@example.test",
            "Alex, A"
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "embedded-newline",
        "input": "Email,Name\na@example.test,\"Alex\nA\"",
        "maxRows": 5,
        "expectedRows": [
          [
            "a@example.test",
            "Alex\nA"
          ]
        ],
        "expectError": false,
        "rationale": "An embedded newline belongs to one record."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email",
          "Name"
        ],
        "rows": [
          [
            "a@example.test",
            "Alex\nA"
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "escaped-quote",
        "input": "Email,Name\na@example.test,\"Alex \"\"A\"\"\"",
        "maxRows": 5,
        "expectedRows": [
          [
            "a@example.test",
            "Alex \"A\""
          ]
        ],
        "expectError": false,
        "rationale": "Doubled quotes decode to one quote."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email",
          "Name"
        ],
        "rows": [
          [
            "a@example.test",
            "Alex \"A\""
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "bom",
        "input": "﻿Email,Name\na@example.test,Alex",
        "maxRows": 5,
        "expectedRows": [
          [
            "a@example.test",
            "Alex"
          ]
        ],
        "expectError": false,
        "rationale": "Observe the BOM header and mapping separately."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "﻿Email",
          "Name"
        ],
        "rows": [
          [
            "a@example.test",
            "Alex"
          ]
        ],
        "mapping": {
          "﻿Email": "email"
        }
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "crlf",
        "input": "Email,Name\r\na@example.test,Alex\r\n",
        "maxRows": 5,
        "expectedRows": [
          [
            "a@example.test",
            "Alex"
          ]
        ],
        "expectError": false,
        "rationale": "CRLF records should parse without a trailing field artifact."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email",
          "Name"
        ],
        "rows": [
          [
            "a@example.test",
            "Alex"
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    },
    {
      "error": "could not read CSV sample record 2: parse error on line 2, column 25: extraneous or missing \" in quoted-field",
      "fixture": {
        "id": "malformed-first-row",
        "input": "Email,Name\na@example.test,\"unclosed",
        "maxRows": 5,
        "expectedRows": [],
        "expectError": true,
        "rationale": "A malformed sampled record should be reported rather than silently omitted."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": null,
        "rows": null,
        "mapping": null
      }
    },
    {
      "error": "could not read CSV sample record 3: parse error on line 3, column 25: extraneous or missing \" in quoted-field",
      "fixture": {
        "id": "malformed-after-valid",
        "input": "Email,Name\na@example.test,Alex\nb@example.test,\"unclosed",
        "maxRows": 5,
        "expectedRows": [],
        "expectError": true,
        "rationale": "A valid prefix should not hide a malformed sampled record."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": null,
        "rows": null,
        "mapping": null
      }
    },
    {
      "error": "could not read CSV sample record 2: record on line 2: wrong number of fields",
      "fixture": {
        "id": "uneven-fields",
        "input": "Email,Name\na@example.test,Alex,extra",
        "maxRows": 5,
        "expectedRows": [],
        "expectError": true,
        "rationale": "Unexpected columns should be visible as a structural error."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": null,
        "rows": null,
        "mapping": null
      }
    },
    {
      "error": "CSV header columns 1 and 2 have duplicate names; use unique names ignoring case and surrounding spaces",
      "fixture": {
        "id": "duplicate-header",
        "input": "Email,Email\na@example.test,b@example.test",
        "maxRows": 5,
        "expectedRows": [],
        "expectError": true,
        "rationale": "Ambiguous duplicate column names should be rejected."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": null,
        "rows": null,
        "mapping": null
      }
    },
    {
      "error": "CSV header column 2 is blank; give every column a unique name",
      "fixture": {
        "id": "blank-header",
        "input": "Email,\na@example.test,Alex",
        "maxRows": 5,
        "expectedRows": [],
        "expectError": true,
        "rationale": "An unnamed column should be reported before mapping."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": null,
        "rows": null,
        "mapping": null
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "formula-cell",
        "input": "Email,Name\na@example.test,=1+1",
        "maxRows": 5,
        "expectedRows": [
          [
            "a@example.test",
            "=1+1"
          ]
        ],
        "expectError": false,
        "rationale": "Parsing should preserve text without executing it; export safety is a separate check."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email",
          "Name"
        ],
        "rows": [
          [
            "a@example.test",
            "=1+1"
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "invalid-email",
        "input": "Email,Name\nnot-an-address,Alex",
        "maxRows": 5,
        "expectedRows": [
          [
            "not-an-address",
            "Alex"
          ]
        ],
        "expectError": false,
        "rationale": "Preview is not mailbox verification; observe that the string is retained."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email",
          "Name"
        ],
        "rows": [
          [
            "not-an-address",
            "Alex"
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    },
    {
      "error": "",
      "fixture": {
        "id": "preview-limit",
        "input": "Email\na@example.test\nb@example.test",
        "maxRows": 1,
        "expectedRows": [
          [
            "a@example.test"
          ]
        ],
        "expectError": false,
        "rationale": "A one-row preview must remain bounded; it does not validate the whole file."
      },
      "matchedExpectation": true,
      "observed": {
        "headers": [
          "Email"
        ],
        "rows": [
          [
            "a@example.test"
          ]
        ],
        "mapping": {
          "Email": "email"
        }
      }
    }
  ]
}
