Changes for page Requirements

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

From version 6.1
edited by Robert Schaub
on 2025/12/14 18:59
Change comment: Imported from XAR
To version 8.2
edited by Robert Schaub
on 2025/12/16 20:28
Change comment: Renamed back-links.

Summary

Details

Page properties
Content
... ... @@ -4,11 +4,35 @@
4 4  
5 5  == Roles ==
6 6  
7 +=== Reader ===
8 +
9 +**Who**: Anyone (no login required).
10 +
11 +**Can**:
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
20 +
21 +**Cannot**:
22 +
23 +* Modify existing content
24 +* Access draft content
25 +* Participate in governance decisions
26 +
27 +**Note**: Readers can request human review of AI-generated content by flagging it.
28 +
7 7  === Contributor ===
8 8  
9 -**Who**: Anyone (logged in or anonymous).
31 +**Who**: Registered and logged-in users (extends Reader capabilities).
10 10  
11 11  **Can**:
34 +
35 +* Everything a Reader can do
12 12  * Submit claims
13 13  * Submit evidence
14 14  * Provide feedback
... ... @@ -17,6 +17,7 @@
17 17  * Request human review of AI-generated content
18 18  
19 19  **Cannot**:
44 +
20 20  * Publish or mark content as "reviewed" or "approved"
21 21  * Override expert or maintainer decisions
22 22  * Directly modify AKEL or quality gate configurations
... ... @@ -26,6 +26,7 @@
26 26  **Who**: Trusted community members, appointed by maintainers.
27 27  
28 28  **Can**:
54 +
29 29  * Review contributions from Contributors and AKEL drafts
30 30  * Validate AI-generated content (Mode 2 → Mode 3 transition)
31 31  * Edit claims, scenarios, and evidence
... ... @@ -36,6 +36,7 @@
36 36  * Participate in audit sampling
37 37  
38 38  **Cannot**:
65 +
39 39  * Approve Tier A content for "Human-Reviewed" status (requires Expert)
40 40  * Change governance rules
41 41  * Unilaterally change expert conclusions without process
... ... @@ -42,6 +42,7 @@
42 42  * Bypass quality gates
43 43  
44 44  **Note on AI-Drafted Content**:
72 +
45 45  * Reviewers can validate AI-generated content (Mode 2) to promote it to "Human-Reviewed" (Mode 3)
46 46  * For Tier B and C, Reviewers have approval authority
47 47  * For Tier A, only Experts can grant "Human-Reviewed" status
... ... @@ -51,6 +51,7 @@
51 51  **Who**: Subject-matter specialists in specific domains (medicine, law, science, etc.).
52 52  
53 53  **Can**:
82 +
54 54  * Everything a Reviewer can do
55 55  * **Final authority** on Tier A content "Human-Reviewed" status
56 56  * Validate complex or controversial claims in their domain
... ... @@ -60,11 +60,13 @@
60 60  * Override AKEL suggestions in their domain (with documentation)
61 61  
62 62  **Cannot**:
92 +
63 63  * Change platform governance policies
64 64  * Approve content outside their expertise domain
65 65  * Bypass technical quality gates (but can flag for adjustment)
66 66  
67 67  **Specialization**:
98 +
68 68  * Experts are domain-specific (e.g., "Medical Expert", "Legal Expert", "Climate Science Expert")
69 69  * Cross-domain claims may require multiple expert reviews
70 70  
... ... @@ -73,6 +73,7 @@
73 73  **Who**: Reviewers or Experts assigned to sampling audit duties.
74 74  
75 75  **Can**:
107 +
76 76  * Review sampled AI-generated content against quality standards
77 77  * Validate quality gate enforcement
78 78  * Identify patterns in AI errors or hallucinations
... ... @@ -81,16 +81,19 @@
81 81  * Contribute to audit statistics and transparency reports
82 82  
83 83  **Cannot**:
116 +
84 84  * Change audit sampling algorithms (maintainer responsibility)
85 85  * Bypass normal review workflows
86 86  * Audit content they personally created
87 87  
88 88  **Selection**:
122 +
89 89  * Auditors selected based on domain expertise and review quality
90 90  * Rotation to prevent audit fatigue
91 91  * Stratified assignment (Tier A auditors need higher expertise)
92 92  
93 93  **Audit Focus**:
128 +
94 94  * Tier A: Recommendation 30-50% sampling rate, expert auditors
95 95  * Tier B: Recommendation 10-20% sampling rate, reviewer/expert auditors
96 96  * Tier C: Recommendation 5-10% sampling rate, reviewer auditors
... ... @@ -100,6 +100,7 @@
100 100  **Who**: Maintainers or trusted long-term contributors.
101 101  
102 102  **Can**:
138 +
103 103  * All Reviewer and Expert capabilities (cross-domain)
104 104  * Manage user accounts and permissions
105 105  * Handle disputes and conflicts
... ... @@ -110,6 +110,7 @@
110 110  * Oversee audit system performance
111 111  
112 112  **Cannot**:
149 +
113 113  * Change core data model or architecture
114 114  * Override technical system constraints
115 115  * Make unilateral governance decisions without consensus
... ... @@ -119,6 +119,7 @@
119 119  **Who**: Core team members responsible for the platform.
120 120  
121 121  **Can**:
159 +
122 122  * All Moderator capabilities
123 123  * Change data model, architecture, and technical systems
124 124  * Configure quality gates and AKEL parameters
... ... @@ -130,6 +130,7 @@
130 130  * Grant and revoke roles
131 131  
132 132  **Governance**:
171 +
133 133  * Maintainers operate under organizational governance rules
134 134  * Major policy changes require Governing Team approval
135 135  * Technical decisions made collaboratively
... ... @@ -139,6 +139,7 @@
139 139  == Content Publication States ==
140 140  
141 141  === Mode 1: Draft ===
181 +
142 142  * Not visible to public
143 143  * Visible to contributor and reviewers
144 144  * Can be edited by contributor or reviewers
... ... @@ -145,18 +145,20 @@
145 145  * Default state for failed quality gates
146 146  
147 147  === Mode 2: AI-Generated (Published) ===
188 +
148 148  * **Public** and visible to all users
149 149  * Clearly labeled as "AI-Generated, Awaiting Human Review"
150 150  * Passed all automated quality gates
151 151  * Risk tier displayed (A/B/C)
152 152  * Users can:
153 - ** Read and use content
154 - ** Request human review
155 - ** Flag for expert attention
194 +** Read and use content
195 +** Request human review
196 +** Flag for expert attention
156 156  * Subject to sampling audits
157 157  * Can be promoted to Mode 3 by reviewer/expert validation
158 158  
159 159  === Mode 3: Human-Reviewed (Published) ===
201 +
160 160  * **Public** and visible to all users
161 161  * Labeled as "Human-Reviewed" with reviewer/expert attribution
162 162  * Passed quality gates + human validation
... ... @@ -165,6 +165,7 @@
165 165  * For Tier B/C, Reviewer approval sufficient
166 166  
167 167  === Rejected ===
210 +
168 168  * Not visible to public
169 169  * Visible to contributor with rejection reason
170 170  * Can be resubmitted after addressing issues
... ... @@ -175,6 +175,7 @@
175 175  == Contribution Rules ==
176 176  
177 177  === All Contributors Must: ===
221 +
178 178  * Provide sources for claims
179 179  * Use clear, neutral language
180 180  * Avoid personal attacks or insults
... ... @@ -182,6 +182,7 @@
182 182  * Accept community feedback gracefully
183 183  
184 184  === AKEL (AI) Must: ===
229 +
185 185  * Mark all outputs with `AuthorType = AI`
186 186  * Pass quality gates before Mode 2 publication
187 187  * Perform mandatory contradiction search
... ... @@ -191,6 +191,7 @@
191 191  * Submit to audit sampling
192 192  
193 193  === Reviewers Must: ===
239 +
194 194  * Be impartial and evidence-based
195 195  * Document reasoning for decisions
196 196  * Escalate to experts when appropriate
... ... @@ -198,6 +198,7 @@
198 198  * Provide constructive feedback
199 199  
200 200  === Experts Must: ===
247 +
201 201  * Stay within domain expertise
202 202  * Disclose conflicts of interest
203 203  * Document specialized terminology
... ... @@ -209,6 +209,7 @@
209 209  == Quality Standards ==
210 210  
211 211  === Source Requirements ===
259 +
212 212  * Primary sources preferred over secondary
213 213  * Publication date and author must be identifiable
214 214  * Sources must be accessible (not paywalled when possible)
... ... @@ -216,6 +216,7 @@
216 216  * Echo chamber sources must be flagged
217 217  
218 218  === Claim Requirements ===
267 +
219 219  * Falsifiable or evaluable
220 220  * Clear definitions of key terms
221 221  * Boundaries and scope stated
... ... @@ -223,6 +223,7 @@
223 223  * Uncertainty acknowledged
224 224  
225 225  === Evidence Requirements ===
275 +
226 226  * Relevant to the claim and scenario
227 227  * Reliability assessment provided
228 228  * Methodology described (for studies)
... ... @@ -238,6 +238,7 @@
238 238  **Review**: Risk tiers periodically reviewed based on audit outcomes
239 239  
240 240  **Tier A Indicators**:
291 +
241 241  * Medical diagnosis or treatment advice
242 242  * Legal interpretation or advice
243 243  * Election or voting information
... ... @@ -246,6 +246,7 @@
246 246  * Potential for significant harm
247 247  
248 248  **Tier B Indicators**:
300 +
249 249  * Complex scientific causality
250 250  * Contested policy domains
251 251  * Historical interpretation with political implications
... ... @@ -252,6 +252,7 @@
252 252  * Significant economic impact claims
253 253  
254 254  **Tier C Indicators**:
307 +
255 255  * Established historical facts
256 256  * Simple definitions
257 257  * Well-documented scientific consensus
... ... @@ -259,10 +259,371 @@
259 259  
260 260  ----
261 261  
315 +
316 +----
317 +
318 +== User Role Hierarchy Diagram ==
319 +
320 +The following diagram visualizes the complete role hierarchy:
321 +
322 +{{include reference="Test.FactHarborV09.Specification.Diagrams.User Class Diagram.WebHome"/}}
323 +
324 +----
325 +
326 +----
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="Test.FactHarborV09.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="Test.FactHarborV09.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 +----
355 +
356 +
357 +
358 +----
359 +
360 += Functional Requirements =
361 +
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 +== Claim Intake & Normalization ==
371 +
372 +=== FR1 – Claim Intake ===
373 +
374 +The system must support Claim creation from:
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
382 +
383 +**Automatic submission**: Any Reader can submit text, and new claims are added automatically unless identical claims already exist.
384 +
385 +=== FR2 – Claim Normalization ===
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
390 +
391 +=== FR3 – Claim Classification ===
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
396 +
397 +=== FR4 – Claim Clustering ===
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"
402 +
403 +-----
404 +
405 +== Scenario System ==
406 +
407 +=== FR5 – Scenario Creation ===
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
412 +
413 +=== FR6 – Required Scenario Fields ===
414 +
415 +Each scenario includes:
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)
422 +
423 +=== FR7 – Scenario Versioning ===
424 +
425 +* Every change to a scenario creates a new version
426 +* Previous versions remain accessible with timestamps and rationale
427 +* ParentVersionID links versions
428 +
429 +=== FR8 – Scenario Comparison ===
430 +
431 +* Users can compare scenarios side by side
432 +* Show differences in assumptions, definitions, and evidence sets
433 +
434 +-----
435 +
436 +== Evidence Management ==
437 +
438 +=== FR9 – Evidence Ingestion ===
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)
443 +
444 +=== FR10 – Evidence Assessment ===
445 +
446 +For each piece of evidence:
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
452 +
453 +=== FR11 – Evidence Linking ===
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
458 +
459 +-----
460 +
461 +== Verdicts & Truth Landscape ==
462 +
463 +=== FR12 – Scenario Verdicts ===
464 +
465 +For each Scenario:
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)
471 +
472 +=== FR13 – Truth Landscape ===
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
477 +
478 +=== FR14 – Time Evolution ===
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
483 +
484 +-----
485 +
486 +== Workflow, Moderation & Audit ==
487 +
488 +=== FR15 – Workflow States ===
489 +
490 +* Draft → In Review → Published / Rejected
491 +* Separate states for Claims, Scenarios, Evidence, and Verdicts
492 +* Support Mode 1/2/3 publication model
493 +
494 +=== FR16 – Moderation & Abuse Handling ===
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
499 +
500 +=== FR17 – Audit Trail ===
501 +
502 +* Every significant action (create, edit, publish, delete/hide) is logged with:
503 +** Who did it
504 +** When (timestamp)
505 +** What changed (diffs)
506 +** Why (justification text)
507 +
508 +-----
509 +
510 +== Quality Gates & AI Review ==
511 +
512 +=== FR18 – Quality Gate Validation ===
513 +
514 +Before AI-generated content (Mode 2) publication, enforce:
515 +
516 +* Gate 1: Source Quality
517 +* Gate 2: Contradiction Search (MANDATORY)
518 +* Gate 3: Uncertainty Quantification
519 +* Gate 4: Structural Integrity
520 +
521 +=== FR19 – Audit Sampling ===
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
526 +
527 +=== FR20 – Risk Tier Assignment ===
528 +
529 +* AKEL suggests tier based on domain, keywords, impact
530 +* Moderators and Experts can override
531 +* Risk tier affects publication workflow
532 +
533 +-----
534 +
535 +== Federation Requirements ==
536 +
537 +=== FR21 – Node Autonomy ===
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
542 +
543 +=== FR22 – Data Sharing Modes ===
544 +
545 +Nodes must be able to:
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
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 +-----
574 +
575 +== Non-Functional Requirements ==
576 +
577 +=== NFR1 – Transparency ===
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
582 +
583 +=== NFR2 – Security ===
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
589 +
590 +=== NFR3 – Privacy & Compliance ===
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)
595 +
596 +=== NFR4 – Performance ===
597 +
598 +* POC: typical interactions < 2 s
599 +* Release 1.0: < 300 ms for common read operations after caching
600 +* Degradation strategies under load
601 +
602 +=== NFR5 – Scalability ===
603 +
604 +* POC: 50 internal testers on one node
605 +* Beta 0: 100 external testers on one node
606 +* Release 1.0: **2000+ concurrent users** on a reasonably provisioned node
607 +
608 +Technical targets for Release 1.0:
609 +
610 +* Scalable monolith or early microservice architecture
611 +* Sharded vector database (for semantic search)
612 +* Optional IPFS or other decentralized storage for large artifacts
613 +* Horizontal scalability for read capacity
614 +
615 +=== NFR6 – Interoperability ===
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
621 +
622 +=== NFR7 – Observability & Operations ===
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
627 +
628 +=== NFR8 – Maintainability ===
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
633 +
634 +=== NFR9 – Usability ===
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
639 +
640 +-----
641 +
642 +== Release Levels ==
643 +
644 +=== Proof of Concept (POC) ===
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
652 +
653 +=== Beta 0 ===
654 +
655 +* One or few nodes
656 +* External testers (100)
657 +* Expanded workflows and basic moderation
658 +* Initial federation experiments
659 +* Audit sampling implemented
660 +
661 +=== Release 1.0 ===
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
670 +
671 +-----
672 +
673 +
674 +
262 262  == Related Pages ==
263 263  
677 +
678 +
264 264  * [[AKEL (AI Knowledge Extraction Layer)>>FactHarbor.Specification.AI Knowledge Extraction Layer (AKEL).WebHome]]
265 265  * [[Automation>>FactHarbor.Specification.Automation.WebHome]]
266 266  * [[Workflows>>FactHarbor.Specification.Workflows.WebHome]]
267 267  * [[Governance>>FactHarbor.Organisation.Governance]]
268 -