Skip to content

primitives snapshots and pair order

Douwe de Vries edited this page Jul 2, 2026 · 1 revision

Snapshots and pair-order

Active contributors: Douwe de Vries

Purpose

Snapshots and pair-order files are versioned artifacts that let users return to work. Pair-order stores setup choices for current CSV structures; snapshots store completed results for read-only review.

Key abstractions

Name File Description
PersistedPairOrder src/backend/pair_order.rs Internal pair-order JSON schema.
PAIR_ORDER_FILE_VERSION src/backend/pair_order.rs Pair-order version, currently 1.
SnapshotV1 src/backend/persistence/v1/mod.rs Snapshot schema type.
SNAPSHOT_VERSION src/backend/persistence/v1/mod.rs Snapshot version, currently 2.
LoadComparisonSnapshotResponse src/backend/requests.rs, frontend/src/types/api.ts Snapshot load response shape.

How it works

Pair-order load validates current loaded headers before applying selection. Snapshot load validates its own declared headers, virtual headers, mappings, results, and summary before hydrating the session and frontend read-only mode.

Integration points

Both artifacts use browser download or Tauri save/open dialogs through frontend/src/hooks/useWorkflowPersistenceActions.ts and frontend/src/services/tauri.ts. Backend workflows are in src/backend/workflow.rs.

Key source files

File Purpose
src/backend/pair_order.rs Pair-order schema and validation.
src/backend/comparison_snapshot.rs Snapshot save/load preparation.
src/backend/persistence/v1/mod.rs Snapshot schema and validation.
frontend/src/hooks/useWorkflowPersistenceActions.ts Frontend saved-work actions.
frontend/src/components/app/ResultsStep.tsx Read-only snapshot UX.

See saved work for the user-facing flow.

Clone this wiki locally