Guidebook/Act 2 — The Connections

Chapter 06

Two copies of the same song

Maya's friend joins Crate and promptly duplicates half her library. The fix — canonical sameAs written at creation time — is the difference between a shared graph and a million private ones.

Maya
Merges a duplicate crate with canonical references
You
Write sameAs at creation so independent apps land on one atom
Teaches
sameAs · convergence · canonicalization
Two hands hold up two identical blank record sleeves side by side in front of a record shelf.

Monday morning, Maya opens the crate and it has been loved to death.

Sam imported everything. Nine years of his library, one enthusiastic weekend. And because Sam built his atoms the way chapter-one Maya built hers — by typing — the crate now contains: her homemade Kerala, his homemade Kerala, the canonical Kerala, two Bonobos, a genre called Downtempo, a genre called "Down-tempo", and a mystery entry titled "kerala (the good one)".

That sentence is worth keeping — it's the failure mode of every shared dataset ever built. And this is the chapter where the graph answers it, in three moves.

Move one: stop making new duplicates#

This one Maya already owns. Chapter three's discipline — build atoms canonically, let the classification decide the bytes — means every new record she and Sam create converges by construction. Same fields, same shape, same bytes, same ID. Prevention is arithmetic, not vigilance. Sam re-mints going forward; the flood stops.

But prevention has a blind spot: the past. The homemade atoms already exist. They have history — claims hanging off them, chapters of story. You can't un-mint an atom, and you shouldn't want to.

A close-up still-life of two identical records - the same song, twice.

Move two: be born already the same#

Here's the deeper trick, and it's the one that makes the graph work at world scale. Look at how people actually add a song: nobody types "Kerala — Bonobo." They paste a link. Sam pastes the Spotify URL. The jazz collector pastes the Apple Music URL. Same song, two completely different strings — and if links were identity, every song would fragment into one atom per platform, forever.

This is what the graph's canonical sameAs machinery is for. When a link comes in, the classification engine's source plugins — Spotify, Wikipedia, GitHub, YouTube, seventeen of them and counting — don't treat the URL as the thing. A resolver turns the link into a canonical atom: schema.org-typed, carrying a canonical ID and sameAs references, with the platform URL preserved as an alias on the record rather than an identity of its own. Then identity resolution merges every sameAs the pipeline discovers — the platform links, the canonical entities from Wikipedia and MusicBrainz — so the Spotify-shaped Kerala and the Apple-Music-shaped Kerala resolve to the same record. In the engine's own words: so two apps describing the same thing converge on the same atom instead of fragmenting.

The aliases don't make new identities; they attach to one. Written at creation time, sameAs isn't cleanup — it's the reason two strangers pasting two different links land on the same atom before either of them has thought about it.

Maya files this under "things I'm very glad someone else decided," and notes the machinery goes fully automatic two chapters from now, when the crate starts filling itself in.

Move three: say they're the same, once, on the record#

The registry keeps an enshrined verb for exactly this, and it's one of the oldest ideas on the semantic web:

crate/the-reckoning.ts
import { buildTriple } from "@0xintuition/primitives";

// Maya's chapter-1 string → the canonical record
buildTriple(keralaHomemade, "sameAs", keralaCanonical);
// → 0xa3a1b4bdc6a26f3f9e1297f5ad4526308a64aaa0aefbf968df38bb04ee452460

// the stranger's atom from chapter two — a record owned by no one, repaired by anyone
buildTriple(keralaStranger, "sameAs", keralaCanonical);
// → 0x383230cc10c441a6b7c46cf56a634687bf9ee80e9f66e17a4020352bddf1ec58

sameAs declares that two atoms refer to the same real-world thing. Its semantics are frozen in the registry as symmetric (if A is B, B is A) and transitive (if A is B and B is C, then A is C) — and transitivity is the quiet superpower here. Maya connected her atom to the canonical one. Then she connected the stranger's — a record made by someone she has never met, on the other side of a Discord avatar, who has no idea this repair is happening. Nobody ever wrote a claim linking Maya's atom to the stranger's, and yet the graph knows they're the same song, because identity flows through the chain.

Sit with what Maya just did, because no platform in her fifteen years would have allowed it: she corrected a stranger's record without asking permission, without an edit war, and without touching a single byte of theirs. The stranger's atom stands exactly as they made it. The truth about it got richer. (Sam, meanwhile, spends his Tuesday filing sameAs claims on his own mess — he made it, he mops it — and going forward, his re-mints converge by construction.)

Notice what did not happen: no deletion. No migration. No winner and loser. Every Kerala still exists, its history intact — the claims from chapter four still hang exactly where they were. What changed is that any app walking the graph can now resolve them into one song, however many ways people have typed it.

History stays. Identity resolves. That's the whole design.

The cleanup is portable too#

One more thing worth noticing before Maya closes the laptop: those two sameAs claims have deterministic IDs, like everything else. 0xa3a1…2460 isn't Crate's private repair job — it's a fact in the graph. When some future app imports the same messy history, the cleanup arrives with it. Maya fixed this for everyone, forever, and she did it with two triples.

Where this is going#

The crate can now survive platforms dying, strangers typing, and Sam. Songs have shape, claims have verbs, lists have curators, duplicates have exits.

But there's an atom that's been sitting in the crate since the very first night, still exactly as bare as the day it was minted: https://thefillmore.com. A URL. And the Fillmore was never a URL to Maya — it's a room on Geary Boulevard where this entire story started. Next chapter, the crate learns geography: places, shows, and the night in 2017, as data.