Changes for page Requirements
Last modified by Robert Schaub on 2025/12/24 20:34
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,372 +1,177 @@ 1 1 = Requirements = 2 2 3 -This page defines**Roles**,**Responsibilities**, and**Rules**forcontributors andusersof FactHarbor.3 +This chapter defines all functional, non-functional, user-role, and federation requirements for FactHarbor. 4 4 5 - ==Roles==5 +It answers: 6 6 7 -=== Reader === 7 +* Who can do what in the system? 8 +* What workflows must FactHarbor support? 9 +* What quality, transparency, and federation guarantees must be met? 8 8 9 - **Who**: Anyone (no login required).11 +---- 10 10 11 - **Can**:13 += User Roles = 12 12 13 -* Browse and search claims 14 -* View scenarios, evidence, verdicts, and timelines 15 -* Compare scenarios and explore assumptions 16 -* Flag issues, errors, contradictions, or suspicious patterns 17 -* Use filters, search, and visualization tools 18 -* Create personal views (saved searches, bookmarks - local browser storage) 19 -* **Submit claims automatically** by providing text to analyze - new claims are added automatically unless equal claims already exist in the system 15 +== Reader == 20 20 21 - **Cannot**:17 +Responsibilities: 22 22 23 -* Modify existing content 24 -* Access draft content 25 -* Participate in governance decisions 19 +* Browse and search claims 20 +* View scenarios, evidence, verdicts, and timelines 21 +* Compare scenarios and explore assumptions 22 +* Flag issues, errors, contradictions, or suspicious patterns 26 26 27 - **Note**: Readerscan request human reviewof AI-generated content by flagging it.24 +Permissions: 28 28 29 -=== Contributor === 26 +* Read-only access to all published claims, scenarios, evidence, and verdicts 27 +* Use filters, search, and visualization tools (“truth landscape”, timelines, scenario comparison, etc.) 28 +* Create personal views (saved searches, bookmarks, etc.) 30 30 31 - **Who**: Registered and logged-in users (extends Reader capabilities).30 +Limitations: 32 32 33 -**Can**: 32 +* Cannot change shared content 33 +* Cannot publish new claims, scenarios, or verdicts 34 34 35 -* Everything a Reader can do 36 -* Submit claims 37 -* Submit evidence 38 -* Provide feedback 39 -* Suggest scenarios 40 -* Flag content for review 41 -* Request human review of AI-generated content 35 +---- 42 42 43 - **Cannot**:37 +== Contributor == 44 44 45 -* Publish or mark content as "reviewed" or "approved" 46 -* Override expert or maintainer decisions 47 -* Directly modify AKEL or quality gate configurations 39 +Responsibilities: 48 48 49 -=== Reviewer === 41 +* Submit claims 42 +* Propose new claim clusters (if automatic clustering is insufficient) 43 +* Draft scenarios (definitions, assumptions, boundaries) 44 +* Attach evidence (sources, documents, links, datasets) 45 +* Suggest verdict drafts and uncertainty ranges 46 +* Respond to reviewer or expert feedback 50 50 51 - **Who**: Trusted community members, appointed by maintainers.48 +Permissions: 52 52 53 -**Can**: 50 +* Everything a Reader can do 51 +* Create and edit **draft** claims, scenarios, evidence links, and verdict drafts 52 +* Comment on existing content and discuss assumptions 53 +* Propose corrections to misclassified or outdated content 54 54 55 -* Review contributions from Contributors and AKEL drafts 56 -* Validate AI-generated content (Mode 2 → Mode 3 transition) 57 -* Edit claims, scenarios, and evidence 58 -* Add clarifications or warnings 59 -* Change content status: `draft` → `in review` → `published` / `rejected` 60 -* Approve or reject **Tier B and C** content for "Human-Reviewed" status 61 -* Flag content for expert review 62 -* Participate in audit sampling 55 +Limitations: 63 63 64 -**Cannot**: 57 +* Cannot *publish* or mark content as “reviewed” or “approved” 58 +* Cannot override expert or maintainer decisions 59 +* Cannot change system-level settings, roles, or federation configuration 65 65 66 -* Approve Tier A content for "Human-Reviewed" status (requires Expert) 67 -* Change governance rules 68 -* Unilaterally change expert conclusions without process 69 -* Bypass quality gates 70 - 71 -**Note on AI-Drafted Content**: 72 - 73 -* Reviewers can validate AI-generated content (Mode 2) to promote it to "Human-Reviewed" (Mode 3) 74 -* For Tier B and C, Reviewers have approval authority 75 -* For Tier A, only Experts can grant "Human-Reviewed" status 76 - 77 -=== Expert (Domain-Specific) === 78 - 79 -**Who**: Subject-matter specialists in specific domains (medicine, law, science, etc.). 80 - 81 -**Can**: 82 - 83 -* Everything a Reviewer can do 84 -* **Final authority** on Tier A content "Human-Reviewed" status 85 -* Validate complex or controversial claims in their domain 86 -* Define domain-specific quality standards 87 -* Set reliability thresholds for domain sources 88 -* Participate in risk tier assignment review 89 -* Override AKEL suggestions in their domain (with documentation) 90 - 91 -**Cannot**: 92 - 93 -* Change platform governance policies 94 -* Approve content outside their expertise domain 95 -* Bypass technical quality gates (but can flag for adjustment) 96 - 97 -**Specialization**: 98 - 99 -* Experts are domain-specific (e.g., "Medical Expert", "Legal Expert", "Climate Science Expert") 100 -* Cross-domain claims may require multiple expert reviews 101 - 102 -=== Auditor === 103 - 104 -**Who**: Reviewers or Experts assigned to sampling audit duties. 105 - 106 -**Can**: 107 - 108 -* Review sampled AI-generated content against quality standards 109 -* Validate quality gate enforcement 110 -* Identify patterns in AI errors or hallucinations 111 -* Provide feedback for system improvement 112 -* Flag content for immediate review if errors found 113 -* Contribute to audit statistics and transparency reports 114 - 115 -**Cannot**: 116 - 117 -* Change audit sampling algorithms (maintainer responsibility) 118 -* Bypass normal review workflows 119 -* Audit content they personally created 120 - 121 -**Selection**: 122 - 123 -* Auditors selected based on domain expertise and review quality 124 -* Rotation to prevent audit fatigue 125 -* Stratified assignment (Tier A auditors need higher expertise) 126 - 127 -**Audit Focus**: 128 - 129 -* Tier A: Recommendation 30-50% sampling rate, expert auditors 130 -* Tier B: Recommendation 10-20% sampling rate, reviewer/expert auditors 131 -* Tier C: Recommendation 5-10% sampling rate, reviewer auditors 132 - 133 -=== Moderator === 134 - 135 -**Who**: Maintainers or trusted long-term contributors. 136 - 137 -**Can**: 138 - 139 -* All Reviewer and Expert capabilities (cross-domain) 140 -* Manage user accounts and permissions 141 -* Handle disputes and conflicts 142 -* Enforce community guidelines 143 -* Suspend or ban abusive users 144 -* Finalize publication status for sensitive content 145 -* Review and adjust risk tier assignments 146 -* Oversee audit system performance 147 - 148 -**Cannot**: 149 - 150 -* Change core data model or architecture 151 -* Override technical system constraints 152 -* Make unilateral governance decisions without consensus 153 - 154 -=== Maintainer === 155 - 156 -**Who**: Core team members responsible for the platform. 157 - 158 -**Can**: 159 - 160 -* All Moderator capabilities 161 -* Change data model, architecture, and technical systems 162 -* Configure quality gates and AKEL parameters 163 -* Adjust audit sampling algorithms 164 -* Set and modify risk tier policies 165 -* Make platform-wide governance decisions 166 -* Access and modify backend systems 167 -* Deploy updates and fixes 168 -* Grant and revoke roles 169 - 170 -**Governance**: 171 - 172 -* Maintainers operate under organizational governance rules 173 -* Major policy changes require Governing Team approval 174 -* Technical decisions made collaboratively 175 - 176 176 ---- 177 177 178 -== Content Publication States==63 +== Reviewer == 179 179 180 - === Mode1:Draft ===65 +Responsibilities: 181 181 182 -* Not visible to public 183 -* Visible to contributor and reviewers 184 -* Can be edited by contributor or reviewers 185 -* Default state for failed quality gates 67 +* Review contributions from Contributors and AKEL drafts 68 +* Check internal consistency and clarity of scenarios 69 +* Validate that evidence is correctly linked and described 70 +* Ensure verdicts match the evidence and stated assumptions 71 +* Reject, request change, or accept content 186 186 187 - === Mode2: AI-Generated (Published) ===73 +Permissions: 188 188 189 -* **Public** and visible to all users 190 -* Clearly labeled as "AI-Generated, Awaiting Human Review" 191 -* Passed all automated quality gates 192 -* Risk tier displayed (A/B/C) 193 -* Users can: 194 -** Read and use content 195 -** Request human review 196 -** Flag for expert attention 197 -* Subject to sampling audits 198 -* Can be promoted to Mode 3 by reviewer/expert validation 75 +* Everything a Contributor can do 76 +* Change content status from `draft` → `in review` → `published` / `rejected` 77 +* Send content back to Contributors with comments 78 +* Flag content for expert review 199 199 200 - === Mode 3: Human-Reviewed (Published) ===80 +Limitations: 201 201 202 -* **Public** and visible to all users 203 -* Labeled as "Human-Reviewed" with reviewer/expert attribution 204 -* Passed quality gates + human validation 205 -* Highest trust level 206 -* For Tier A, requires Expert approval 207 -* For Tier B/C, Reviewer approval sufficient 82 +* Cannot modify system-wide configuration or federation topology 83 +* Cannot unilaterally change expert conclusions without process 208 208 209 -=== Rejected === 210 - 211 -* Not visible to public 212 -* Visible to contributor with rejection reason 213 -* Can be resubmitted after addressing issues 214 -* Rejection logged for transparency 215 - 216 216 ---- 217 217 218 -== ContributionRules==87 +== Expert == 219 219 220 - === All ContributorsMust:===89 +Responsibilities: 221 221 222 -* Provide sources for claims 223 -* Use clear, neutral language 224 -* Avoid personal attacks or insults 225 -* Respect intellectual property (cite sources) 226 -* Accept community feedback gracefully 91 +* Provide domain-specific judgment on scenarios, evidence, and verdicts 92 +* Refine assumptions and definitions in complex or ambiguous topics 93 +* Identify subtle biases, missing evidence, or misinterpretations 94 +* Propose improved verdicts and uncertainty assessments 227 227 228 - === AKEL (AI) Must:===96 +Permissions: 229 229 230 -* Mark all outputs with `AuthorType = AI` 231 -* Pass quality gates before Mode 2 publication 232 -* Perform mandatory contradiction search 233 -* Disclose confidence levels and uncertainty 234 -* Provide traceable reasoning chains 235 -* Flag potential bubbles or echo chambers 236 -* Submit to audit sampling 98 +* Everything a Reviewer can do 99 +* Attach expert annotations and signed opinions to scenarios and verdicts 100 +* Propose re-evaluation of already published content based on new evidence 237 237 238 - === Reviewers Must:===102 +Limitations: 239 239 240 -* Be impartial and evidence-based 241 -* Document reasoning for decisions 242 -* Escalate to experts when appropriate 243 -* Participate in audits when assigned 244 -* Provide constructive feedback 104 +* Expert status is scoped to specific domains 105 +* Cannot bypass moderation, abuse policies, or legal constraints 245 245 246 -=== Experts Must: === 247 - 248 -* Stay within domain expertise 249 -* Disclose conflicts of interest 250 -* Document specialized terminology 251 -* Provide reasoning for domain-specific decisions 252 -* Participate in Tier A audits 253 - 254 254 ---- 255 255 256 -== Quality Standards==109 +== Moderator == 257 257 258 - === SourceRequirements===111 +Responsibilities: 259 259 260 -* Primary sources preferred over secondary 261 -* Publication date and author must be identifiable 262 -* Sources must be accessible (not paywalled when possible) 263 -* Contradictory sources must be acknowledged 264 -* Echo chamber sources must be flagged 113 +* Handle abuse reports, spam, harassment, and coordinated manipulation 114 +* Enforce community guidelines and legal constraints 115 +* Manage user bans, content takedowns, and visibility restrictions 265 265 266 - === Claim Requirements===117 +Permissions: 267 267 268 -* Falsifiable or evaluable 269 -* Clear definitions of key terms 270 -* Boundaries and scope stated 271 -* Assumptions made explicit 272 -* Uncertainty acknowledged 119 +* Hide or temporarily disable access to abusive content 120 +* Ban or restrict users in line with policy 121 +* Edit or redact sensitive content (e.g., doxxing, illegal material) 273 273 274 - === Evidence Requirements===123 +Limitations: 275 275 276 -* Relevant to the claim and scenario 277 -* Reliability assessment provided 278 -* Methodology described (for studies) 279 -* Limitations noted 280 -* Conflicting evidence acknowledged 125 +* Does not change factual verdicts except where required for legal / safety reasons 126 +* Substantive fact changes must go through the review / expert process 281 281 282 282 ---- 283 283 284 -== Risk Tier Assignment ==130 +== Maintainer / Administrator == 285 285 286 -**Automated (AKEL)**: Initial tier suggested based on domain, keywords, impact 287 -**Human Validation**: Moderators or Experts can override AKEL suggestions 288 -**Review**: Risk tiers periodically reviewed based on audit outcomes 132 +Responsibilities: 289 289 290 -**Tier A Indicators**: 134 +* Maintain node configuration, security settings, and backups 135 +* Configure AKEL, storage, federation endpoints, and performance tuning 136 +* Manage role assignments (who is Reviewer, Expert, Moderator, etc.) 137 +* Approve software updates and schema migrations 291 291 292 -* Medical diagnosis or treatment advice 293 -* Legal interpretation or advice 294 -* Election or voting information 295 -* Safety or security sensitive 296 -* Major financial decisions 297 -* Potential for significant harm 139 +Permissions: 298 298 299 -**Tier B Indicators**: 141 +* All read/write access to configuration, but not necessarily content editorial authority 142 +* Define organization-level policies (e.g., which sources are allowed by default) 300 300 301 -* Complex scientific causality 302 -* Contested policy domains 303 -* Historical interpretation with political implications 304 -* Significant economic impact claims 144 +Limitations: 305 305 306 -* *TierC Indicators**:146 +* Editorial decisions on controversial topics follow governance rules, not arbitrary admin choice 307 307 308 -* Established historical facts 309 -* Simple definitions 310 -* Well-documented scientific consensus 311 -* Basic reference information 312 - 313 313 ---- 314 314 150 +== AKEL (AI Knowledge Extraction Layer) == 315 315 316 - ----152 +Responsibilities: 317 317 318 -== User Role Hierarchy Diagram == 154 +* Propose drafts — never final decisions 155 +* Normalize claims and extract candidate clusters 156 +* Draft scenarios, evidence candidates, and preliminary verdict suggestions 157 +* Propose re-evaluation when new evidence appears 319 319 320 - Thefollowing diagramvisualizesthe complete role hierarchy:159 +Permissions: 321 321 322 -{{include reference="FactHarbor.Archive.FactHarbor V0\.9\.23 Lost Data.Specification.Diagrams.User Class Diagram.WebHome"/}} 161 +* Create and update **machine-generated drafts** and suggestions 162 +* Never directly publish content without human approval 323 323 324 - ----164 +Limitations: 325 325 326 ----- 166 +* AKEL output is always labeled as AI-generated draft 167 +* Must be reviewable, auditable, and overridable by humans 327 327 328 -== Role Hierarchy Diagrams == 329 - 330 -=== User Class Diagram === 331 - 332 -The following class diagram visualizes the complete user role hierarchy: 333 - 334 -{{include reference="FactHarbor.Archive.FactHarbor V0\.9\.23 Lost Data.Specification.Diagrams.User Class Diagram.WebHome"/}} 335 - 336 -=== Human User Roles === 337 - 338 -This diagram shows the two-track progression for human users: 339 - 340 -{{include reference="FactHarbor.Archive.FactHarbor V0\.9\.23 Lost Data.Specification.Diagrams.Human User Roles.WebHome"/}} 341 - 342 -=== Technical and System Users === 343 - 344 -This diagram shows system processes and their management: 345 - 346 -{{include reference="FactHarbor.Archive.FactHarbor V0\.9\.23 Lost Data.Specification.Diagrams.Technical and System Users.WebHome"/}} 347 - 348 -**Key Design Principles**: 349 - 350 -* **Two tracks from Contributor**: Content Track (Reviewer) and Technical Track (Maintainer) 351 -* **Technical Users**: System processes (AKEL, bots) managed by Maintainers 352 -* **Separation of concerns**: Editorial authority independent from technical authority 353 - 354 354 ---- 355 355 356 - 357 - 358 ----- 359 - 360 360 = Functional Requirements = 361 361 173 +This section defines what the system must **do**. 362 362 363 - 364 -This page defines what the FactHarbor system must **do** to fulfill its mission. 365 - 366 -Requirements are structured as FR (Functional Requirement) items and organized by capability area. 367 - 368 ----- 369 - 370 370 == Claim Intake & Normalization == 371 371 372 372 === FR1 – Claim Intake === ... ... @@ -373,32 +373,36 @@ 373 373 374 374 The system must support Claim creation from: 375 375 376 -* Free-text input (from any Reader) 377 -* URLs (web pages, articles, posts) 378 -* Uploaded documents and transcripts 379 -* Structured feeds (optional, e.g. from partner platforms) 380 -* Automated ingestion (federation input) 381 -* AKEL extraction from multi-claim texts 181 +* Free-text input 182 +* URLs (web pages, articles, posts) 183 +* Uploaded documents and transcripts 184 +* Structured feeds (optional, e.g. from partner platforms) 382 382 383 - **Automaticsubmission**: Any Readercan submit text, and new claims are addedautomaticallyunless identical claims already exist.186 +Accepted sources: 384 384 188 +* Text entered by users 189 +* URLs 190 +* Uploaded documents 191 +* Transcripts 192 +* Automated ingestion (optional federation input) 193 +* AKEL extraction from multi-claim texts 194 + 385 385 === FR2 – Claim Normalization === 386 386 387 -* Convert diverse inputs into short, structured, declarative claims 388 -* Preserve original phrasing for reference 389 -* Avoid hidden reinterpretation; differences between original and normalized phrasing must be visible 197 +* Convert diverse inputs into short, structured, declarative claims 198 +* Preserve original phrasing for reference 199 +* Avoid hidden reinterpretation; differences between original and normalized phrasing must be visible 390 390 391 391 === FR3 – Claim Classification === 392 392 393 -* Classify claims by topic, domain, and type (e.g., quantitative, causal, normative) 394 -* Assign risk tier (A/B/C) based on domain and potential impact 395 -* Suggest which node / experts are relevant 203 +* Classify claims by topic, domain, and type (e.g., quantitative, causal, normative) 204 +* Suggest which node / experts are relevant 396 396 397 397 === FR4 – Claim Clustering === 398 398 399 -* Group similar claims into Claim Clusters 400 -* Allow manual correction of cluster membership 401 -* Provide explanation why two claims are considered "same cluster"208 +* Group similar claims into Claim Clusters 209 +* Allow manual correction of cluster membership 210 +* Provide explanation why two claims are considered “same cluster” 402 402 403 403 ---- 404 404 ... ... @@ -406,30 +406,29 @@ 406 406 407 407 === FR5 – Scenario Creation === 408 408 409 -* Contributors, Reviewers, and Experts can create scenarios 410 -* AKEL can propose draft scenarios 411 -* Each scenario is tied to exactly one Claim Cluster 218 +* Contributors, Reviewers, and Experts can create scenarios 219 +* AKEL can propose draft scenarios 220 +* Each scenario is tied to exactly one Claim Cluster 412 412 413 413 === FR6 – Required Scenario Fields === 414 414 415 415 Each scenario includes: 416 416 417 -* Definitions (key terms) 418 -* Assumptions (explicit, testable where possible) 419 -* Boundaries (time, geography, population, conditions) 420 -* Scope of evidence considered 421 -* Intended decision / context (optional) 226 +* Definitions (key terms) 227 +* Assumptions (explicit, testable where possible) 228 +* Boundaries (time, geography, population, conditions) 229 +* Scope of evidence considered 230 +* Intended decision / context (optional) 422 422 423 423 === FR7 – Scenario Versioning === 424 424 425 -* Every change to a scenario creates a new version 426 -* Previous versions remain accessible with timestamps and rationale 427 -* ParentVersionID links versions 234 +* Every change to a scenario creates a new version 235 +* Previous versions remain accessible with timestamps and rationale 428 428 429 429 === FR8 – Scenario Comparison === 430 430 431 -* Users can compare scenarios side by side 432 -* Show differences in assumptions, definitions, and evidence sets 239 +* Users can compare scenarios side by side 240 +* Show differences in assumptions, definitions, and evidence sets 433 433 434 434 ---- 435 435 ... ... @@ -437,24 +437,21 @@ 437 437 438 438 === FR9 – Evidence Ingestion === 439 439 440 -* Attach external sources (articles, studies, datasets, reports, transcripts) to Scenarios 441 -* Allow multiple pieces of evidence per Scenario 442 -* Support large file uploads (with size limits) 248 +* Attach external sources (articles, studies, datasets, reports, transcripts) to Scenarios 249 +* Allow multiple pieces of evidence per Scenario 443 443 444 444 === FR10 – Evidence Assessment === 445 445 446 446 For each piece of evidence: 447 447 448 -* Assign reliability / quality ratings 449 -* Capture who rated it and why 450 -* Indicate known limitations, biases, or conflicts of interest 451 -* Track evidence version history 255 +* Assign reliability / quality ratings 256 +* Capture who rated it and why 257 +* Indicate known limitations, biases, or conflicts of interest 452 452 453 453 === FR11 – Evidence Linking === 454 454 455 -* Link one piece of evidence to multiple scenarios if relevant 456 -* Make dependencies explicit (e.g., "Scenario A uses subset of evidence used in Scenario B") 457 -* Use ScenarioEvidenceLink table with RelevanceScore 261 +* Link one piece of evidence to multiple scenarios if relevant 262 +* Make dependencies explicit (e.g., “Scenario A uses subset of evidence used in Scenario B”) 458 458 459 459 ---- 460 460 ... ... @@ -464,22 +464,19 @@ 464 464 465 465 For each Scenario: 466 466 467 -* Provide a **probability- or likelihood-based verdict** 468 -* Capture uncertainty and reasoning 469 -* Distinguish between AKEL draft and human-approved verdict 470 -* Support Mode 1 (draft), Mode 2 (AI-generated), Mode 3 (human-reviewed) 272 +* Provide a **probability- or likelihood-based verdict** 273 +* Capture uncertainty and reasoning 274 +* Distinguish between AKEL draft and human-approved verdict 471 471 472 472 === FR13 – Truth Landscape === 473 473 474 -* Aggregate all scenario-specific verdicts into a "truth landscape" for a claim 475 -* Make disagreements visible rather than collapsing them into a single binary result 476 -* Show parallel scenarios and their respective verdicts 278 +* Aggregate all scenario-specific verdicts into a “truth landscape” for a claim 279 +* Make disagreements visible rather than collapsing them into a single binary result 477 477 478 478 === FR14 – Time Evolution === 479 479 480 -* Show how verdicts and evidence evolve over time 481 -* Allow users to see "as of date X, what did we know?" 482 -* Maintain complete version history for auditing 283 +* Show how verdicts and evidence evolve over time 284 +* Allow users to see “as of date X, what did we know?” 483 483 484 484 ---- 485 485 ... ... @@ -487,196 +487,153 @@ 487 487 488 488 === FR15 – Workflow States === 489 489 490 -* Draft → In Review → Published / Rejected 491 -* Separate states for Claims, Scenarios, Evidence, and Verdicts 492 -* Support Mode 1/2/3 publication model 292 +* Draft → In Review → Published / Rejected 293 +* Separate states for Claims, Scenarios, Evidence, and Verdicts 493 493 494 494 === FR16 – Moderation & Abuse Handling === 495 495 496 -* Allow Moderators to hide content or lock edits for abuse or legal reasons 497 -* Keep internal audit trail even if public view is restricted 498 -* Support user reporting and flagging 297 +* Allow Moderators to hide content or lock edits for abuse or legal reasons 298 +* Keep internal audit trail even if public view is restricted 499 499 500 500 === FR17 – Audit Trail === 501 501 502 -* Every significant action (create, edit, publish, delete/hide) is logged with: 503 -* *Who did it504 -* *When(timestamp)505 -* *What changed(diffs)506 -* *Why (justification text)302 +* Every significant action (create, edit, publish, delete/hide) is logged with: 303 + * Who did it 304 + * When 305 + * What changed 306 + * Why (short comment, optional but recommended) 507 507 508 508 ---- 509 509 510 -= =QualityGates & AIReview==310 += Federation Requirements = 511 511 512 - ===FR18–QualityGateValidation===312 +FactHarbor is designed to operate as a **federated network of nodes**. 513 513 514 - BeforeAI-generatedcontent(Mode2) publication, enforce:314 +=== FR18 – Node Autonomy === 515 515 516 -* Gate 1: Source Quality 517 -* Gate 2: Contradiction Search (MANDATORY) 518 -* Gate 3: Uncertainty Quantification 519 -* Gate 4: Structural Integrity 316 +* Each node can run independently (local policies, local users, local moderation) 317 +* Nodes decide which other nodes to federate with 520 520 521 -=== FR19 – Audit Sampling ===319 +=== FR19 – Data Sharing Modes === 522 522 523 -* Implement stratified sampling by risk tier 524 -* Recommendation: 30-50% Tier A, 10-20% Tier B, 5-10% Tier C 525 -* Support audit workflow and feedback loop 321 +Nodes must be able to: 526 526 527 -=== FR20 – Risk Tier Assignment === 323 +* Share claims and summaries only 324 +* Share selected claims, scenarios, and verdicts 325 +* Share full underlying evidence metadata where allowed 326 +* Opt-out of sharing sensitive or restricted content 528 528 529 -* AKEL suggests tier based on domain, keywords, impact 530 -* Moderators and Experts can override 531 -* Risk tier affects publication workflow 328 +=== FR20 – Synchronization & Conflict Handling === 532 532 533 ----- 330 +* Changes from remote nodes must be mergeable or explicitly conflict-marked 331 +* Conflicting verdicts are allowed and visible; not forced into consensus 534 534 535 -== Federation Requirements ==333 +=== FR21 – Federation Discovery === 536 536 537 -=== FR21 – Node Autonomy === 335 +* Discover other nodes and their capabilities (public endpoints, policies) 336 +* Allow whitelisting / blacklisting of nodes 538 538 539 -* Each node can run independently (local policies, local users, local moderation) 540 -* Nodes decide which other nodes to federate with 541 -* Trust levels: Trusted / Neutral / Untrusted 338 +**Basic federation** (minimum): 542 542 543 -=== FR22 – Data Sharing Modes === 340 +* Subscribe to and import selected claims and scenarios from other nodes 341 +* Keep provenance (which node originated what) 342 +* Respect remote deletion / redaction notices where required by policy or law 544 544 545 - Nodesmust beableto:344 +Advanced federation (later versions): 546 546 547 -* Share claims and summaries only 548 -* Share selected claims, scenarios, and verdicts 549 -* Share full underlying evidence metadata where allowed 550 -* Opt-out of sharing sensitive or restricted content 346 +* Cross-node search 347 +* Federation-wide discovery and reputation signals 551 551 552 -=== FR23 – Synchronization & Conflict Handling === 553 - 554 -* Changes from remote nodes must be mergeable or explicitly conflict-marked 555 -* Conflicting verdicts are allowed and visible; not forced into consensus 556 -* Support push/pull/subscription synchronization 557 - 558 -=== FR24 – Federation Discovery === 559 - 560 -* Discover other nodes and their capabilities (public endpoints, policies) 561 -* Allow whitelisting / blacklisting of nodes 562 -* Global identifier format: `factharbor://node_url/type/local_id` 563 - 564 -=== FR25 – Cross-Node AI Knowledge Exchange === 565 - 566 -* Share vector embeddings for clustering 567 -* Share canonical claim forms 568 -* Share scenario templates 569 -* Share contradiction alerts 570 -* NEVER share model weights 571 -* NEVER override local governance 572 - 573 573 ---- 574 574 575 -= =Non-Functional Requirements ==351 += Non-Functional Requirements (NFR) = 576 576 577 -== =NFR1 – Transparency ===353 +== NFR1 – Transparency == 578 578 579 -* All assumptions, evidence, and reasoning behind verdicts must be visible 580 -* AKEL involvement must be clearly labeled 581 -* Users must be able to inspect the chain of reasoning and versions 355 +* All assumptions, evidence, and reasoning behind verdicts must be visible 356 +* AKEL involvement must be clearly labeled 357 +* Users must be able to inspect the chain of reasoning and versions 582 582 583 -== =NFR2 – Security ===359 +== NFR2 – Security == 584 584 585 -* Role-based access control 586 -* Transport-level security (HTTPS) 587 -* Secure storage of secrets (API keys, credentials) 588 -* Audit trails for sensitive actions 361 +* Role-based access control 362 +* Transport-level security (HTTPS) 363 +* Secure storage of secrets (API keys, credentials) 364 +* Audit trails for sensitive actions 589 589 590 -== =NFR3 – Privacy & Compliance ===366 +== NFR3 – Privacy & Compliance == 591 591 592 -* Configurable data retention policies 593 -* Ability to redact or pseudonymize personal data when required 594 -* Compliance hooks for jurisdiction-specific rules (e.g. GDPR-like deletion requests) 368 +* Configurable data retention policies 369 +* Ability to redact or pseudonymize personal data when required 370 +* Compliance hooks for jurisdiction-specific rules (e.g. GDPR-like deletion requests) 595 595 596 -== =NFR4 – Performance ===372 +== NFR4 – Performance == 597 597 598 -* POC: typical interactions < 2 s 599 -* Release 1.0: < 300 ms for common read operations after caching 600 -* Degradation strategies under load 374 +* POC: typical interactions < 2 s 375 +* Release 1.0: < 300 ms for common read operations after caching 376 +* Degradation strategies under load (e.g. partial federation results, limited history) 601 601 602 -== =NFR5 – Scalability ===378 +== NFR5 – Scalability == 603 603 604 -* POC: 50internaltestersononenode605 -* Beta 0: 100 external testers on one node 606 -* Release 1.0: **2000+ concurrent users** on a reasonably provisioned node 380 +* POC: **Fully automated text-to-truth-landscape** pipeline for validation. 381 +* Beta 0: ~100 external testers on one node 382 +* Release 1.0: **2000+ concurrent users** on a reasonably provisioned node 607 607 608 - Technical targets for Release 1.0:384 +Suggested technical targets for Release 1.0: 609 609 610 -* Scalable monolith or early microservice architecture 611 -* Sharded vector database (for semantic search) 612 -* Optional IPFS or other decentralized storage for large art ifacts613 -* Horizontal scalability for read capacity 386 +* Scalable monolith or early microservice architecture 387 +* Sharded vector database (for semantic search) 388 +* Optional IPFS or other decentralized storage for large artefacts 389 +* Horizontal scalability for read capacity 614 614 615 -== =NFR6 – Interoperability ===391 +== NFR6 – Interoperability == 616 616 617 -* Open, documented API 618 -* Modular AKEL that can be swapped or extended 619 -* Federation protocols that follow open standards where possible 620 -* Standard model for external integrations 393 +* Open, documented API 394 +* Modular AKEL that can be swapped or extended 395 +* Federation protocols that follow open standards where possible 396 +* Standard model for external integrations (e.g. news platforms, research tools) 621 621 622 -== =NFR7 – Observability & Operations ===398 +== NFR7 – Observability & Operations == 623 623 624 -* Metrics for performance, errors, and queue backlogs 625 -* Logs for key flows (claim intake, scenario changes, verdict updates, federation sync) 626 -* Health endpoints for monitoring 400 +* Metrics for performance, errors, and queue backlogs 401 +* Logs for key flows (claim intake, scenario changes, verdict updates, federation sync) 402 +* Health endpoints for monitoring 627 627 628 -== =NFR8 – Maintainability ===404 +== NFR8 – Maintainability == 629 629 630 -* Clear module boundaries (API, core services, AKEL, storage, federation) 631 -* Backward-compatible schema migration strategy where feasible 632 -* Configuration via files / environment variables, not hard-coded 406 +* Clear module boundaries (API, core services, AKEL, storage, federation) 407 +* Backward-compatible schema migration strategy where feasible 408 +* Configuration via files / environment variables, not hard-coded 633 633 634 -== =NFR9 – Usability ===410 +== NFR9 – Usability == 635 635 636 -* UI optimized for **exploring complexity**, not hiding it 637 -* Support for saved views, filters, and user-level preferences 638 -* Progressive disclosure: casual users see summaries, advanced users can dive deep 412 +* UI optimized for **exploring complexity**, not hiding it 413 +* Support for saved views, filters, and user-level preferences 414 +* Progressive disclosure: casual users see summaries, advanced users can dive deep 639 639 640 640 ---- 641 641 642 -= =Release Levels ==418 += Release Levels = 643 643 644 644 === Proof of Concept (POC) === 645 645 646 -* Single node 647 -* Limited user set (50 internal testers) 648 -* Basic claim → scenario → evidence → verdict flow 649 -* Minimal federation (optional) 650 -* AI-generated publication (Mode 2) demonstration 651 -* Quality gates active 422 +* **Status:** Fully Automated "Text to Truth Landscape" 423 +* **Focus:** Validating automated extraction, scenario generation, and verdict computation without human-in-the-loop. 424 +* **Goal:** Demonstrate model capability on raw text input. 652 652 653 653 === Beta 0 === 654 654 655 -* One or few nodes 656 -* External testers (100) 657 -* Expanded workflows and basic moderation 658 -* Initial federation experiments 659 -* Audit sampling implemented 428 +* One or few nodes 429 +* External testers (~100) 430 +* Expanded workflows and basic moderation 431 +* Initial federation experiments 660 660 661 661 === Release 1.0 === 662 662 663 -* 2000+ concurrent users 664 -* Scalable architecture 665 -* Sharded vector DB 666 -* IPFS optional 667 -* High automation (AKEL assistance) 668 -* Multi-node federation with full sync protocol 669 -* Mature audit system 435 +* 2000+ concurrent users 436 +* Scalable monolith or early microservices 437 +* Sharded vector DB 438 +* IPFS optional 439 +* High automation (AKEL assistance) 440 +* Multi-node federation 670 670 671 ----- 672 - 673 - 674 - 675 -== Related Pages == 676 - 677 - 678 - 679 -* [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]] 680 -* [[Automation>>FactHarbor.Specification.Automation.WebHome]] 681 -* [[Workflows>>FactHarbor.Specification.Workflows.WebHome]] 682 -* [[Governance>>FactHarbor.Organisation.Governance]]