news/2026_09_16_file.md

a file is a thing. a particle is its identity.

for years the cybergraph was described as particles linked by cyberlinks. today that sentence was taken apart, and it did not survive.

a particle is 32 bytes. always. it is the hemera hash of some data — the identity a cyberlink holds when it points at something. it was never the thing itself. the thing is a file: the data those 32 bytes identify. a neuron reads a file. a neuron links files. the graph ranks their identities.

file is now a root term of cyber, and the definition fits in one hand:

file = (particle, data)        particle = hemera(data)

nothing else is inside a file. the first draft said (particle, data, name, meta) and was wrong the same afternoon: a file's name is a ~ label some neuron gave it by a naming cyberlink, mutable, resolved by supersession. author, height, mime — cyberlinks and the signal that carried them. a file with its data absent is a black hole: cyb://particle/<hex> until a spark opens it, cyb://file/<hex> after.

that leaves five primitives: files, linked by cyberlinks that neurons sign in signals and tokens weigh, and focus, the measure that says which files matter.

the decision went through fourteen repos in a day, markdown and Rust together. the definition was caught wrong twice on the way — first as "particle is the name of a file", then as the four-tuple — and both times the fix was to say less. cyb's content store renamed its record type from a particle to a file; two small crates now own the halves: particle is the hash as identity, spark is the opener that turns a file into a surface.

sources

Graph