>(< >);
The template is three placeholders and one line. Change it and every generated statement changes with it, which is the whole of the argument in block 7 of the first build: the artefact is exhaust, the rule is the asset.
What the modern engine adds is real and worth naming precisely. It runs in a browser tab, needs no server, and travels in the same folder as the page. What it does not add is the idea. Codd made the catalogue queryable in 1970 (CACM 13(6)); sqlite_master is that, and information_schema in every other engine is that. The loop above would have run on Oracle 7.
b03 Attention
Sharpen it far enough and the transformer becomes a hash table.
Scaled dot-product attention scores a query against every key, softmaxes the scores into weights, and returns the weighted sum of the values. Written down that way it is a soft read from a key–value store : the address is a similarity rather than an index, and the return is a blend rather than a row.
Drag the temperature down and watch the blend collapse. At low temperature one weight goes to 1 and the rest to 0, the sum returns a single value, and the mechanism has become an ordinary lookup. Nothing has been switched off — that is the same equation at a different setting.
query
OWNER TABLE_NAME
ATTRIB TABLESPACE
INDEX_NAME
temperature
The lineage is worth stating carefully, because it is easy to overreach here. Vaswani et al. (2017) did not restate an old idea — the architecture, the multi-head arrangement and the demonstration that attention alone suffices are genuine contributions. What is old is the primitive : retrieval by content rather than by address. Kanerva formalised that as sparse distributed memory in 1988, and a hash table is the hard-edged version that has been in every language since the 1950s.
One detail the instrument makes visible and most explanations skip: the raw dot product conflates aligned with large . A key twice as long scores twice as high in the same direction. That is why the mechanism is scaled, and why normalisation is not cosmetic.
b04 The Parallel Rule
Eight bits of rule, computed two ways, checked against each other.
An elementary cellular automaton is the smallest interesting rule there is: eight neighbourhood cases, one output bit each, 256 rules in total. Rule 110 is Turing-complete — conjectured by Wolfram in 1985, proved by Matthew Cook and published in Complex Systems 15 (2004).
Below, the same rule is computed twice: once on the CPU one cell at a time, and once as a WGSL compute shader running sixty-four lanes per workgroup. The outputs are compared bit for bit.
rule
run on CPU
run on GPU
If the outputs match — and they do — then the rule is indifferent to what runs it, which is substrate independence : Church and Turing, both 1936. The shader is faster and that is genuinely useful, but speed is the only thing it changed. This is the cheapest possible demonstration of the most expensive result on the page.
b05 The Search
The verified engine, moved off the main thread and otherwise untouched.
Chess is the case where recovery fails and learning is correct: the rules are entirely open, and yet no catalogue anywhere stores the best move, because the answer is not stored — it is searched for. Shannon put the tree at order 10120 in 1950 and von Neumann defined optimal play against an adversary in 1928.
The engine here is byte-for-byte the one from the first build, whose move generator was checked against published perft counts. It now runs in a module worker. Press either button and keep scrolling: the page does not stall, because the search is not on this thread.
verify move generation
search to depth 5
Perft is the honest check: count every legal position to a given depth and compare against numbers other people published. 20, 400, 8,902 and 197,281 — the last exercises castling, en passant and promotion, so matching it means the generator is right and the tree being walked is the real one.
A worker changed where the search happens. It did not make the tree smaller, and nothing about isolation touches the 10120 .
b06 The Merge
Two replicas diverge, then agree, and nothing decided between them.
Fork a document, edit both copies independently, and merge them in either order. Conflict-free replicated data types guarantee both merges give the same result — not by choosing a winner, but because merge is a lattice join : commutative, associative and idempotent. Order of arrival stops mattering, so no coordinator is needed.
A inserts
B deletes
reset
Shapiro, Preguiça, Baquero and Zawirski named and classified these in 2011, and the engineering that followed — collaborative editors that work offline and reconcile later — is a real achievement. The algebra underneath is Birkhoff's lattice theory, published in 1940. What 2011 supplied was the recognition that a join-semilattice is exactly the structure a replicated system needs, which is recognition of a normal form rather than invention of one.
It is also the second of this page's two spaces, appearing where you would least expect it. A lattice, in the algebraic sense, is what makes the merge safe.
b07 The Chain
Name a thing by the hash of its contents, and identity and integrity become one fact.
Hash every block, hash the hashes in pairs, keep going until one root remains. Change nine characters anywhere and the root changes. More usefully, you can prove a single block belongs to the tree by handing over a handful of sibling hashes rather than the whole document — the proof below costs four hashes instead of ten.
build over these eleven blocks
alter block 4
Ralph Merkle published this in 1979 and patented it in 1982; the patent expired in 2002. Git's object store (2005) and IPFS's content identifiers (2014) are the same construction with different packaging, and the CID shown above is generated in the shape IPFS uses. The SHA-256 comes from the browser's own crypto, with no library involved.
The first build's ledger chained each block's hash to its predecessor's, which proves order. A Merkle tree proves membership without disclosing the rest, which is the stronger property and the reason the construction outlived its patent by a wide margin.
b08 The Constraint
Required, forbidden, cardinality, allow-list. The notation has changed four times.
A schema states what shape a document must have and what happens when it does not. JSON Schema states it in JSON; the first build's schema states it in XML; a DTD stated it in 1986; and Backus (1959) and Naur (1960) stated the general form as BNF, which is why the notation for programming-language grammars still bears their names.
The failure behaviour is the part worth arguing about. Below, a violating instance is quarantined — kept, marked, and excluded from clean output — rather than dropped, because a region that silently vanished cannot be argued about later.
conforming instance
four rules broken
Five constraints do nearly all the work in any schema language anyone has shipped: this key is required, that one is not permitted, this value must come from a set, this list has bounds, and nothing outside the allow-list may appear. Compare the two panes above and the correspondence is exact, which is the point — a validator is a parser for a grammar written as data, and that has been true since 1959.
b09 What Actually Changed
Naming the gain honestly is what makes the rest of the argument checkable.
It would be cheap, and wrong, to conclude from all this that nothing has improved. A great deal has, and none of it is the form.
Reach A relational engine, a compute shader and a cryptographic hash now arrive by pressing a button on a page, with nothing installed and no server. In 1970 each was a procurement.
Scale The shader computes the same eight-bit rule across hundreds of lanes. Universal approximation says a network can represent any continuous function; only compute decided whether the representation could be found.
Isolation Workers, sandboxes and the origin model make it safe to run other people's code — the thing the 2000 foreclosure took away, returned under an explicit permission model.
Ergonomics CRDTs made a 1940 algebra usable by ordinary applications. That is engineering of the highest kind and it is not a new mathematics.
Verifiability Every claim here can be checked in the reader's own browser, offline, with no account and nothing to trust. That is genuinely new, and it is the reason for building this at all.
The forms Descent, fixed point, catalogue, lookup, join, chain, grammar, search. Unchanged since somewhere between 1847 and 1979.
The distinction matters commercially rather than only intellectually. If a capability is a competent restatement of a settled result, the question to evaluate is implementation quality, and the pricing should follow that question rather than a novelty claim. Restating a settled form in a new substrate is cheap , and it inherits the guarantees — which is a reason for confidence in delivery, not a criticism of the work.
b10 The Concordance, Extended
The first build mapped eight forms across seven domains. Here is the eighth column.
Each row is a form; each entry is the instrument above that instantiates it, and the result it restates. The column added here is current web platform , and it fills without opening a row of its own — which is the same finding the agentic column produced, arrived at from a different direction.
form settled on this page adds
Catalogue as relations Codd 1970 SQLite-WASM, sqlite_master reach
Rule swept over a value space decision tables, 1950s–60s template × catalogue cursor —
Resolve by content, not address Kanerva 1988 scaled dot-product attention differentiability
Local rule → global structure Wolfram 1985 · Cook 2004 WGSL compute shader scale
Substrate independence Church & Turing 1936 CPU and GPU outputs compared —
Minimax under an adversary von Neumann 1928 alpha-beta in a worker isolation
Join-semilattice merge Birkhoff 1940 CRDT replicas ergonomics
Content addressing Merkle 1979 Merkle tree, Web Crypto, CID ubiquity
Grammar as data Backus 1959 · Naur 1960 JSON Schema validator —
Three rows in the last column read none . Those are the cases where the modern instance is a straight restatement with no property the original lacked, and marking them honestly is what gives the other six their weight.
b11 The Capsule
It installs, runs offline, and carries its own verification.
A service worker caches this page and its modules on first visit, so it runs with the network off and can be installed to a home screen. Combined with the Merkle root in block 7, the artefact carries its own integrity check: a reader can verify the contents without asking anyone, including whoever served it.
That is the one property in the whole build that has no antecedent worth naming — not because the idea is new, but because until recently there was nowhere to put it. An argument that can be checked offline, by its reader, with no account and no authority to appeal to, is a different kind of object from a document about the same subject.
The capsule sidecars are JSON here rather than XML: capsule/spine.json, capsule/ledger.json, capsule/schema.json. Which is block 8's point applied to this build's own packaging — the notation changed, and the constraints did not.
On the method. Nothing here argues against modern tooling, and three of the nine rows above credit it with a property the original lacked. The argument is narrower: where a structure is open, determined and unopposed, it can be read, and reading it exactly is cheaper than approximating it. Where there is an adversary and no enumerable space — block 5 — a learned evaluator is correct, and that is not a concession but the same rule applied.
Seven instruments · every original dated · CPU and GPU outputs compared bit for bit · move generation verified against published perft counts · attention, CRDT, Merkle and schema logic unit-tested before shipping