Wiki source code of Requirements

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

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