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 1.2
edited by Robert Schaub
on 2025/12/11 21:34
Change comment: Renamed back-links.

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -FactHarbor.Archive.FactHarbor V0\.9\.18.Specification.WebHome
1 +FactHarbor.Specification.WebHome
Content
... ... @@ -1,431 +1,223 @@
1 1  = Federation & Decentralization =
2 2  
3 -FactHarbor is designed to operate as a **federated network of nodes** rather than a single central server.
3 +FactHarbor is designed as a network of independent nodes rather than a single centralized service.
4 +This provides resilience, local autonomy, and virtually unlimited scalability.
4 4  
5 -Decentralization provides:
6 -* **Resilience** against censorship or political pressure
7 -* **Autonomy** for local governance and moderation
8 -* **Scalability** across many independent communities
9 -* **Trust** without centralized control
10 -* **Domain specialization** (health-focused nodes, energy-focused nodes, etc.)
6 +Each node remains fully functional on its own while participating in a shared global knowledge graph.
11 11  
12 -FactHarbor draws inspiration from the Fediverse but uses stronger structure, versioning, and integrity guarantees.
13 -
14 14  ----
15 15  
16 -== Federated FactHarbor Nodes ==
10 += Purpose of Federation =
17 17  
18 -Each FactHarbor instance ("node") maintains:
19 -* Its own database
20 -* Its own AKEL instance
21 -* Its own reviewers, experts, and contributors
22 -* Its own governance rules
12 +A federated architecture enables:
23 23  
24 -Nodes exchange structured information:
25 -* Claims
26 -* Scenarios
27 -* Evidence metadata (not necessarily full files)
28 -* Verdicts (optional)
29 -* Hashes and signatures for integrity
14 +* Resilience against censorship or political pressure
15 +* Local governance and moderation autonomy
16 +* Scalability by adding more nodes, not bigger servers
17 +* Shared knowledge structures without central authority
18 +* Domain specialization (e.g., health-focused node, energy-focused node)
19 +* Cross-node collaboration while preserving independence
30 30  
31 -Nodes choose which external nodes they trust.
21 +FactHarbor takes inspiration from the Fediverse but uses stronger structure, integrity guarantees, and version lineage.
32 32  
33 33  ----
34 34  
35 -== Global Identifiers ==
25 += Federated Node Model =
36 36  
37 -Every entity receives a globally unique, linkable identifier.
27 +Each FactHarbor node maintains:
38 38  
39 -**Format**:
40 -`factharbor://node_url/type/local_id`
29 +* Its own PostgreSQL database
30 +* Its own vector database
31 +* Its own object storage
32 +* Its own AKEL instance
33 +* Its own reviewers, experts, and moderators
34 +* Its own trust and governance policies
41 41  
42 -**Example**:
43 -`factharbor://factharbor.energy/claim/CLM-55812`
36 +Nodes exchange structured objects:
44 44  
45 -**Supported types**:
46 -* `claim`
47 -* `scenario`
48 -* `evidence`
49 -* `verdict`
50 -* `user` (optional)
51 -* `cluster`
38 +* Claims
39 +* Scenarios
40 +* Evidence metadata (not raw files unless elected)
41 +* Verdicts (optional)
42 +* Integrity hashes and signatures
52 52  
53 -**Properties**:
54 -* Globally consistent
55 -* Human-readable
56 -* Hash-derived
57 -* Independent of database internals
58 -* URL-resolvable (future enhancement)
44 +Nodes decide individually which external nodes to trust.
59 59  
60 -This allows cross-node references and prevents identifier collisions in federated environments.
61 -
62 62  ----
63 63  
64 -== Trust Model ==
48 += Global Identifiers =
65 65  
66 -Each node maintains a **trust table** defining relationships with other nodes:
50 +Each entity receives a globally unique ID.
67 67  
68 -=== Trust Levels ===
52 +Format:
53 +``factharbor://<node>/<type>/<local_id>``
69 69  
70 -**Trusted Nodes**:
71 -* Claims auto-imported
72 -* Scenarios accepted without re-review
73 -* Evidence considered valid
74 -* Verdicts displayed to users
75 -* High synchronization priority
55 +Example:
56 +``factharbor://factharbor.energy/claim/CLM-55812``
76 76  
77 -**Neutral Nodes**:
78 -* Claims imported but flagged for review
79 -* Scenarios require local validation
80 -* Evidence requires re-assessment
81 -* Verdicts shown with "external node" disclaimer
82 -* Normal synchronization priority
58 +Types include:
83 83  
84 -**Untrusted Nodes**:
85 -* Claims quarantined, manual import only
86 -* Scenarios rejected by default
87 -* Evidence not accepted
88 -* Verdicts not displayed
89 -* No automatic synchronization
60 +* claim
61 +* scenario
62 +* evidence
63 +* verdict
64 +* user (optional)
65 +* cluster
90 90  
91 -=== Trust Affects ===
67 +Identifiers are:
92 92  
93 -* **Auto-import**: Whether claims/scenarios are automatically added
94 -* **Re-review requirements**: Whether local reviewers must validate
95 -* **Verdict display**: Whether external verdicts are shown to users
96 -* **Synchronization frequency**: How often data is exchanged
97 -* **Reputation signals**: How external reputation is interpreted
69 +* Globally consistent
70 +* Human-readable
71 +* Hash-derived
72 +* Independent from internal database IDs
98 98  
99 -=== Local Trust Authority ===
100 -
101 -Each node's governance team decides:
102 -* Which nodes to trust
103 -* Trust level criteria
104 -* Trust escalation/degradation rules
105 -* Dispute resolution with partner nodes
106 -
107 -Trust is **local and autonomous** - no global trust registry exists.
108 -
109 109  ----
110 110  
111 -== Data Sharing Model ==
76 += Data Sharing Model =
112 112  
113 -=== What Nodes Share ===
78 +Nodes share:
114 114  
115 -**Always shared** (if federation enabled):
116 -* Claims and claim clusters
117 -* Scenario structures
118 -* Evidence metadata and content hashes
119 -* Integrity signatures
80 +* Claims
81 +* Scenario structures
82 +* Evidence metadata + content hashes
83 +* Optional verdicts
84 +* Integrity metadata
120 120  
121 -**Optionally shared**:
122 -* Full evidence files (large documents)
123 -* Verdicts (nodes may choose to keep verdicts local)
124 -* Vector embeddings
125 -* Scenario templates
126 -* AKEL distilled knowledge
86 +Nodes **do not** share:
127 127  
128 -**Never shared**:
129 -* Internal user lists
130 -* Reviewer comments and internal discussions
131 -* Governance decisions and meeting notes
132 -* Access control data
133 -* Private or sensitive content marked as local-only
88 +* Local users
89 +* Review discussions
90 +* Internal moderation notes
91 +* Private evidence
134 134  
135 -=== Large Evidence Files ===
93 +Large assets may use:
136 136  
137 -Evidence files are:
138 -* Stored locally by default
139 -* Referenced via global content hash
140 -* Optionally served through IPFS
141 -* Accessible via direct peer-to-peer transfer
142 -* Can be stored in S3-compatible object storage
95 +* Local object storage
96 +* S3-compatible buckets
97 +* IPFS for cross-node replication (optional)
143 143  
144 144  ----
145 145  
146 -== Synchronization Protocol ==
101 += Trust Model =
147 147  
148 -Nodes exchange data using multiple synchronization methods:
103 +Each node maintains a **trust table**:
149 149  
150 -=== Push-Based Synchronization ===
105 +* Trusted nodes
106 +* Neutral nodes
107 +* Untrusted nodes
151 151  
152 -**Mechanism**: Webhooks
109 +Trust influences:
153 153  
154 -When local content changes:
155 -1. Node builds signed bundle
156 -2. Sends webhook notification to subscribed nodes
157 -3. Remote nodes fetch bundle
158 -4. Remote nodes validate and import
111 +* Whether claims are auto-imported
112 +* Whether scenarios are accepted without re-review
113 +* Whether evidence requires new validation
114 +* Whether external verdicts are visible to users
159 159  
160 -**Use case**: Real-time updates for trusted partners
116 +Reputation is local but can be mapped with trust-weighting.
161 161  
162 -=== Pull-Based Synchronization ===
118 +----
163 163  
164 -**Mechanism**: Scheduled polling
120 += Decentralized Processing =
165 165  
166 -Nodes periodically:
167 -1. Query partner nodes for updates
168 -2. Fetch changed entities since last sync
169 -3. Validate and import
170 -4. Store sync checkpoint
122 +Each node independently performs:
171 171  
172 -**Use case**: Regular batch updates, lower trust nodes
124 +* AKEL processing
125 +* Scenario drafting
126 +* Evidence review
127 +* Verdict calculation
128 +* Summary generation
129 +* Re-evaluation
173 173  
174 -=== Subscription-Based Synchronization ===
131 +Nodes may specialize:
175 175  
176 -**Mechanism**: WebSub-like protocol
133 +* medical node
134 +* psychology node
135 +* climate node
136 +* small node delegating expert review to trusted partners
177 177  
178 -Nodes subscribe to:
179 -* Specific claim clusters
180 -* Specific domains (medical, energy, etc.)
181 -* Specific scenario types
182 -* Verdict updates
138 +Optional cross-node data sharing includes:
183 183  
184 -Publisher pushes updates only to subscribers.
140 +* Embeddings
141 +* Claim clusters
142 +* Scenario templates
143 +* Verdict comparison metadata
144 +* Contradiction alerts
185 185  
186 -**Use case**: Selective federation, domain specialization
187 -
188 -=== Large Asset Transfer ===
189 -
190 -For files >10MB:
191 -* S3-compatible object storage
192 -* IPFS (content-addressed)
193 -* Direct peer-to-peer transfer
194 -* Chunked HTTP transfer with resume support
195 -
196 196  ----
197 197  
198 -== Federation Sync Workflow ==
148 += Cross-Node AI Knowledge Exchange =
199 199  
200 -Complete synchronization sequence for creating and sharing new content:
150 +Nodes may exchange:
201 201  
202 -=== Step 1: Local Node Creates New Versions ===
152 +* Embeddings for clustering
153 +* Canonical claim forms
154 +* Scenario templates
155 +* Reliability hints
156 +* Contradiction alerts
157 +* Lightweight model insights (NOT weights)
203 203  
204 -User or AKEL creates:
205 -* New claim version
206 -* New scenario version
207 -* New evidence version
208 -* New verdict version
159 +AKEL **never**:
209 209  
210 -All changes tracked with:
211 -* VersionID
212 -* ParentVersionID
213 -* AuthorType
214 -* Timestamp
215 -* JustificationText
161 +* Shares model weights
162 +* Automatically replaces local reviewer decisions
163 +* Accepts untrusted automated content
216 216  
217 -=== Step 2: Federation Layer Builds Signed Bundle ===
218 -
219 -Federation layer packages:
220 -* Entity data (claim, scenario, evidence metadata, verdict)
221 -* Version lineage (ParentVersionID chain)
222 -* Cryptographic signatures
223 -* Node provenance information
224 -* Trust metadata
225 -
226 -Bundle format:
227 -* JSON-LD for structured data
228 -* Content-addressed hashes
229 -* Digital signatures for integrity
230 -
231 -=== Step 3: Bundle Includes Required Data ===
232 -
233 -Each bundle contains:
234 -* **Claims**: Full claim text, classification, domain
235 -* **Scenarios**: Definitions, assumptions, boundaries
236 -* **Evidence metadata**: Source URLs, hashes, reliability scores (not always full files)
237 -* **Verdicts**: Likelihood ranges, uncertainty, reasoning chains
238 -* **Lineage**: Version history, parent relationships
239 -* **Signatures**: Cryptographic proof of origin
240 -
241 -=== Step 4: Bundle Pushed to Trusted Neighbor Nodes ===
242 -
243 -Based on trust table:
244 -* Push to **trusted nodes** immediately
245 -* Queue for **neutral nodes** (batched)
246 -* Skip **untrusted nodes**
247 -
248 -Push methods:
249 -* Webhook notification
250 -* Direct API call
251 -* Pub/Sub message queue
252 -
253 -=== Step 5: Remote Nodes Validate Lineage and Signatures ===
254 -
255 -Receiving node:
256 -1. Verifies cryptographic signatures
257 -2. Validates version lineage (ParentVersionID chain)
258 -3. Checks for conflicts with local data
259 -4. Validates data structure and required fields
260 -5. Applies local trust policies
261 -
262 -Validation failures → reject or quarantine bundle
263 -
264 -=== Step 6: Accept or Branch Versions ===
265 -
266 -**Accept** (if validation passes):
267 -* Import new versions
268 -* Maintain provenance metadata
269 -* Link to local related entities
270 -* Update local indices
271 -
272 -**Branch** (if conflict detected):
273 -* Create parallel version tree
274 -* Mark as "external branch"
275 -* Allow local reviewers to merge or reject
276 -* Preserve both version histories
277 -
278 -**Reject** (if validation fails):
279 -* Log rejection reason
280 -* Notify source node (optional)
281 -* Quarantine for manual review (optional)
282 -
283 -=== Step 7: Local Re-evaluation Runs if Required ===
284 -
285 -After import, local node checks:
286 -* Does new evidence affect existing verdicts?
287 -* Do new scenarios require re-assessment?
288 -* Are there contradictions with local content?
289 -
290 -If yes:
291 -* Trigger AKEL re-evaluation
292 -* Queue for reviewer attention
293 -* Update affected verdicts
294 -* Notify users following related content
295 -
296 296  ----
297 297  
298 -== Cross-Node AI Knowledge Exchange ==
167 += Synchronization Protocol =
299 299  
300 -Each node runs its own AKEL instance and may exchange AI-derived knowledge:
169 +Nodes periodically exchange version bundles:
301 301  
302 -=== What Can Be Shared ===
171 +* Claims
172 +* Scenarios
173 +* Evidence metadata + hashes
174 +* Optional verdicts
175 +* Templates
176 +* Embeddings (optional)
177 +* AKEL distilled knowledge summaries (optional)
303 303  
304 -**Vector embeddings**:
305 -* For cross-node claim clustering
306 -* For semantic search alignment
307 -* Never includes training data
179 +Sync methods:
308 308  
309 -**Canonical claim forms**:
310 -* Normalized claim text
311 -* Standard phrasing templates
312 -* Domain-specific formulations
181 +* Push (webhook)
182 +* Pull (cron)
183 +* Subscription (WebSub-like)
313 313  
314 -**Scenario templates**:
315 -* Reusable scenario structures
316 -* Common assumption patterns
317 -* Evaluation method templates
185 +Large assets may be transferred via:
318 318  
319 -**Contradiction alerts**:
320 -* Detected conflicts between claims
321 -* Evidence conflicts across nodes
322 -* Scenario incompatibilities
187 +* S3-compatible file transfer
188 +* IPFS
189 +* Peer-to-peer
323 323  
324 -**Metadata and insights**:
325 -* Aggregate quality metrics
326 -* Reliability signal extraction
327 -* Bubble detection patterns
328 -
329 -=== What Can NEVER Be Shared ===
330 -
331 -**Model weights**: No sharing of trained model parameters
332 -
333 -**Training data**: No sharing of full training datasets
334 -
335 -**Local governance overrides**: AKEL suggestions can be overridden locally
336 -
337 -**User behavior data**: No cross-node tracking
338 -
339 -**Internal review discussions**: Private content stays private
340 -
341 -=== Benefits of AI Knowledge Exchange ===
342 -
343 -* Reduced duplication across nodes
344 -* Improved claim clustering accuracy
345 -* Faster contradiction detection
346 -* Shared scenario libraries
347 -* Cross-node quality improvements
348 -
349 -=== Local Control Maintained ===
350 -
351 -* Nodes accept or reject shared AI knowledge
352 -* Human reviewers can override any AKEL suggestion
353 -* Local governance always has final authority
354 -* No external AI control over local content
355 -* Privacy-preserving knowledge exchange
356 -
357 357  ----
358 358  
359 -== Decentralized Processing ==
193 += Scaling to Thousands of Users =
360 360  
361 -Each node independently performs:
362 -* AKEL processing
363 -* Scenario drafting and validation
364 -* Evidence review
365 -* Verdict calculation
366 -* Truth landscape summarization
195 +Nodes scale independently:
367 367  
368 -Nodes can specialize:
369 -* Health-focused node with medical experts
370 -* Energy-focused node with domain knowledge
371 -* Small node delegating scenario libraries to partners
372 -* Regional node with language/culture specialization
197 +* horizontally scaled API servers
198 +* background worker pools
199 +* GPU queues for AKEL
200 +* caching (Redis)
201 +* sharded databases
373 373  
374 -Optional data sharing includes:
375 -* Embeddings for clustering
376 -* Claim clusters for alignment
377 -* Scenario templates for efficiency
378 -* Verdict comparison metadata
203 +The network scales horizontally by adding more nodes.
379 379  
380 -----
205 +Communities can form:
381 381  
382 -== Scaling to Thousands of Users ==
207 +* Domain-specific nodes
208 +* Region/language nodes
209 +* NGO/academic nodes
210 +* Private organization nodes
383 383  
384 -Nodes scale independently through:
385 -* Horizontally scalable API servers
386 -* Worker pools for AKEL tasks
387 -* Hybrid storage (local + S3/IPFS)
388 -* Redis caching for performance
389 -* Sharded or partitioned databases
390 -
391 -Federation allows effectively unlimited horizontal scaling by adding new nodes.
392 -
393 -Communities may form:
394 -* Domain-specific nodes (epidemiology, energy, climate)
395 -* Language or region-based nodes
396 -* NGO or institutional nodes
397 -* Private organizational nodes
398 -* Academic research nodes
399 -
400 400  Nodes cooperate through:
401 -* Scenario library sharing
402 -* Shared or overlapping claim clusters
403 -* Expert delegation between nodes
404 -* Distributed AKEL task support
405 -* Cross-node quality audits
406 406  
407 -----
214 +* Shared scenario libraries
215 +* Overlapping claim clusters
216 +* Expert delegation
217 +* Distributed AKEL tasks
408 408  
409 -== Federation and Release 1.0 ==
410 -
411 -**POC**: Single node, optional federation experiments
412 -
413 -**Beta 0**: 2-3 nodes, basic federation protocol
414 -
415 -**Release 1.0**: Full federation support with:
416 -* Robust synchronization protocol
417 -* Trust model implementation
418 -* Cross-node AI knowledge exchange
419 -* Federated search and discovery
420 -* Distributed audit collaboration
421 -* Inter-node expert consultation
422 -
423 423  ----
424 424  
425 -== Related Pages ==
221 += Diagram References =
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]]
430 -* [[Workflows>>FactHarbor.Specification.Workflows.WebHome]]
431 -
223 +{{include reference="FactHarbor.Archive.Diagrams v0\.8q.Federation Architecture.WebHome"/}}