# CSV Mapper — QA report

**Pre-publication validation · 31 August 2026**

CSV Mapper was checked using actual CSV and Excel files, its working validation and export engines, and a local Chrome browser. All final checks listed below passed. This report covers the build tested before publication; it does not claim verification of a public deployment or a successful import into a live store.

## Recorded results

| Test layer | Final result | What was checked |
|---|---|---|
| Mapping and data validation | **1,530 / 1,530 checks** across ten rounds | Products, categories and customers; all 86 implemented core rule codes exercised in every round. |
| Integration safeguards | **760 / 760 scenario executions** | 76 distinct scenarios repeated across ten rounds, including mapping changes, reference trust, corrections, cancelled reads and export gates. |
| Deal calculations and controls | **1,267 / 1,267 checks** | Ten rounds plus additional checks of monetary boundaries, supplied evidence and larger inputs. |
| Destination exporter suites | **100 / 100 named test groups** across ten full runs | Destination formats, variants, selective updates, currency rules and supported Google fields. |
| Actual-file pipeline | **508 / 508 assertions** across ten varied rounds | Source files through parsing, mapping, validation, destination formatting and serialization. |
| Independent pipeline-file verification | **5,428 / 5,428 checks** | 90 generated files: 57 CSV files and 33 Excel workbooks, read independently with Python CSV, ZIP/XML and openpyxl readers. |
| Actual Chrome workflow | **240 / 240 checks** across ten final rounds | File selection, visible mapped values, corrections, warning review, blocked exports and download actions for all four sheet types. |
| Actual browser-download verification | **6,217 / 6,217 checks** | 100 downloaded files independently reopened and checked. A supplementary ten-round download pass also exercised all four sheet types and separate-file buttons. |

The counts use different units—checks, scenarios and files—so they are not combined into an “accuracy percentage.” Earlier prototype checks and preliminary browser rounds are excluded. Ten rounds provided repeated and varied coverage; they do not represent every possible spreadsheet or importer configuration.

## What the checks covered

- **Actual cell values:** missing versus zero prices, invalid numbers, sale and cost relationships, barcode syntax, quantities, identifiers with leading zeros, customer email and consent values, and category hierarchies.
- **Relationships:** unusually high or low prices within comparable product families; duplicate or conflicting identities; supplier/category differences; parent and variant links; conflicting customer records; and category cycles.
- **Reference safety:** no automatic fill across conflicting identities, currencies or pack quantities. Missing reference context stays unknown, and a source-currency default is not treated as reference evidence.
- **File and output integrity:** quoting, encodings, formulas and saved results, spreadsheet errors, archive limits, text preservation, destination columns, Google attributes within the product sheet, and recovery of edited values.
- **Workflow protection:** changing the source, mapping, reference or destination invalidates earlier review decisions. Corrected values are checked again; unresolved blockers prevent prepared-file export.
- **Deal logic:** discount totals, rounding, fees, costs, contribution and supplied business rules. Missing external evidence remains explicitly **Not checked**.

The core suite also processed separate 5,000-record product, category and customer datasets in every round. These are local test observations, not a performance guarantee for every device.

## Corrected sample workbook

The latest complete pipeline run, finished at **03:53:04 UTC**, included the corrected `csv-mapper-source-samples.xlsx`. Its seven tabs were checked, and its fingerprint matches the packaged download and sample manifest:

`ad14c68c1ae61ba9364a37d9697dc186b33d844bd798bd728830196800e860b7`

The workbook contains fictional source data and teaching material. It is not an importer-ready catalog or a live validation report.

## Tested source fingerprints

SHA-256 fingerprints identify the tested modules without depending on a later publication commit:

| Module | SHA-256 |
|---|---|
| `app.mjs` | `afacff1cd0c681e1d4f24d74cd5f4f83534f44882566b6b52ad99aaebd4e83af` |
| `engine/core.mjs` | `e229111af2b88f3b1722b1af92a9885db7a86f34f7adf81d29890ba4f646f292` |
| `engine/parser.mjs` | `9c11eb0f889e0b7bd6e54eed643bda6a803b6f8c3d3bf1150211983646fe9cfa` |
| `engine/exporters.mjs` | `8eb7b5d689be95edf91a9b7c48102dd80a5ddf977c53ce571bd49201bab0da8e` |

## Limits and responsible use

Passing these tests is evidence for the tested cases, not exhaustive certification of correctness, security, accessibility or importer compatibility. No live Shopify or WooCommerce import was performed, no destination plugin configuration was certified, and no promotion was activated. Public deployment verification is separate from this pre-publication report.

The app does not independently establish barcode ownership, category suitability, customer consent, contact deliverability, live inventory, supplier approval or legal compliance. Reference files are evidence supplied by the user. Some archive forms, including streamed and ZIP64 workbooks, require saving a supported standard XLSX or CSV copy.

Review warnings and output previews, keep a backup, confirm the destination’s settings, and test a small import before using a prepared file at scale.
