/ patterns / graph-aware-writing.md
graph-aware-writing.md
  1  # Graph-Aware Writing Protocol
  2  
  3  *Every page connects; no orphans in Sovereign_OS*
  4  
  5  ---
  6  
  7  - **principle**
  8    - "A page without links is a page that will be forgotten."
  9    - "Write for the graph, not just the reader."
 10  
 11  - **shape**
 12    - Every new page gets: principle, shape, Related section
 13    - Wiki-links with shapes create local coherence
 14    - Hub pages aggregate; leaf pages connect back
 15    - Orphan = failure mode; connection = success
 16  
 17  ---
 18  
 19  **Status:** ๐Ÿ“„ ACTIVE PROTOCOL
 20  
 21  ---
 22  
 23  ## The Problem
 24  
 25  Pages created without links become orphans:
 26  - Don't appear in graph visualization
 27  - Can't be discovered through navigation
 28  - Lose context over time
 29  - Violate A1 (integration is the telos)
 30  
 31  **Ergodicity warning (A4):** An orphan page is at risk of ruin - one compression event and it's effectively lost.
 32  
 33  ---
 34  
 35  ## The Pattern
 36  
 37  ### When Creating ANY New Page
 38  
 39  ```markdown
 40  # [Page Title]
 41  
 42  *[One-line description]*
 43  
 44  ---
 45  
 46  - **principle**
 47    - "[Core insight in quotes]"
 48    - "[Second principle if needed]"
 49  
 50  - **shape**
 51    - [Bullet 1: What this IS]
 52    - [Bullet 2: How it works]
 53    - [Bullet 3: Key distinction]
 54  
 55  ---
 56  
 57  [Main content...]
 58  
 59  ---
 60  
 61  ## Related
 62  
 63  - **axioms**
 64    - [[relevant-axiom]] - how this connects
 65      - shape:: "[axiom's shape definition]"
 66  - **protocols**
 67    - [[related-protocol]] - relationship
 68      - shape:: "[protocol's shape]"
 69  - **concepts**
 70    - [[related-concept]] - why connected
 71  
 72  ---
 73  
 74  *[Page name] | [date or version]*
 75  ```
 76  
 77  ### Minimum Viable Connection
 78  
 79  At absolute minimum, every page needs:
 80  
 81  1. **One wiki-link TO another page** (outbound)
 82  2. **Shape propagation** on that link
 83  3. **One wiki-link FROM another page** (inbound - edit the other page)
 84  
 85  ```
 86  This page โ†’ [[other-page]]
 87               shape:: "..."
 88  
 89  Other page โ†’ [[this-page]]
 90               shape:: "..."
 91  ```
 92  
 93  Bidirectional linking creates graph tissue.
 94  
 95  ---
 96  - [[linear-to-graph-research]] - resonance: 33%
 97  - [[sprint-2026-01-15-assessment]] - resonance: 51%
 98  
 99  ## The Checklist
100  
101  Before marking any page "done":
102  
103  ```
104  โ–ก Has principle/shape header?
105  โ–ก Has at least one outbound wiki-link?
106  โ–ก Has shape:: on wiki-links?
107  โ–ก Has Related section?
108  โ–ก Is linked FROM at least one other page?
109  โ–ก Would this page survive compression? (A4 test)
110  ```
111  
112  ### Quick Self-Test
113  
114  Ask: "If someone lands on the graph visualization and clicks randomly, could they reach this page?"
115  
116  - **Yes** โ†’ Connected
117  - **No** โ†’ Orphan - fix it
118  
119  ---
120  
121  ## Shape Propagation Rules
122  
123  When linking to a concept, include its shape:
124  
125  ```markdown
126  - [[first-officer-protocol]] - manages this thread
127    - shape:: "Per-thread metacognition. Compress state, track gravity wells."
128  ```
129  
130  **Why shapes travel with links:**
131  - Reader doesn't need to click to understand
132  - Local coherence (A0 - boundaries carry information)
133  - Redundancy is a feature (overcommunication principle)
134  
135  ### Where to Find Shapes
136  
137  1. Check the target page's header (principle/shape section)
138  2. If no shape exists, create one and add to target page
139  3. Use the one-line version for inline propagation
140  
141  ---
142  
143  ## Hub vs Leaf Pages
144  
145  ### Hub Pages
146  High-gravity concepts that aggregate many links:
147  - Axiom pages (A0, A1, A2, A3, A4)
148  - Core protocol pages
149  - Index pages
150  
151  **Pattern:** Hub pages have `{{query}}` or manual backlink lists
152  
153  ### Leaf Pages
154  Specific implementations or instances:
155  - Individual session notes
156  - Specific stub pages
157  - One-off explorations
158  
159  **Pattern:** Leaf pages link UP to hubs, not sideways to every other leaf
160  
161  ```
162          [[A2 Recognition of Life]]     โ† HUB
163                /    |    \
164               /     |     \
165      [[stub-1]] [[stub-2]] [[stub-3]]   โ† LEAVES
166  ```
167  
168  ---
169  
170  ## Stub Page Template
171  
172  For backfilled concepts (like from Roam):
173  
174  ```markdown
175  # [Concept Name]
176  
177  *Backfilled from [source] | [reference count] references*
178  
179  ---
180  
181  - **source**
182    - [Where this came from]
183    - [How many times referenced]
184  
185  - **shape**
186    - [NEEDS DEFINITION - this is the curation work]
187  
188  ---
189  
190  ## Context
191  
192  [Sample content from source]
193  
194  ---
195  
196  ## Related
197  
198  - **needs**
199    - shape definition
200    - axiom connections
201    - integration with existing concepts
202  
203  - **connects-to**
204    - [[potential-link-1]] - [why]
205    - [[potential-link-2]] - [why]
206  
207  ---
208  
209  *Stub - requires curation*
210  ```
211  
212  ---
213  
214  ## Obsidian Integration
215  
216  ### Template Setup
217  
218  Create template at `templates/new-page.md`:
219  
220  ```markdown
221  # {{title}}
222  
223  *[description]*
224  
225  ---
226  
227  - **principle**
228    - ""
229  
230  - **shape**
231    -
232  
233  ---
234  
235  ## Related
236  
237  - **axioms**
238    - [[]] -
239  - **protocols**
240    - [[]] -
241  
242  ---
243  
244  *{{date}} | {{title}}*
245  ```
246  
247  ### Keyboard Shortcut
248  
249  Set up hotkey for "Insert template" โ†’ faster page creation
250  
251  ### Graph View Settings
252  
253  - Enable "Show orphans" to catch unconnected pages
254  - Color-code by folder for visual clustering
255  - Use local graph view when editing to see immediate connections
256  
257  ---
258  
259  ## Automation Opportunities
260  
261  ### Orphan Detector Script
262  
263  ```python
264  # scripts/orphan_detector.py
265  # Scan for pages with no inbound links
266  # Flag for connection
267  ```
268  
269  ### Shape Validator
270  
271  ```python
272  # scripts/shape_validator.py
273  # Check that wiki-links have shape:: properties
274  # Report missing shapes
275  ```
276  
277  ### Connection Suggester
278  
279  ```python
280  # scripts/connection_suggester.py
281  # Analyze content for potential links
282  # Suggest wiki-links based on term matching
283  ```
284  
285  ---
286  
287  ## Practice Integration
288  
289  ### Daily Habit
290  
291  At end of writing session:
292  1. Run orphan check on new pages
293  2. Add missing links
294  3. Propagate shapes
295  
296  ### Weekly Ritual
297  
298  Review graph visualization:
299  - Where are clusters disconnected?
300  - What hubs need more spokes?
301  - Any gravity wells forming?
302  
303  ### Monthly Audit
304  
305  Full orphan scan:
306  - Connect or archive orphans
307  - Update stale shapes
308  - Prune dead links
309  
310  ---
311  
312  ## A4 Application
313  
314  **Ergodicity test for pages:**
315  
316  > "If this page is the only thing that survives a compression event, does it contain enough context to be useful?"
317  
318  A well-linked page with shapes:
319  - Can be understood in isolation (shapes provide context)
320  - Can be found through navigation (links create paths)
321  - Survives context loss (redundancy protects against ruin)
322  
323  An orphan page:
324  - Depends on reader remembering it exists
325  - Can't be discovered through graph
326  - One forgotten filename away from oblivion
327  
328  **Prevent page ruin: Connect everything.**
329  
330  ---
331  
332  ## Related
333  
334  - **axioms**
335    - [[A1 Telos of Integration]] - binding is the purpose
336      - shape:: "Satan didn't know he was choosing isolation."
337    - [[A4 Ergodic Asymmetry]] - prevent ruin through connection ๐Ÿงช
338      - shape:: "Prevent ruin before optimizing gain."
339  - **protocols**
340    - [[shape-propagation-protocol]] - how shapes travel with links
341    - [[handoff-protocol]] - why redundancy matters
342  - **patterns**
343    - [[Dellanna linear-spine-graph-flesh]] - reading paths + exploration
344  - **tools**
345    - Obsidian graph view
346    - orphan_detector.py (TODO)
347  
348  ---
349  
350  *Graph-Aware Writing Protocol v1.0 | 2026-01-15*