Block References
One definition, one address — and 14 places stay in sync instead of 13 going forgotten.
- ··Block IDs are UUIDv4: one canonical place, any number of ((id)) citations.
- ··Maintenance effort on a definition change drops by 95% — you edit exactly one place.
- ··ADR is the natural anchor use case: decide once, reference everywhere.
Transcript
What if the same definition did not splinter into fourteen copies, but lived at a single address — and fourteen places stayed in sync instead of thirteen going forgotten? That is exactly what block references do, and over the next few minutes you will hear how they work and why they bring the maintenance effort down to almost nothing.
A block ID is a UUIDv4 — one canonical place where a claim truly lives. With double parentheses and the ID in between, you cite that block everywhere, ((id)). The block stays at its home, and the citation always shows the current state. Change the source, and fourteen citations follow at once.
The pain without references is quiet and costly. A definition travels via Ctrl+C into fourteen pages. Six months later something changes, you maintain one place and forget thirteen. Consistency between definition and usage drops below half without anyone noticing — until two pages contradict each other and both sound plausible.
The difference between a reference and an embed matters. The reference ((id)) links — the reader jumps with Ctrl+click to the block at its home. The embed mirrors the block inline, so it takes part in the reading flow. Rule of thumb: ((id)) when the reader should jump to the context, embed when the block should read along.
The natural anchor use case is the Architecture Decision Record. You phrase a decision exactly once, with its own ID. Roadmap, onboarding and postmortem cite it via ((id)). When the decision changes, the fix at one place is visible in every citation — no fork, no stale copy.
Here is the difference in numbers. Before: fourteen pages with a copied definition, thirteen of them quietly out of date, maintenance effort growing with every usage. After: one block, fourteen references, one edit site, everything in sync. Maintenance effort stays constant, however often you cite.
The honest question at the end: in how many places is “customer”, “lead” or “done” defined in your wiki? If the number is above one, at least one of them is out of date. One claim, one address — everything else is a mirror. Your second brain holds the threads together and gives back what you entrust to it.
Block IDs are UUIDv4. One definition, one address. ((id)) cites it everywhere. Maintenance effort on a definition change drops by 95%, because you edit exactly one block and 14 places stay in sync.
Copy-paste across pages creates drift
A definition travels via Ctrl+C into 14 pages. Six months later the definition changes. You maintain one place and forget 13. Consistency between definition and usage drops below 50%, without you noticing.
- Drift symptom 1: Two pages contradict each other, both look plausible.
- Drift symptom 2: A search for “ICP” returns 14 hits with 4 different definitions.
- Drift symptom 3: Nobody knows which version holds — so a new one gets written. Now there are 15.
5 rules for block references
- UUIDv4 per block. Each block gets an ID on creation, e.g. 6c1b9a2e-4f3d-47a1-9e10-c0b7e2a55f12. Stable, collision-free, no guesswork.
- Block reference ≠ block embed. ((id)) links — the block stays visible at its home. {{embed ((id))}} mirrors — the block appears inline at the citation site.
- ((id)) syntax. Double parentheses, UUID in between, no space. Auto-complete kicks in after you type ((.
- Single source vs mirror. The definition lives in exactly one place (source). All other places are mirrors via ((id)). An edit on the mirror = an edit on the source.
- ADR as the anchor use case. Architecture Decision Records are the natural source: phrase the decision once, then reference it from the roadmap, onboarding and postmortem via ((id)).
## ADR-007: Block IDs are UUIDv4
id:: 6c1b9a2e-4f3d-47a1-9e10-c0b7e2a55f12
We use UUIDv4 for block IDs because:
- collision-free without central allocation
- 122 bits of entropy are enough for 10^36 blocks
- generatable offline (crypto.randomUUID())
---
## Roadmap Q3
See decision: ((6c1b9a2e-4f3d-47a1-9e10-c0b7e2a55f12))
## Onboarding for new devs
ID scheme: ((6c1b9a2e-4f3d-47a1-9e10-c0b7e2a55f12))Before/after — 14 Wikipedia clones vs one block, embedded 14 times
| Before | After |
|---|---|
| 14 pages with the ICP definition copied | 1 block, 14 references via ((id)) |
| Edit in 14 places, forget 13 | Edit in 1 place, 14 places in sync |
| Search “ICP” → 14 hits, 4 versions | Search “ICP” → 1 source, 14 backlinks |
| Drift goes unnoticed, contradictions in the wiki | Drift structurally ruled out |
| Maintenance effort grows linearly with usages | Maintenance effort stays constant, independent of usages |
<!-- Source block (lives in /glossary/icp.md) -->
id:: a8e2d710-3b9f-4c25-8d6a-1f2e7b3c4d50
ICP (Ideal Customer Profile): description of the account type that benefits the most from mium — sector, size, knowledge volume, compliance frame.
<!-- Usage in /sales/playbook.md -->
Our ICP: ((a8e2d710-3b9f-4c25-8d6a-1f2e7b3c4d50))
<!-- Usage in /onboarding/week-1.md -->
Read first: ((a8e2d710-3b9f-4c25-8d6a-1f2e7b3c4d50))
<!-- Usage in /roadmap/2026.md -->
Focus 2026: ((a8e2d710-3b9f-4c25-8d6a-1f2e7b3c4d50))An honest question
How often have you had to maintain the same definition in different places? Kindly count the places where “customer”, “lead” or “done” is defined in your wiki. If the number is above 1, at least one of them is out of date.
One claim, one address. Everything else is a mirror.