Requirements

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

Requirements

This page defines Roles, Responsibilities, and Rules for contributors and users of FactHarbor.

1. Roles

1.1 Reader

Who: Anyone (no login required).

Can:

  • Browse and search claims
  • View scenarios, evidence, verdicts, and timelines
  • Compare scenarios and explore assumptions
  • Flag issues, errors, contradictions, or suspicious patterns
  • Use filters, search, and visualization tools
  • Create personal views (saved searches, bookmarks - local browser storage)
  • Submit claims automatically by providing text to analyze - new claims are added automatically unless equal claims already exist in the system

Cannot:

  • Modify existing content
  • Access draft content
  • Participate in governance decisions

Note: Readers can request human review of AI-generated content by flagging it.

1.2 Contributor

Who: Registered and logged-in users (extends Reader capabilities).

Can:

  • Everything a Reader can do
  • Submit claims
  • Submit evidence
  • Provide feedback
  • Suggest scenarios
  • Flag content for review
  • Request human review of AI-generated content

Cannot:

  • Publish or mark content as "reviewed" or "approved"
  • Override expert or maintainer decisions
  • Directly modify AKEL or quality gate configurations

1.3 Reviewer

Who: Trusted community members, appointed by maintainers.

Can:

  • Review contributions from Contributors and AKEL drafts
  • Validate AI-generated content (Mode 2 → Mode 3 transition)
  • Edit claims, scenarios, and evidence
  • Add clarifications or warnings
  • Change content status: `draft` → `in review` → `published` / `rejected`
  • Approve or reject Tier B and C content for "Human-Reviewed" status
  • Flag content for expert review
  • Participate in audit sampling

Cannot:

  • Approve Tier A content for "Human-Reviewed" status (requires Expert)
  • Change governance rules
  • Unilaterally change expert conclusions without process
  • Bypass quality gates

Note on AI-Drafted Content:

  • Reviewers can validate AI-generated content (Mode 2) to promote it to "Human-Reviewed" (Mode 3)
  • For Tier B and C, Reviewers have approval authority
  • For Tier A, only Experts can grant "Human-Reviewed" status

1.4 Expert (Domain-Specific)

Who: Subject-matter specialists in specific domains (medicine, law, science, etc.).

Can:

  • Everything a Reviewer can do
  • Final authority on Tier A content "Human-Reviewed" status
  • Validate complex or controversial claims in their domain
  • Define domain-specific quality standards
  • Set reliability thresholds for domain sources
  • Participate in risk tier assignment review
  • Override AKEL suggestions in their domain (with documentation)

Cannot:

  • Change platform governance policies
  • Approve content outside their expertise domain
  • Bypass technical quality gates (but can flag for adjustment)

Specialization:

  • Experts are domain-specific (e.g., "Medical Expert", "Legal Expert", "Climate Science Expert")
  • Cross-domain claims may require multiple expert reviews

1.5 Auditor

Who: Reviewers or Experts assigned to sampling audit duties.

Can:

  • Review sampled AI-generated content against quality standards
  • Validate quality gate enforcement
  • Identify patterns in AI errors or hallucinations
  • Provide feedback for system improvement
  • Flag content for immediate review if errors found
  • Contribute to audit statistics and transparency reports

Cannot:

  • Change audit sampling algorithms (maintainer responsibility)
  • Bypass normal review workflows
  • Audit content they personally created

Selection:

  • Auditors selected based on domain expertise and review quality
  • Rotation to prevent audit fatigue
  • Stratified assignment (Tier A auditors need higher expertise)

Audit Focus:

  • Tier A: Recommendation 30-50% sampling rate, expert auditors
  • Tier B: Recommendation 10-20% sampling rate, reviewer/expert auditors
  • Tier C: Recommendation 5-10% sampling rate, reviewer auditors

1.6 Moderator

Who: Maintainers or trusted long-term contributors.

Can:

  • All Reviewer and Expert capabilities (cross-domain)
  • Manage user accounts and permissions
  • Handle disputes and conflicts
  • Enforce community guidelines
  • Suspend or ban abusive users
  • Finalize publication status for sensitive content
  • Review and adjust risk tier assignments
  • Oversee audit system performance

Cannot:

  • Change core data model or architecture
  • Override technical system constraints
  • Make unilateral governance decisions without consensus

1.7 Maintainer

Who: Core team members responsible for the platform.

Can:

  • All Moderator capabilities
  • Change data model, architecture, and technical systems
  • Configure quality gates and AKEL parameters
  • Adjust audit sampling algorithms
  • Set and modify risk tier policies
  • Make platform-wide governance decisions
  • Access and modify backend systems
  • Deploy updates and fixes
  • Grant and revoke roles

Governance:

  • Maintainers operate under organizational governance rules
  • Major policy changes require Governing Team approval
  • Technical decisions made collaboratively

2. Content Publication States

2.1 Mode 1: Draft

  • Not visible to public
  • Visible to contributor and reviewers
  • Can be edited by contributor or reviewers
  • Default state for failed quality gates

2.2 Mode 2: AI-Generated (Published)

  • Public and visible to all users
  • Clearly labeled as "AI-Generated, Awaiting Human Review"
  • Passed all automated quality gates
  • Risk tier displayed (A/B/C)
  • Users can:
    • Read and use content
    • Request human review
    • Flag for expert attention
  • Subject to sampling audits
  • Can be promoted to Mode 3 by reviewer/expert validation

2.3 Mode 3: Human-Reviewed (Published)

  • Public and visible to all users
  • Labeled as "Human-Reviewed" with reviewer/expert attribution
  • Passed quality gates + human validation
  • Highest trust level
  • For Tier A, requires Expert approval
  • For Tier B/C, Reviewer approval sufficient

2.4 Rejected

  • Not visible to public
  • Visible to contributor with rejection reason
  • Can be resubmitted after addressing issues
  • Rejection logged for transparency

3. Contribution Rules

3.1 All Contributors Must:

  • Provide sources for claims
  • Use clear, neutral language
  • Avoid personal attacks or insults
  • Respect intellectual property (cite sources)
  • Accept community feedback gracefully

3.2 AKEL (AI) Must:

  • Mark all outputs with `AuthorType = AI`
  • Pass quality gates before Mode 2 publication
  • Perform mandatory contradiction search
  • Disclose confidence levels and uncertainty
  • Provide traceable reasoning chains
  • Flag potential bubbles or echo chambers
  • Submit to audit sampling

3.3 Reviewers Must:

  • Be impartial and evidence-based
  • Document reasoning for decisions
  • Escalate to experts when appropriate
  • Participate in audits when assigned
  • Provide constructive feedback

3.4 Experts Must:

  • Stay within domain expertise
  • Disclose conflicts of interest
  • Document specialized terminology
  • Provide reasoning for domain-specific decisions
  • Participate in Tier A audits

4. Quality Standards

4.1 Source Requirements

  • Primary sources preferred over secondary
  • Publication date and author must be identifiable
  • Sources must be accessible (not paywalled when possible)
  • Contradictory sources must be acknowledged
  • Echo chamber sources must be flagged

4.2 Claim Requirements

  • Falsifiable or evaluable
  • Clear definitions of key terms
  • Boundaries and scope stated
  • Assumptions made explicit
  • Uncertainty acknowledged

4.3 Evidence Requirements

  • Relevant to the claim and scenario
  • Reliability assessment provided
  • Methodology described (for studies)
  • Limitations noted
  • Conflicting evidence acknowledged

5. Risk tier Assignment

Automated (AKEL): Initial tier suggested based on domain, keywords, impact
Human Validation: Moderators or Experts can override AKEL suggestions
Review: Risk tiers periodically reviewed based on audit outcomes

Tier A Indicators:

  • Medical diagnosis or treatment advice
  • Legal interpretation or advice
  • Election or voting information
  • Safety or security sensitive
  • Major financial decisions
  • Potential for significant harm

Tier B Indicators:

  • Complex scientific causality
  • Contested policy domains
  • Historical interpretation with political implications
  • Significant economic impact claims

Tier C Indicators:

  • Established historical facts
  • Simple definitions
  • Well-documented scientific consensus
  • Basic reference information

6. User Role Hierarchy Diagram

The following diagram visualizes the complete role hierarchy:

7. Role Hierarchy Diagrams

7.1 User Class Diagram

The following class diagram visualizes the complete user role hierarchy:

classDiagram
 class User {
 +UUID id
 +String username
 +String email
 +Role role
 +Int reputation
 +Timestamp created_at
 +contribute()
 +flag_issue()
 +earn_reputation()
 }
 class Reader {
 <>
 +browse()
 +search()
 +flag_content()
 }
 class Contributor {
 <>
 +edit_claims()
 +add_evidence()
 +suggest_improvements()
 +requires: reputation sufficient
 }
 class Moderator {
 <>
 +review_flags()
 +hide_content()
 +resolve_disputes()
 +requires: appointed by Governing Team
 }
 User --> Reader : default role
 User --> Contributor : registers + earns reputation
 User --> Moderator : appointed
 note for User "Reputation system unlocks permissions progressively"
 note for Contributor "Reputation sufficient: Full edit access"
 note for Contributor "Reputation sufficient: Can approve changes"

Simplified flat role structure:

  • Three roles only: Reader (default), Contributor (earned), Moderator (appointed)
  • Reputation system replaces role hierarchy
  • Progressive permissions based on reputation, not titles

7.2 Human User Roles

This diagram shows the two-track progression for human users:

graph TD
 READER[Reader] --> |Registers| CONTRIBUTOR[Contributor]
 CONTRIBUTOR --> |Earns Reputation| TRUSTED[Trusted Contributor
substantial reputation] CONTRIBUTOR --> |Appointed by
Governing Team| MODERATOR[Moderator] READER --> |Can| R1[Browse/Search] READER --> |Can| R2[Flag Issues] READER --> |Can| R3[Submit Claims] CONTRIBUTOR --> |Can| C1[Edit Claims] CONTRIBUTOR --> |Can| C2[Add Evidence] CONTRIBUTOR --> |Can| C3[Improve Content] TRUSTED --> |Can| T1[Approve Changes] TRUSTED --> |Can| T2[Mentor New Contributors] MODERATOR --> |Can| M1[Review Flags] MODERATOR --> |Can| M2[Hide Harmful Content] MODERATOR --> |Can| M3[Resolve Disputes] style READER fill:#e1f5ff style CONTRIBUTOR fill:#99ff99 style TRUSTED fill:#ffff99 style MODERATOR fill:#ff9999

Simplified flat role structure:

  • Reader: Default role, no login required
  • Contributor: Registers and earns reputation through contributions
  • Trusted Contributor: substantial reputation unlocks additional permissions
  • Moderator: Appointed by Governing Team, handles abuse/disputes
    No hierarchy - roles represent responsibility levels, not management structure.

7.3 Technical and System Users

This diagram shows system processes and their management:

Technical & System Users
This diagram shows Technical Users (system processes like AKEL, sync bots, monitors) and their management by Moderators.

erDiagram
 USER {
 string UserID PK
 string role
 int reputation
 }
 MODERATOR {
 string ModeratorID PK
 string UserID FK
 string[] permissions
 }
 SYSTEM_SERVICE {
 string ServiceID PK
 string ServiceName
 string Purpose
 string Status
 }
 AKEL {
 string InstanceID PK
 string ServiceID FK
 string Version
 }
 BACKGROUND_SCHEDULER {
 string SchedulerID PK
 string ServiceID FK
 string[] ScheduledTasks
 }
 SEARCH_INDEXER {
 string IndexerID PK
 string ServiceID FK
 string LastSyncTime
 }
 USER ||--o| MODERATOR : "appointed-as"
 MODERATOR ||--o{ SYSTEM_SERVICE : "monitors"
 SYSTEM_SERVICE ||--|| AKEL : "AI-processing"
 SYSTEM_SERVICE ||--|| BACKGROUND_SCHEDULER : "periodic-tasks"
 SYSTEM_SERVICE ||--|| SEARCH_INDEXER : "search-sync"

Simplified technical model:

  • USER: Standard users (Reader/Contributor based on reputation)
  • MODERATOR: Appointed users with moderation permissions
  • SYSTEM_SERVICE: Automated background services
  • AKEL: AI processing engine
  • BACKGROUND_SCHEDULER: Quality metrics, source updates, cleanup
  • SEARCH_INDEXER: Elasticsearch synchronization
    Removed (no longer in simplified model):

Key Design Principles:

  • Two tracks from Contributor: Content Track (Reviewer) and Technical Track (Maintainer)
  • Technical Users: System processes (AKEL, bots) managed by Maintainers
  • Separation of concerns: Editorial authority independent from technical authority

Functional Requirements

This page defines what the FactHarbor system must do to fulfill its mission.

Requirements are structured as FR (Functional Requirement) items and organized by capability area.

8. Claim Intake & Normalization

8.1 FR1 – Claim Intake

The system must support Claim creation from:

  • Free-text input (from any Reader)
  • URLs (web pages, articles, posts)
  • Uploaded documents and transcripts
  • Structured feeds (optional, e.g. from partner platforms)
  • Automated ingestion (federation input)
  • AKEL extraction from multi-claim texts

Automatic submission: Any Reader can submit text, and new claims are added automatically unless identical claims already exist.

8.2 FR2 – Claim Normalization

  • Convert diverse inputs into short, structured, declarative claims
  • Preserve original phrasing for reference
  • Avoid hidden reinterpretation; differences between original and normalized phrasing must be visible

8.3 FR3 – Claim Classification

  • Classify claims by topic, domain, and type (e.g., quantitative, causal, normative)
  • Assign risk tier (A/B/C) based on domain and potential impact
  • Suggest which node / experts are relevant

8.4 FR4 – Claim Clustering

  • Group similar claims into Claim Clusters
  • Allow manual correction of cluster membership
  • Provide explanation why two claims are considered "same cluster"

9. Scenario System

9.1 FR5 – Scenario Creation

  • Contributors, Reviewers, and Experts can create scenarios
  • AKEL can propose draft scenarios
  • Each scenario is tied to exactly one Claim Cluster

9.2 FR6 – Required Scenario Fields

Each scenario includes:

  • Definitions (key terms)
  • Assumptions (explicit, testable where possible)
  • Boundaries (time, geography, population, conditions)
  • Scope of evidence considered
  • Intended decision / context (optional)

9.3 FR7 – Scenario Versioning

  • Every change to a scenario creates a new version
  • Previous versions remain accessible with timestamps and rationale
  • ParentVersionID links versions

9.4 FR8 – Scenario Comparison

  • Users can compare scenarios side by side
  • Show differences in assumptions, definitions, and evidence sets

10. Evidence Management

10.1 FR9 – Evidence Ingestion

  • Attach external sources (articles, studies, datasets, reports, transcripts) to Scenarios
  • Allow multiple pieces of evidence per Scenario
  • Support large file uploads (with size limits)

10.2 FR10 – Evidence Assessment

For each piece of evidence:

  • Assign reliability / quality ratings
  • Capture who rated it and why
  • Indicate known limitations, biases, or conflicts of interest
  • Track evidence version history

10.3 FR11 – Evidence Linking

  • Link one piece of evidence to multiple scenarios if relevant
  • Make dependencies explicit (e.g., "Scenario A uses subset of evidence used in Scenario B")
  • Use ScenarioEvidenceLink table with RelevanceScore

11. Verdicts & Truth Landscape

11.1 FR12 – Scenario Verdicts

For each Scenario:

  • Provide a probability- or likelihood-based verdict
  • Capture uncertainty and reasoning
  • Distinguish between AKEL draft and human-approved verdict
  • Support Mode 1 (draft), Mode 2 (AI-generated), Mode 3 (human-reviewed)

11.2 FR13 – Truth Landscape

  • Aggregate all scenario-specific verdicts into a "truth landscape" for a claim
  • Make disagreements visible rather than collapsing them into a single binary result
  • Show parallel scenarios and their respective verdicts

11.3 FR14 – Time Evolution

  • Show how verdicts and evidence evolve over time
  • Allow users to see "as of date X, what did we know?"
  • Maintain complete version history for auditing

12. Workflow, Moderation & Audit

12.1 FR15 – Workflow States

  • Draft → In Review → Published / Rejected
  • Separate states for Claims, Scenarios, Evidence, and Verdicts
  • Support Mode 1/2/3 publication model

12.2 FR16 – Moderation & Abuse Handling

  • Allow Moderators to hide content or lock edits for abuse or legal reasons
  • Keep internal audit trail even if public view is restricted
  • Support user reporting and flagging

12.3 FR17 – Audit Trail

  • Every significant action (create, edit, publish, delete/hide) is logged with:
    • Who did it
    • When (timestamp)
    • What changed (diffs)
    • Why (justification text)

13. Quality Gates & AI Review

13.1 FR18 – Quality Gate Validation

Before AI-generated content (Mode 2) publication, enforce:

  • Gate 1: Source Quality
  • Gate 2: Contradiction Search (MANDATORY)
  • Gate 3: Uncertainty Quantification
  • Gate 4: Structural Integrity

13.2 FR19 – Audit Sampling

  • Implement stratified sampling by risk tier
  • Recommendation: 30-50% Tier A, 10-20% Tier B, 5-10% Tier C
  • Support audit workflow and feedback loop

13.3 FR20 – Risk Tier Assignment

  • AKEL suggests tier based on domain, keywords, impact
  • Moderators and Experts can override
  • Risk tier affects publication workflow

14. Federation Requirements

14.1 FR21 – Node Autonomy

  • Each node can run independently (local policies, local users, local moderation)
  • Nodes decide which other nodes to federate with
  • Trust levels: Trusted / Neutral / Untrusted

14.2 FR22 – Data Sharing Modes

Nodes must be able to:

  • Share claims and summaries only
  • Share selected claims, scenarios, and verdicts
  • Share full underlying evidence metadata where allowed
  • Opt-out of sharing sensitive or restricted content

14.3 FR23 – Synchronization & Conflict Handling

  • Changes from remote nodes must be mergeable or explicitly conflict-marked
  • Conflicting verdicts are allowed and visible; not forced into consensus
  • Support push/pull/subscription synchronization

14.4 FR24 – Federation Discovery

  • Discover other nodes and their capabilities (public endpoints, policies)
  • Allow whitelisting / blacklisting of nodes
  • Global identifier format: `factharbor://node_url/type/local_id`

14.5 FR25 – Cross-Node AI Knowledge Exchange

  • Share vector embeddings for clustering
  • Share canonical claim forms
  • Share scenario templates
  • Share contradiction alerts
  • NEVER share model weights
  • NEVER override local governance

15. Non-Functional Requirements

15.1 NFR1 – Transparency

  • All assumptions, evidence, and reasoning behind verdicts must be visible
  • AKEL involvement must be clearly labeled
  • Users must be able to inspect the chain of reasoning and versions

15.2 NFR2 – Security

  • Role-based access control
  • Transport-level security (HTTPS)
  • Secure storage of secrets (API keys, credentials)
  • Audit trails for sensitive actions

15.3 NFR3 – Privacy & Compliance

  • Configurable data retention policies
  • Ability to redact or pseudonymize personal data when required
  • Compliance hooks for jurisdiction-specific rules (e.g. GDPR-like deletion requests)

15.4 NFR4 – Performance

  • POC: typical interactions < 2 s
  • Release 1.0: < 300 ms for common read operations after caching
  • Degradation strategies under load

15.5 NFR5 – Scalability

  • POC: 50 internal testers on one node
  • Beta 0: 100 external testers on one node
  • Release 1.0: 2000+ concurrent users on a reasonably provisioned node

Technical targets for Release 1.0:

  • Scalable monolith or early microservice architecture
  • Sharded vector database (for semantic search)
  • Optional IPFS or other decentralized storage for large artifacts
  • Horizontal scalability for read capacity

15.6 NFR6 – Interoperability

  • Open, documented API
  • Modular AKEL that can be swapped or extended
  • Federation protocols that follow open standards where possible
  • Standard model for external integrations

15.7 NFR7 – Observability & Operations

  • Metrics for performance, errors, and queue backlogs
  • Logs for key flows (claim intake, scenario changes, verdict updates, federation sync)
  • Health endpoints for monitoring

15.8 NFR8 – Maintainability

  • Clear module boundaries (API, core services, AKEL, storage, federation)
  • Backward-compatible schema migration strategy where feasible
  • Configuration via files / environment variables, not hard-coded

15.9 NFR9 – Usability

  • UI optimized for exploring complexity, not hiding it
  • Support for saved views, filters, and user-level preferences
  • Progressive disclosure: casual users see summaries, advanced users can dive deep

16. Release Levels

16.1 Proof of Concept (POC)

  • Single node
  • Limited user set (50 internal testers)
  • Basic claim → scenario → evidence → verdict flow
  • Minimal federation (optional)
  • AI-generated publication (Mode 2) demonstration
  • Quality gates active

16.2 Beta 0

  • One or few nodes
  • External testers (100)
  • Expanded workflows and basic moderation
  • Initial federation experiments
  • Audit sampling implemented

16.3 Release 1.0

  • 2000+ concurrent users
  • Scalable architecture
  • Sharded vector DB
  • IPFS optional
  • High automation (AKEL assistance)
  • Multi-node federation with full sync protocol
  • Mature audit system

17. Related Pages