Last modified by Robert Schaub on 2025/12/24 20:33

From version 7.3
edited by Robert Schaub
on 2025/12/16 20:27
Change comment: Update document after refactoring.
To version 7.6
edited by Robert Schaub
on 2025/12/16 21:39
Change comment: Renamed back-links.

Summary

Details

Page properties
Content
... ... @@ -3,6 +3,7 @@
3 3  FactHarbor is designed to operate as a **federated network of nodes** rather than a single central server.
4 4  
5 5  Decentralization provides:
6 +
6 6  * **Resilience** against censorship or political pressure
7 7  * **Autonomy** for local governance and moderation
8 8  * **Scalability** across many independent communities
... ... @@ -16,6 +16,7 @@
16 16  == Federated FactHarbor Nodes ==
17 17  
18 18  Each FactHarbor instance ("node") maintains:
20 +
19 19  * Its own database
20 20  * Its own AKEL instance
21 21  * Its own reviewers, experts, and contributors
... ... @@ -22,6 +22,7 @@
22 22  * Its own governance rules
23 23  
24 24  Nodes exchange structured information:
27 +
25 25  * Claims
26 26  * Scenarios
27 27  * Evidence metadata (not necessarily full files)
... ... @@ -43,6 +43,7 @@
43 43  `factharbor://factharbor.energy/claim/CLM-55812`
44 44  
45 45  **Supported types**:
49 +
46 46  * `claim`
47 47  * `scenario`
48 48  * `evidence`
... ... @@ -51,6 +51,7 @@
51 51  * `cluster`
52 52  
53 53  **Properties**:
58 +
54 54  * Globally consistent
55 55  * Human-readable
56 56  * Hash-derived
... ... @@ -68,6 +68,7 @@
68 68  === Trust Levels ===
69 69  
70 70  **Trusted Nodes**:
76 +
71 71  * Claims auto-imported
72 72  * Scenarios accepted without re-review
73 73  * Evidence considered valid
... ... @@ -75,6 +75,7 @@
75 75  * High synchronization priority
76 76  
77 77  **Neutral Nodes**:
84 +
78 78  * Claims imported but flagged for review
79 79  * Scenarios require local validation
80 80  * Evidence requires re-assessment
... ... @@ -82,6 +82,7 @@
82 82  * Normal synchronization priority
83 83  
84 84  **Untrusted Nodes**:
92 +
85 85  * Claims quarantined, manual import only
86 86  * Scenarios rejected by default
87 87  * Evidence not accepted
... ... @@ -99,6 +99,7 @@
99 99  === Local Trust Authority ===
100 100  
101 101  Each node's governance team decides:
110 +
102 102  * Which nodes to trust
103 103  * Trust level criteria
104 104  * Trust escalation/degradation rules
... ... @@ -113,6 +113,7 @@
113 113  === What Nodes Share ===
114 114  
115 115  **Always shared** (if federation enabled):
125 +
116 116  * Claims and claim clusters
117 117  * Scenario structures
118 118  * Evidence metadata and content hashes
... ... @@ -119,6 +119,7 @@
119 119  * Integrity signatures
120 120  
121 121  **Optionally shared**:
132 +
122 122  * Full evidence files (large documents)
123 123  * Verdicts (nodes may choose to keep verdicts local)
124 124  * Vector embeddings
... ... @@ -126,6 +126,7 @@
126 126  * AKEL distilled knowledge
127 127  
128 128  **Never shared**:
140 +
129 129  * Internal user lists
130 130  * Reviewer comments and internal discussions
131 131  * Governance decisions and meeting notes
... ... @@ -135,6 +135,7 @@
135 135  === Large Evidence Files ===
136 136  
137 137  Evidence files are:
150 +
138 138  * Stored locally by default
139 139  * Referenced via global content hash
140 140  * Optionally served through IPFS
... ... @@ -152,6 +152,7 @@
152 152  **Mechanism**: Webhooks
153 153  
154 154  When local content changes:
168 +
155 155  1. Node builds signed bundle
156 156  2. Sends webhook notification to subscribed nodes
157 157  3. Remote nodes fetch bundle
... ... @@ -164,6 +164,7 @@
164 164  **Mechanism**: Scheduled polling
165 165  
166 166  Nodes periodically:
181 +
167 167  1. Query partner nodes for updates
168 168  2. Fetch changed entities since last sync
169 169  3. Validate and import
... ... @@ -176,6 +176,7 @@
176 176  **Mechanism**: WebSub-like protocol
177 177  
178 178  Nodes subscribe to:
194 +
179 179  * Specific claim clusters
180 180  * Specific domains (medical, energy, etc.)
181 181  * Specific scenario types
... ... @@ -188,6 +188,7 @@
188 188  === Large Asset Transfer ===
189 189  
190 190  For files >10MB:
207 +
191 191  * S3-compatible object storage
192 192  * IPFS (content-addressed)
193 193  * Direct peer-to-peer transfer
... ... @@ -202,6 +202,7 @@
202 202  === Step 1: Local Node Creates New Versions ===
203 203  
204 204  User or AKEL creates:
222 +
205 205  * New claim version
206 206  * New scenario version
207 207  * New evidence version
... ... @@ -208,6 +208,7 @@
208 208  * New verdict version
209 209  
210 210  All changes tracked with:
229 +
211 211  * VersionID
212 212  * ParentVersionID
213 213  * AuthorType
... ... @@ -217,6 +217,7 @@
217 217  === Step 2: Federation Layer Builds Signed Bundle ===
218 218  
219 219  Federation layer packages:
239 +
220 220  * Entity data (claim, scenario, evidence metadata, verdict)
221 221  * Version lineage (ParentVersionID chain)
222 222  * Cryptographic signatures
... ... @@ -224,6 +224,7 @@
224 224  * Trust metadata
225 225  
226 226  Bundle format:
247 +
227 227  * JSON-LD for structured data
228 228  * Content-addressed hashes
229 229  * Digital signatures for integrity
... ... @@ -231,6 +231,7 @@
231 231  === Step 3: Bundle Includes Required Data ===
232 232  
233 233  Each bundle contains:
255 +
234 234  * **Claims**: Full claim text, classification, domain
235 235  * **Scenarios**: Definitions, assumptions, boundaries
236 236  * **Evidence metadata**: Source URLs, hashes, reliability scores (not always full files)
... ... @@ -241,11 +241,13 @@
241 241  === Step 4: Bundle Pushed to Trusted Neighbor Nodes ===
242 242  
243 243  Based on trust table:
266 +
244 244  * Push to **trusted nodes** immediately
245 245  * Queue for **neutral nodes** (batched)
246 246  * Skip **untrusted nodes**
247 247  
248 248  Push methods:
272 +
249 249  * Webhook notification
250 250  * Direct API call
251 251  * Pub/Sub message queue
... ... @@ -253,6 +253,7 @@
253 253  === Step 5: Remote Nodes Validate Lineage and Signatures ===
254 254  
255 255  Receiving node:
280 +
256 256  1. Verifies cryptographic signatures
257 257  2. Validates version lineage (ParentVersionID chain)
258 258  3. Checks for conflicts with local data
... ... @@ -264,6 +264,7 @@
264 264  === Step 6: Accept or Branch Versions ===
265 265  
266 266  **Accept** (if validation passes):
292 +
267 267  * Import new versions
268 268  * Maintain provenance metadata
269 269  * Link to local related entities
... ... @@ -270,6 +270,7 @@
270 270  * Update local indices
271 271  
272 272  **Branch** (if conflict detected):
299 +
273 273  * Create parallel version tree
274 274  * Mark as "external branch"
275 275  * Allow local reviewers to merge or reject
... ... @@ -276,6 +276,7 @@
276 276  * Preserve both version histories
277 277  
278 278  **Reject** (if validation fails):
306 +
279 279  * Log rejection reason
280 280  * Notify source node (optional)
281 281  * Quarantine for manual review (optional)
... ... @@ -283,11 +283,13 @@
283 283  === Step 7: Local Re-evaluation Runs if Required ===
284 284  
285 285  After import, local node checks:
314 +
286 286  * Does new evidence affect existing verdicts?
287 287  * Do new scenarios require re-assessment?
288 288  * Are there contradictions with local content?
289 289  
290 290  If yes:
320 +
291 291  * Trigger AKEL re-evaluation
292 292  * Queue for reviewer attention
293 293  * Update affected verdicts
... ... @@ -302,26 +302,31 @@
302 302  === What Can Be Shared ===
303 303  
304 304  **Vector embeddings**:
335 +
305 305  * For cross-node claim clustering
306 306  * For semantic search alignment
307 307  * Never includes training data
308 308  
309 309  **Canonical claim forms**:
341 +
310 310  * Normalized claim text
311 311  * Standard phrasing templates
312 312  * Domain-specific formulations
313 313  
314 314  **Scenario templates**:
347 +
315 315  * Reusable scenario structures
316 316  * Common assumption patterns
317 317  * Evaluation method templates
318 318  
319 319  **Contradiction alerts**:
353 +
320 320  * Detected conflicts between claims
321 321  * Evidence conflicts across nodes
322 322  * Scenario incompatibilities
323 323  
324 324  **Metadata and insights**:
359 +
325 325  * Aggregate quality metrics
326 326  * Reliability signal extraction
327 327  * Bubble detection patterns
... ... @@ -359,6 +359,7 @@
359 359  == Decentralized Processing ==
360 360  
361 361  Each node independently performs:
397 +
362 362  * AKEL processing
363 363  * Scenario drafting and validation
364 364  * Evidence review
... ... @@ -366,6 +366,7 @@
366 366  * Truth landscape summarization
367 367  
368 368  Nodes can specialize:
405 +
369 369  * Health-focused node with medical experts
370 370  * Energy-focused node with domain knowledge
371 371  * Small node delegating scenario libraries to partners
... ... @@ -372,6 +372,7 @@
372 372  * Regional node with language/culture specialization
373 373  
374 374  Optional data sharing includes:
412 +
375 375  * Embeddings for clustering
376 376  * Claim clusters for alignment
377 377  * Scenario templates for efficiency
... ... @@ -382,6 +382,7 @@
382 382  == Scaling to Thousands of Users ==
383 383  
384 384  Nodes scale independently through:
423 +
385 385  * Horizontally scalable API servers
386 386  * Worker pools for AKEL tasks
387 387  * Hybrid storage (local + S3/IPFS)
... ... @@ -391,6 +391,7 @@
391 391  Federation allows effectively unlimited horizontal scaling by adding new nodes.
392 392  
393 393  Communities may form:
433 +
394 394  * Domain-specific nodes (epidemiology, energy, climate)
395 395  * Language or region-based nodes
396 396  * NGO or institutional nodes
... ... @@ -398,6 +398,7 @@
398 398  * Academic research nodes
399 399  
400 400  Nodes cooperate through:
441 +
401 401  * Scenario library sharing
402 402  * Shared or overlapping claim clusters
403 403  * Expert delegation between nodes
... ... @@ -413,6 +413,7 @@
413 413  **Beta 0**: 2-3 nodes, basic federation protocol
414 414  
415 415  **Release 1.0**: Full federation support with:
457 +
416 416  * Robust synchronization protocol
417 417  * Trust model implementation
418 418  * Cross-node AI knowledge exchange
... ... @@ -424,8 +424,7 @@
424 424  
425 425  == Related Pages ==
426 426  
427 -* [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]]
428 -* [[Data Model>>FactHarbor.Specification.Data Model.WebHome]]
429 -* [[Architecture>>FactHarbor.Specification.Architecture.WebHome]]
469 +* [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification V0\.9\.18.AI Knowledge Extraction Layer (AKEL).WebHome]]
470 +* [[Data Model>>FactHarbor.Specification V0\.9\.18.Data Model.WebHome]]
471 +* [[Architecture>>FactHarbor.Specification V0\.9\.18.Architecture.WebHome]]
430 430  * [[Workflows>>FactHarbor.Specification.Workflows.WebHome]]
431 -