Skip to content

primitives comparison results

Douwe de Vries edited this page Jul 2, 2026 · 2 revisions

Comparison results

Active contributors: Douwe de Vries

Purpose

Comparison results describe each aligned or unaligned row after a comparison. They drive summary counts, result table badges, exports, and snapshot persistence.

Key abstractions

Name File Description
RowComparisonResult src/data/types.rs Backend enum for match, mismatch, missing, unkeyed, and duplicate outcomes.
ResultType src/data/types.rs Serializable result kind.
ValueDifference src/data/types.rs Column-level mismatch details.
ComparisonSummary src/data/types.rs Aggregate result counts.
ResultResponse src/presentation/responses.rs, frontend/src/types/api.ts Public result shape consumed by the UI.
ResultRowViewModel frontend/src/features/results/presentation.ts Render-ready row state.

How it works

src/comparison/engine.rs emits RowComparisonResult values and calls generate_summary. src/presentation/responses.rs serializes them. frontend/src/features/results/presentation.ts adds labels, badges, search text, sort values, and expandable details.

Integration points

CSV export uses src/data/export.rs. HTML export uses frontend/src/features/results/htmlExport.ts. Snapshot persistence converts through src/backend/persistence/v1/mod.rs.

Key source files

File Purpose
src/data/types.rs Result enum and summary type.
src/comparison/engine.rs Result generation.
src/presentation/responses.rs Response conversion.
frontend/src/features/results/presentation.ts UI view model.
frontend/src/components/ResultsTable.tsx Rendered table.

See results review and export for the UI workflow.

Clone this wiki locally