Changes for page Federation & Decentralization
Last modified by Robert Schaub on 2025/12/24 20:33
To version 7.3
edited by Robert Schaub
on 2025/12/16 20:27
on 2025/12/16 20:27
Change comment:
Update document after refactoring.
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -3,7 +3,6 @@ 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 - 7 7 * **Resilience** against censorship or political pressure 8 8 * **Autonomy** for local governance and moderation 9 9 * **Scalability** across many independent communities ... ... @@ -17,7 +17,6 @@ 17 17 == Federated FactHarbor Nodes == 18 18 19 19 Each FactHarbor instance ("node") maintains: 20 - 21 21 * Its own database 22 22 * Its own AKEL instance 23 23 * Its own reviewers, experts, and contributors ... ... @@ -24,7 +24,6 @@ 24 24 * Its own governance rules 25 25 26 26 Nodes exchange structured information: 27 - 28 28 * Claims 29 29 * Scenarios 30 30 * Evidence metadata (not necessarily full files) ... ... @@ -46,7 +46,6 @@ 46 46 `factharbor://factharbor.energy/claim/CLM-55812` 47 47 48 48 **Supported types**: 49 - 50 50 * `claim` 51 51 * `scenario` 52 52 * `evidence` ... ... @@ -55,7 +55,6 @@ 55 55 * `cluster` 56 56 57 57 **Properties**: 58 - 59 59 * Globally consistent 60 60 * Human-readable 61 61 * Hash-derived ... ... @@ -73,7 +73,6 @@ 73 73 === Trust Levels === 74 74 75 75 **Trusted Nodes**: 76 - 77 77 * Claims auto-imported 78 78 * Scenarios accepted without re-review 79 79 * Evidence considered valid ... ... @@ -81,7 +81,6 @@ 81 81 * High synchronization priority 82 82 83 83 **Neutral Nodes**: 84 - 85 85 * Claims imported but flagged for review 86 86 * Scenarios require local validation 87 87 * Evidence requires re-assessment ... ... @@ -89,7 +89,6 @@ 89 89 * Normal synchronization priority 90 90 91 91 **Untrusted Nodes**: 92 - 93 93 * Claims quarantined, manual import only 94 94 * Scenarios rejected by default 95 95 * Evidence not accepted ... ... @@ -107,7 +107,6 @@ 107 107 === Local Trust Authority === 108 108 109 109 Each node's governance team decides: 110 - 111 111 * Which nodes to trust 112 112 * Trust level criteria 113 113 * Trust escalation/degradation rules ... ... @@ -122,7 +122,6 @@ 122 122 === What Nodes Share === 123 123 124 124 **Always shared** (if federation enabled): 125 - 126 126 * Claims and claim clusters 127 127 * Scenario structures 128 128 * Evidence metadata and content hashes ... ... @@ -129,7 +129,6 @@ 129 129 * Integrity signatures 130 130 131 131 **Optionally shared**: 132 - 133 133 * Full evidence files (large documents) 134 134 * Verdicts (nodes may choose to keep verdicts local) 135 135 * Vector embeddings ... ... @@ -137,7 +137,6 @@ 137 137 * AKEL distilled knowledge 138 138 139 139 **Never shared**: 140 - 141 141 * Internal user lists 142 142 * Reviewer comments and internal discussions 143 143 * Governance decisions and meeting notes ... ... @@ -147,7 +147,6 @@ 147 147 === Large Evidence Files === 148 148 149 149 Evidence files are: 150 - 151 151 * Stored locally by default 152 152 * Referenced via global content hash 153 153 * Optionally served through IPFS ... ... @@ -165,7 +165,6 @@ 165 165 **Mechanism**: Webhooks 166 166 167 167 When local content changes: 168 - 169 169 1. Node builds signed bundle 170 170 2. Sends webhook notification to subscribed nodes 171 171 3. Remote nodes fetch bundle ... ... @@ -178,7 +178,6 @@ 178 178 **Mechanism**: Scheduled polling 179 179 180 180 Nodes periodically: 181 - 182 182 1. Query partner nodes for updates 183 183 2. Fetch changed entities since last sync 184 184 3. Validate and import ... ... @@ -191,7 +191,6 @@ 191 191 **Mechanism**: WebSub-like protocol 192 192 193 193 Nodes subscribe to: 194 - 195 195 * Specific claim clusters 196 196 * Specific domains (medical, energy, etc.) 197 197 * Specific scenario types ... ... @@ -204,7 +204,6 @@ 204 204 === Large Asset Transfer === 205 205 206 206 For files >10MB: 207 - 208 208 * S3-compatible object storage 209 209 * IPFS (content-addressed) 210 210 * Direct peer-to-peer transfer ... ... @@ -219,7 +219,6 @@ 219 219 === Step 1: Local Node Creates New Versions === 220 220 221 221 User or AKEL creates: 222 - 223 223 * New claim version 224 224 * New scenario version 225 225 * New evidence version ... ... @@ -226,7 +226,6 @@ 226 226 * New verdict version 227 227 228 228 All changes tracked with: 229 - 230 230 * VersionID 231 231 * ParentVersionID 232 232 * AuthorType ... ... @@ -236,7 +236,6 @@ 236 236 === Step 2: Federation Layer Builds Signed Bundle === 237 237 238 238 Federation layer packages: 239 - 240 240 * Entity data (claim, scenario, evidence metadata, verdict) 241 241 * Version lineage (ParentVersionID chain) 242 242 * Cryptographic signatures ... ... @@ -244,7 +244,6 @@ 244 244 * Trust metadata 245 245 246 246 Bundle format: 247 - 248 248 * JSON-LD for structured data 249 249 * Content-addressed hashes 250 250 * Digital signatures for integrity ... ... @@ -252,7 +252,6 @@ 252 252 === Step 3: Bundle Includes Required Data === 253 253 254 254 Each bundle contains: 255 - 256 256 * **Claims**: Full claim text, classification, domain 257 257 * **Scenarios**: Definitions, assumptions, boundaries 258 258 * **Evidence metadata**: Source URLs, hashes, reliability scores (not always full files) ... ... @@ -263,13 +263,11 @@ 263 263 === Step 4: Bundle Pushed to Trusted Neighbor Nodes === 264 264 265 265 Based on trust table: 266 - 267 267 * Push to **trusted nodes** immediately 268 268 * Queue for **neutral nodes** (batched) 269 269 * Skip **untrusted nodes** 270 270 271 271 Push methods: 272 - 273 273 * Webhook notification 274 274 * Direct API call 275 275 * Pub/Sub message queue ... ... @@ -277,7 +277,6 @@ 277 277 === Step 5: Remote Nodes Validate Lineage and Signatures === 278 278 279 279 Receiving node: 280 - 281 281 1. Verifies cryptographic signatures 282 282 2. Validates version lineage (ParentVersionID chain) 283 283 3. Checks for conflicts with local data ... ... @@ -289,7 +289,6 @@ 289 289 === Step 6: Accept or Branch Versions === 290 290 291 291 **Accept** (if validation passes): 292 - 293 293 * Import new versions 294 294 * Maintain provenance metadata 295 295 * Link to local related entities ... ... @@ -296,7 +296,6 @@ 296 296 * Update local indices 297 297 298 298 **Branch** (if conflict detected): 299 - 300 300 * Create parallel version tree 301 301 * Mark as "external branch" 302 302 * Allow local reviewers to merge or reject ... ... @@ -303,7 +303,6 @@ 303 303 * Preserve both version histories 304 304 305 305 **Reject** (if validation fails): 306 - 307 307 * Log rejection reason 308 308 * Notify source node (optional) 309 309 * Quarantine for manual review (optional) ... ... @@ -311,13 +311,11 @@ 311 311 === Step 7: Local Re-evaluation Runs if Required === 312 312 313 313 After import, local node checks: 314 - 315 315 * Does new evidence affect existing verdicts? 316 316 * Do new scenarios require re-assessment? 317 317 * Are there contradictions with local content? 318 318 319 319 If yes: 320 - 321 321 * Trigger AKEL re-evaluation 322 322 * Queue for reviewer attention 323 323 * Update affected verdicts ... ... @@ -332,31 +332,26 @@ 332 332 === What Can Be Shared === 333 333 334 334 **Vector embeddings**: 335 - 336 336 * For cross-node claim clustering 337 337 * For semantic search alignment 338 338 * Never includes training data 339 339 340 340 **Canonical claim forms**: 341 - 342 342 * Normalized claim text 343 343 * Standard phrasing templates 344 344 * Domain-specific formulations 345 345 346 346 **Scenario templates**: 347 - 348 348 * Reusable scenario structures 349 349 * Common assumption patterns 350 350 * Evaluation method templates 351 351 352 352 **Contradiction alerts**: 353 - 354 354 * Detected conflicts between claims 355 355 * Evidence conflicts across nodes 356 356 * Scenario incompatibilities 357 357 358 358 **Metadata and insights**: 359 - 360 360 * Aggregate quality metrics 361 361 * Reliability signal extraction 362 362 * Bubble detection patterns ... ... @@ -394,7 +394,6 @@ 394 394 == Decentralized Processing == 395 395 396 396 Each node independently performs: 397 - 398 398 * AKEL processing 399 399 * Scenario drafting and validation 400 400 * Evidence review ... ... @@ -402,7 +402,6 @@ 402 402 * Truth landscape summarization 403 403 404 404 Nodes can specialize: 405 - 406 406 * Health-focused node with medical experts 407 407 * Energy-focused node with domain knowledge 408 408 * Small node delegating scenario libraries to partners ... ... @@ -409,7 +409,6 @@ 409 409 * Regional node with language/culture specialization 410 410 411 411 Optional data sharing includes: 412 - 413 413 * Embeddings for clustering 414 414 * Claim clusters for alignment 415 415 * Scenario templates for efficiency ... ... @@ -420,7 +420,6 @@ 420 420 == Scaling to Thousands of Users == 421 421 422 422 Nodes scale independently through: 423 - 424 424 * Horizontally scalable API servers 425 425 * Worker pools for AKEL tasks 426 426 * Hybrid storage (local + S3/IPFS) ... ... @@ -430,7 +430,6 @@ 430 430 Federation allows effectively unlimited horizontal scaling by adding new nodes. 431 431 432 432 Communities may form: 433 - 434 434 * Domain-specific nodes (epidemiology, energy, climate) 435 435 * Language or region-based nodes 436 436 * NGO or institutional nodes ... ... @@ -438,7 +438,6 @@ 438 438 * Academic research nodes 439 439 440 440 Nodes cooperate through: 441 - 442 442 * Scenario library sharing 443 443 * Shared or overlapping claim clusters 444 444 * Expert delegation between nodes ... ... @@ -454,7 +454,6 @@ 454 454 **Beta 0**: 2-3 nodes, basic federation protocol 455 455 456 456 **Release 1.0**: Full federation support with: 457 - 458 458 * Robust synchronization protocol 459 459 * Trust model implementation 460 460 * Cross-node AI knowledge exchange ... ... @@ -466,7 +466,8 @@ 466 466 467 467 == Related Pages == 468 468 469 -* [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification V0\.9\.18.AI Knowledge Extraction Layer (AKEL).WebHome]]427 +* [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] 470 470 * [[Data Model>>FactHarbor.Specification.Data Model.WebHome]] 471 471 * [[Architecture>>FactHarbor.Specification.Architecture.WebHome]] 472 472 * [[Workflows>>FactHarbor.Specification.Workflows.WebHome]] 431 +