dat0
dat0
.dat0 format · v1 (draft)

§2 Chunk 01 — TRANSFORMS

A reproducible workflow — every transform is sealed into the file with its SQL — and compute portability — local by default, cloud only when you choose. Designed, not shipped.

TRANSFORMS0x02A0

In development. This format is designed, not shipped. Nothing to install yet — join the waitlist.

The TRANSFORMS chunk is the workflow, remembered. Filter, join, pivot — each transform is sealed into the file in order, with the SQL that produced it and a hash of the step itself, so the workflow replays exactly: same steps, same order, same result. The concept story's payload holds 14 steps; the count is the story, the shape is the spec.

Why it matters

A result you cannot replay is a rumor. Work usually lives in someone's session history — half-remembered filters, a join that took three tries, the one pivot that made the chart make sense. Sealing the steps with their SQL turns the workflow into an object: open the artifact months later, on different data, and the same steps run in the same order.

The chunk

Hex dump of the start of the TRANSFORMS chunk. It opens with four bytes spelling TRFM, its payload length, an encoding byte selecting the ordered step list, and the beginning of the first step — each step stored as its SQL text plus the step's sha-256.

Steps are stored in application order — the replay order — and each carries its own hash, so a tampered or truncated artifact fails loudly instead of silently drifting.

Compute portability

Compute is portable. The same workbench runs against a local file, a local database, or an attached MotherDuck workspace — and which one it uses is your call, made per query, not a setting you commit to up front. Local is the default; the cloud is an option you reach for, not a requirement you start with.

Most work belongs on your machine, where it is fast and private. Some work — a very large scan, a long-running aggregation — outgrows a laptop. Compute portability lets a single heavy query burst to the cloud while everything else stays local. You get the headroom when you need it without moving your whole workflow somewhere else, and without a heavy query blocking the rest of your session.

The query you write does not change when the engine does. Only where it runs moves — from your machine to an attached cloud workspace and back:

engine: duckdb · local        # default — runs on your machine
        ─────────────────
        ↓  attach when a query outgrows the laptop
        ─────────────────
engine: motherduck · cloud    # opt-in — only when you choose

The choice is per query and reversible. Nothing is pinned to the cloud, and nothing is uploaded by default — the TRANSFORMS chunk records where each step ran, so the artifact remembers the engine split as faithfully as the steps.

Continue to §3 Chunk 02 — QUERIES.

On this page