Developers · 6 of 11

Values travel, methods don't

3 min

The format draws one line, and it is drawn in the schema rather than in a licence. The file carries what the generator decided. It never carries how it decided.

What travels

A description for each moment. themes. An emotionalWeight and a sensitivity, each a number. Focal coordinates. Transcripts. segments and a narrativeSummary. A role for each person and a coarse roleGraph with a closeness band. The presentation hints: pace, order, sections, the soundtrack. The owner’s declared emotion, redacted in the open tier. A resolved order when the author meant it. Every one of these is a value a reader can act on without knowing how it was produced.

What stays with the generator

The scoring and its weights. The rule that assigns a viewer their version. The viewer-conditioned rendering method. The enrichment model and its prompts. The tuned closeness matrix the bands were cut from. Real-world names in the portable tier. None of these ship in any .mem, any tier, or any SDK.

Why it protects the family

A file that depends on a particular engine to be readable is not a file, it is a cache. Carrying values means any reader can play, narrate or lay out the memory today and in twenty years. And because names never travel in the open tier, a memory can be handed to a stranger’s software without carrying anyone’s identity.

Why it protects the format

Reading a million finished .mem files reveals the scoring no more than reading a million PDFs reveals the layout engine that made them. That is what lets the spec be fully open: the thing worth protecting is the authorship, and it is not in the file.

What it means for your player

You get a good generic play: emotion-weighted, with the hints honored. The per-person version comes from Memoresse’s renderer. In practice, when you read emotionalWeight: 0.82, trust it as a value. Do not try to recompute it; the file does not give you enough to, by design.