upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/docs/explanation/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/explanation/README.md')
-rw-r--r--docs/explanation/README.md71
1 files changed, 71 insertions, 0 deletions
diff --git a/docs/explanation/README.md b/docs/explanation/README.md
index cc3ec49..f477b73 100644
--- a/docs/explanation/README.md
+++ b/docs/explanation/README.md
@@ -80,6 +80,77 @@ Explanation documentation helps you **understand concepts** and design decisions
80 80
81--- 81---
82 82
83### [Purgatory Design](purgatory-design.md)
84**In-memory holding area for events awaiting git data**
85
86**Topics:**
87- The "which arrives first?" problem
88- Separate storage for state vs PR events
89- Late binding for state events
90- Bidirectional waiting for PR events
91- Authorization during push
92
93**Read when:** You want to understand how ngit-grasp handles out-of-order event/git data arrival
94
95---
96
97### [GRASP-02 Proactive Sync](grasp-02-proactive-sync.md)
98**Relay-to-relay synchronization for repository discovery**
99
100**Topics:**
101- Negentropy-based event sync
102- Repository announcement discovery
103- Relay management and reconnection
104- Layer 2 filtering
105- Bootstrap and dynamic relay discovery
106
107**Read when:** You want to understand how ngit-grasp discovers and syncs repositories across relays
108
109---
110
111### [GRASP-02 Purgatory Git Data Fetching](grasp-02-proactive-sync-purgatory-git-data.md)
112**Proactive git data fetching from remote servers**
113
114**Topics:**
115- Identifier-based batching
116- Exponential backoff with fresh start
117- Domain throttling (5 concurrent, 30/min)
118- Debounced delays (3min user, 500ms sync)
119- 30-minute expiry
120- Mock-based testability
121
122**Read when:** You want to understand how purgatory automatically fetches missing git data
123
124---
125
126### [Unified Git Data Sync](unify-git-data-sync.md)
127**Shared processing for git push and purgatory sync paths**
128
129**Topics:**
130- Why unify push and sync processing
131- OID syncing to owner repos
132- Ref alignment logic
133- Event release from purgatory
134- WebSocket notification
135
136**Read when:** You want to understand how git data is processed consistently regardless of arrival method
137
138---
139
140### [Monitoring Overview](monitoring.md)
141**Prometheus metrics and observability**
142
143**Topics:**
144- Metrics philosophy
145- Connection tracking
146- Git operation metrics
147- Nostr event metrics
148- Privacy considerations
149
150**Read when:** You want to understand how to monitor ngit-grasp in production
151
152---
153
83## Planned Explanation Documentation 154## Planned Explanation Documentation
84 155
85### GRASP Protocol Design 156### GRASP Protocol Design