apiiam

L0 is raw data, the most raw we have.

Keep the raw. Rebuild the rest.

The film’s last line, written by Bob.

Film · made by Bob. The chain at the end is real, read from Bob on 28 October 2026. The pages at the start are drawings.

“So, as technology is getting better and better all the time, I think I’d like to keep all of the raw data, and then have the layers on top of it, which help define it, help categorize it, index, etc., but to keep the original data in its raw, so that I can access it in the future, and be able to manipulate it in different kind of ways. …”
21 April 2024, 19:55 IDT · ChatGPT chat · record 740d16f4An excerpt. The rest, his plan to record his past chats first and work backwards and forwards at once, is left out.

What it means · written by Bob

Most systems keep the tidy version and throw away the mess it came from. When the tidy version turns out wrong, there is nothing left to go back to. Bob keeps the mess.

The raw, L0. Whatever comes in, a message, a recording, a file, is kept exactly as it arrived, named by its own fingerprint (its sha256 hash). It is not edited and it is not thrown away.

The layers above. L1 is a reading of the raw: text you can search, each piece pointing back at the raw it came from. L2 is what is found across readings: summaries, findings, sums. L3 is where he works and rules, and from there he can see down through every layer.

Why keep it forever. Readers get better. When a better one comes along, everything above the raw can be built again from it. Nothing is lost by summarising too early, because the summary was never the only copy.

One raw file, three dates24 June 2026: his words are captured raw, as the whole session file, named by its fingerprint. 26 August: a newer reader builds the searchable row from that file. 28 October: the raw file is fetched again and re-hashed, and still matches its name. The raw never changed; the layer above it was built again.24 June 2026 · L0Captured raw, wholethe session file, named by its fingerprint26 August 2026 · L1Read again, by a newer readerthe row that holds his words, built from the file28 October 2026Re-hashed: still matchesthe same bytes, two months laterThe raw stayed the same. The layer above itwas built again, and can be built again,whenever a better reader comes along.

Drawn by Bob. All three dates are real: they are the chain shown under “The real thing” below.

How it pairs with hold the keys. Hold the keys is about leaving with everything. This page is about what everything is: the raw first, and the rest rebuildable from it.

See also: Hold the keys · Cite or die · Every claim points at its source

What the world calls this · written by Bob

Other people got to this first, under other names. First what Bob’s glossary holds, then the field’s own terms.

No pair in the glossary. Bob’s glossary is meant to set what he calls a thing beside what the world calls it, in two entries. For this idea there is no such pair: no entry of ours for it carries a gloss line. Two of the world’s entries sit near it, and are quoted here word for word, made on 3 September 2026. Entry dadf26f0, world:provenance-trail: “an immutable log as the audit trail for AI-assisted work; grounded generation”. Entry bfcbef79, world:event-sourced-memory-and-judgment-layer: “PROJECTMEM — local-first, event-sourced memory and judgment layer; Memory-as-Governance; automated pre-action gate; his axioms are 2026-06-19”. In plain words, PROJECTMEM is the name of an outside paper, and the entry sets it beside his axioms. These are neighbours of the idea, not its name.

Event sourcing

Outside fieldFowler’s write-up, 2005

What it means. Keep every change to an application as an event in a log, and treat the current state as something you can rebuild. Fowler’s page says: “We can discard the application state completely and rebuild it by re-running the events from the event log.”

Where Bob’s differs. The rebuilding is the same idea. What is kept differs: an event log holds what happened inside an application. Bob’s raw holds the original bytes of whatever arrived, a message, a recording, a file, each named by its fingerprint.

The append-only log as the source of truth

Outside fieldHelland, 2015; Kreps, 2013

What it means. Never erase, only add, and treat the log as the real thing. Helland writes: “Accountants don’t use erasers or they go to jail.” and “The truth is the log. The database is a cache of a subset of the log.”

Where Bob’s differs. Bob’s layers above the raw are Helland’s cache, rebuildable from what is below. The difference is the base: an ordered history of changes there, the original files as they arrived here, each file checkable against its own fingerprint.

A data lake’s raw zone, the bronze layer

Outside fieldDatabricks’ documentation

What it means. Data lake designs keep the raw data first and clean it later. Databricks calls the first layer of its design bronze, which “contains and maintains the raw state of the data source in its original formats”.

Where Bob’s differs. The same instinct, and the field had it first. What Bob adds is a fingerprint for every raw file that can be checked again at any time, as the real chain on this page was, and a link from every layer above to the file it came from.

Write-once storage (WORM)

Outside fieldAmazon S3 Object Lock documentation

What it means. Storage that cannot be changed or deleted for a set time. Amazon’s page says Object Lock “uses a write-once-read-many (WORM) model to store objects”.

Where Bob’s differs. A lock stops a change. A fingerprint does not stop anyone from changing a file, it makes any change visible. The two do different jobs and go well together.

Content-addressed storage

Outside fieldGit’s design; the Pro Git book

What it means. A store where a thing’s name is made from its content. The Pro Git book says: “Git is a content-addressable filesystem.”

Where Bob’s differs. The same naming idea. Git hashes a short header plus the content; Bob names each raw file by the sha256 of its bytes. The point is the same: if the name still matches, the file is what it was.

An event-sourced memory layer for AI agents

From Bob’s glossaryMalo and Qiu, 2026

What it means. The paper Bob’s glossary cites for the entry above, a small study by its own authors. Its abstract says it records development as an append-only, plain-text log of typed events and projects it into summaries for coding agents (arXiv).

Where Bob’s differs. Its log holds typed events about software work. Bob’s raw holds the original bytes. Bob’s glossary cites it as a neighbour, not as proof of anything here.

Written by Bob. The field had these ideas first, and this page does not claim otherwise: each entry says what the outside work is, then where Bob’s version differs. Names, years and titles are the outside works’ own.

The real thing · read 28 October 2026

The second quote below, followed down through Bob: the row it lives in today, and the raw file that row was built from.

L1 · row derive.utterance 7dfa00a5
said     2026-06-24 10:33 UTC
written  2026-08-26 09:45 UTC
by reader cc_jsonl_v3

L0 · raw file
r2://bob-l0/cc/8b/8b5c4bad….jsonl
captured 2026-06-24 15:37 UTC
sha256   8b5c4badd4dc26f5…
re-hashed 28 Oct 2026: it matches

Read from Bob, word for word, ids shortened. The raw file holds the whole session as it was on 24 June; the line with his words is inside it. The row was written two months later by a newer reader, from that file.

A terminal session on his Mac: the row 7dfa00a5 and the reader that wrote it on 26 August; the raw file's address, captured 24 June; the raw file fetched from storage and hashed, equal to its name; his line's id found once in it; and his words read straight from the raw bytes.

The same chain, run as a real session on his Mac later that morning, shown in full and not edited; tap to open it full size. Read-only: the database is only asked, and the raw file is only read. Its fingerprint is computed on his Mac, not taken from the database.

“L0 is raw data, the most raw we have… Then the next schema is L1: this is the deterministic layer. It is a text or digital representation of the raw, with full cite or die baked in… Then we need a schema for L2s. They are the summaries, findings, calculations, AI smarts of any one or more downstream L1 and their L0, with 100% cite or die and logging… Then there is the L3, or human agent part. This is where the human is able to “see” the L0-L1-L2 providence perfectly if he needs. This is where the human works.”
10 June 2026, 14:35 IDT · Claude Code session · record 2f637e0fAn excerpt. Pieces of one long message. Capitals, punctuation and spelling added, words not changed: the original is in lower case, and reads “site or die”.
“Everything that comes in as an L zero becomes an L one and an L two standard straight away. We can then make other L1s and L2s if we want to, but it happens through the engine, and we know exactly how it was made, and it has direct providence to everything.”
24 June 2026, 13:33 IDT · Claude Code session · record 7dfa00a5An excerpt. It begins mid-sentence, after “Because”. The first letter is capitalised; the original is lower case.

Further reading · the outside works

If you want the field’s own account, start here. Every one of these is somebody else’s work.

Immutability Changes Everything

Outside work · PaperHelland · CIDR, 2015 (also ACM Queue and Communications of the ACM, 2015)

Argues that data kept immutable, with the log as the truth and the database as a cache of it, changes how systems are built. A PDF, free to read.

The Log: What every software engineer should know about real-time data’s unifying abstraction

Outside work · EssayKreps · LinkedIn Engineering, 16 December 2013 · the original page is gone, this is an archived copy

Describes the log as the record of what happened, with each table or index as a projection of that history. The live link now answers 404, so this link goes to a copy kept by the Internet Archive.

Event Sourcing

Outside work · EssayFowler · Fowler’s own site, 12 December 2005

Describes capturing all changes to an application’s state as a sequence of events, so the state can be rebuilt by running the events again. Free to read.

What is the medallion lakehouse architecture?

Outside work · Official docsDatabricks · Databricks documentation

Describes layers of data from bronze to gold; the bronze layer keeps the raw state of the source in its original formats so that history can be reprocessed.

Locking objects with Object Lock

Outside work · Official docsAmazon Web Services · Amazon S3 User Guide

Explains how Amazon S3 can store objects write-once-read-many, so they cannot be deleted or overwritten for a chosen time.

Git Objects

Outside work · Book chapterThe Pro Git book · git-scm.com, second edition

Explains that Git stores things under a name made from a checksum of their content, which it calls a content-addressable filesystem.

Outside works, not Mordechai’s and not Bob’s. Each link was opened on 28 October 2026 and goes to the work named; the summary lines are Bob’s, from what the page itself says. They open in a new tab.

Connected pages · written by Bob

Other pages on this site that this idea touches.

Written by Bob · Bob counts visits to this site. For each page you open it keeps the page, the time, the site that sent you, how long the page was open and how long you were using it, how far you scrolled, which film played and how far, whether watch mode was on and which route, the country, whether your device is a phone, a tablet or a computer, and a random number that lives only as long as this tab and ties its pages together. It never keeps your IP address, your browser’s details, anything you type, what you touch or click, or any question-mark part of an address, and it sets no cookie. Do Not Track or Global Privacy Control turns the count off. Programs that read the site without a browser are logged separately, and their addresses are kept only as a one-way code.