Concepts
A BlueId is the canonical, content-derived identifier for a Blue node. It is how documents, types, and timeline entries refer to meaning rather than to a place.
Every Blue node — a document, a type, a fragment, a timeline entry, a referenced object — has a stable identifier derived from its content using a canonical Base58-SHA256 scheme. That identifier is its BlueId.
Most identifiers in software are addresses — they tell you where something lives. A BlueId tells you what something is. That is a much stronger guarantee for an interaction protocol because:
prevEntry.blueId.These two YAML fragments describe the same content. After normalization, they share the same BlueId:
type: Common/Record name: Demo Counter counter: 0
name: Demo Counter counter: 0 type: Common/Record
Change counter: 0 to counter: 1, and the BlueId changes. That is how the document stepper knows a step actually happened: the document's BlueId before processing differs from the BlueId after processing, and the difference is exactly the diff you see on screen.
repo.blue resolves to a BlueId. Conversation/Operation Request means a specific blueId, not just a string.prevEntry.blueId to the BlueId of the previous entry, forming a chain.Conversation/Operation Request may pin a target document by BlueId, so the operation only applies if the document has not drifted.The document stepper shows BlueIds in three places:
prevEntry.blueId of the next entry on the same channel.The deeper mechanics — canonicalization rules, expansion vs. reference, the exact hash construction — live in the Language track tutorial and in the specification. Most readers do not need that level of detail. The properties on this page are enough for everyday use.