When content appears in 3+ contexts, extract a single canonical version and reference it
When a contained item appears in three or more contexts requiring synchronization, extract it into a referenced shared source with a single canonical version rather than maintaining multiple copies.
Why This Is a Rule
Multiple copies of the same content create synchronization debt: when the content changes, every copy must be updated. Two copies are manageable. Three copies start diverging — you update two and forget the third. The third copy now contains outdated information that readers trust because they don't know it's stale. This is the DRY principle (Don't Repeat Yourself) applied to knowledge management.
The three-context threshold triggers the refactoring from containment (content embedded in each document) to reference (content lives in one canonical location, other documents point to it). Below three contexts, the synchronization cost is low and duplication is acceptable. At three or more, the synchronization cost exceeds the cost of extracting a shared reference.
The single canonical version ensures that updates propagate: change the source, and every context that references it reflects the change. This is structurally identical to extracting a shared function in code rather than copying the same logic into three places.
When This Fires
- When you copy-paste the same content into a third document
- When updating information and realizing it exists in multiple places
- During knowledge base maintenance when discovering diverged copies
- When AI retrieval returns inconsistent versions of the same information from different documents
Common Failure Mode
Maintaining copies because extraction feels like overhead: "It's easier to just copy it." For the first two copies, maybe. By the third, the synchronization debt guarantees that at least one copy will diverge — and the diverged copy will eventually be the one someone relies on for a decision.
The Protocol
When content appears in a third context: (1) Extract the content into a single canonical note or document. (2) In each original context, replace the embedded content with a reference (link, embed, or transclusion depending on your tools). (3) All future updates happen at the canonical source only. References automatically reflect changes. (4) Periodically verify that references still resolve — broken references are worse than copies because they provide no content at all.