Columnproofstructural handoff review

A drafting table for recurring CSV handoffs

See what changed before a spreadsheet quietly breaks.

Compare two CSV, TSV, semicolon, or pipe-delimited files. Record deliberate renames, encode each downstream consumer’s expectations, resolve findings, and carry the review forward as a tamper-evident checkpoint.

  • No account
  • No upload
  • No source rows retained
  • Works offline after first visit

Handoff 09 / review sheet

AcceptedCandidate
order_idorder_id
customer_idclient_id
order_dateorder_timestamp
priorityabsent
source_system
REVIEW
REQUIRED
4delimiters
3text encodings
18packet files
0runtime requests

The useful middle ground

Not a row diff. Not a data platform.

01

Profile structure locally

Headers, inferred primitive types, blank rates, bounded distinct counts, length ranges, and a SHA-256 content digest are stored. Raw source rows and example values are discarded.

02

Make human intent explicit

Suggested renames are evidence, never decisions. A reviewer commits one-to-one mappings and documents why they are believed to preserve meaning.

03

Review through consumers

Describe required columns, allowed inferred types, relative order, and tolerance for additions. Findings become specific to the workbook, import, or merge that actually depends on the file.

Designed for handoffs

A review artifact people can actually pass along.

The passive ZIP packet includes readable HTML, CSV registers, JSON evidence, checksums, method and limitation notes, and a full restorable checkpoint. It contains no scripts and no source rows.

What the packet contains →
  1. 1Load an accepted baseline
  2. 2Load the proposed candidate
  3. 3Map deliberate renames
  4. 4Add consumer policies
  5. 5Resolve and freeze the review

See it on real files

A worked example you can download and reproduce.

The bundled sample is one month of a parts export: an accepted August file of twelve columns and a proposed September file of twelve columns. Comparing them produces twenty-eight findings, six of them blocking. Three baseline columns are simply gone. One column quietly shifts from integer to number because a single fractional quantity appears. One column stays present while its blank rate rises by 75.0 percentage points, which no column-name diff would report at all. Two consumers described in the same project disagree completely about whether the file is acceptable, which is the point: compatibility belongs to a named consumer, not to a file.

The worked example page lists every finding, explains how to read the interesting ones, and offers the two source CSVs and a restorable review checkpoint as downloads, so you can reproduce each number before deciding whether the method suits your team.

Read the worked example →

Honest boundary

Evidence for a conversation, not a compatibility certificate.

Type inference is observational. A profile can miss rare values or business meaning. The workbench does not execute imports, validate personal data, generate migrations, or prove that a consumer is safe. Your team still owns the decision.