Review & Data Use

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

Review & Data Use

This page describes the Review & Data Use model, defining User roles and how review actions are logged.

User & Role Concepts

  • USER: Base entity for all users (human or technical).
  • TECHNICAL_USER: Strictly technical identities (services, federation components, background jobs).
  • CONTRIBUTING_USER: Users that can contribute content (claims, scenarios, evidence).
    • TRUSTED_CONTRIBUTOR: Additional trust / certification properties.
    • REVIEWER: Can perform review actions on versioned entities.
    • EXPERT: Reviewer with domain‑specific expertise / higher authority.
  • FEDERATION_NODE: Technical entity representing a participating node in the federation.
  • FEDERATION_ADMIN: Administers one or more federation nodes; not necessarily a content contributor.

Review Actions

The system logs every significant action:

  • REVIEW_ACTION logs *who* did *what* on *which* versioned entity.
  • Fields: ``ReviewActionID``, ``UserID``, ``EntityType``, ``EntityVersionID``, ``ActionType``, ``Timestamp``.
  • Each entry targets a specific VERSIONED entity (e.g., ClaimVersion, ScenarioVersion).
  • Claim Clusters may also be targets of review actions (e.g., curation or moderation).

Review & Data Use ERD

User Roles

Human User Roles

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

erDiagram
    READER {
        string SessionID PK
        string LocalPreferences
        datetime LastVisit
    }
    
    CONTRIBUTOR {
        string UserID PK
        string DisplayName
        string Email
        datetime RegisteredAt
    }
    
    REVIEWER {
        string ReviewerID PK
        string UserID FK
        string[] Domains
        datetime AppointedAt
    }
    
    AUDITOR {
        string AuditorID PK
        string ReviewerID FK
        string[] AuditDomains
    }
    
    EXPERT {
        string ExpertID PK
        string ReviewerID FK
        string ExpertiseArea
        string[] Certifications
    }
    
    MODERATOR {
        string ModeratorID PK
        string ReviewerID FK
        string[] Responsibilities
    }
    
    MAINTAINER {
        string MaintainerID PK
        string UserID FK
        string[] SystemAccess
    }
    
    READER ||--|| CONTRIBUTOR : "registers-as"
    CONTRIBUTOR ||--|| REVIEWER : "content-track"
    CONTRIBUTOR ||--|| MAINTAINER : "technical-track"
    REVIEWER ||--|| AUDITOR : "QA-specialist"
    REVIEWER ||--|| EXPERT : "domain-specialist"
    REVIEWER ||--|| MODERATOR : "process-specialist"

Technical & System Users

This diagram shows system processes and their management by Maintainers.

erDiagram
    READER {
        string SessionID PK
    }
    
    CONTRIBUTOR {
        string UserID PK
    }
    
    MAINTAINER {
        string MaintainerID PK
        string UserID FK
        string[] SystemAccess
    }
    
    TECHNICAL_USER {
        string SystemID PK
        string SystemName
        string Purpose
        string CreatedBy FK
        string Status
    }
    
    AKEL {
        string InstanceID PK
        string SystemID FK
        string Version
    }
    
    FEDERATION_SYNC {
        string SyncBotID PK
        string SystemID FK
        string[] TrustedNodes
    }
    
    AUDIT_SCHEDULER {
        string SchedulerID PK
        string SystemID FK
        string[] SamplingRules
    }
    
    READER ||--|| TECHNICAL_USER : "system-type"
    CONTRIBUTOR ||--|| MAINTAINER : "technical-authority"
    MAINTAINER ||--o{ TECHNICAL_USER : "creates-manages"
    TECHNICAL_USER ||--|| AKEL : "AI-processing"
    TECHNICAL_USER ||--|| FEDERATION_SYNC : "node-sync"
    TECHNICAL_USER ||--|| AUDIT_SCHEDULER : "automated-audit"

User Class Diagram

User Class Diagram

This diagram shows the complete user role hierarchy for Test.FactHarborV09.

classDiagram
    class Reader {
        +String SessionID
        +String LocalPreferences
        +browse() View all published content
        +search() Search claims and scenarios
        +compare() Compare scenarios
        +flag() Flag issues or errors
        +submitClaim() Submit text for automatic claim extraction
    }
    
    class Contributor {
        +String UserID
        +String DisplayName
        +String Email
        +DateTime RegisteredAt
        +submitEvidence() Attach sources
        +proposeScenario() Draft scenarios
        +comment() Participate in discussions
        +requestReview() Request human review
    }
    
    class TechnicalUser {
        +String SystemID
        +String SystemName
        +String Purpose
        +automatedProcess() Execute automated tasks
        +systemIntegration() Integrate with external systems
    }
    
    class Reviewer {
        +String ReviewerID
        +String[] Domains
        +DateTime AppointedAt
        +review() Review contributions and AI drafts
        +validate() Validate AI-generated content Mode 2→3
        +edit() Edit claims, scenarios, evidence
        +approve() Approve Tier B/C for Human-Reviewed
        +flagForExpert() Escalate to expert review
        +audit() Participate in sampling audits
    }
    
    class Auditor {
        +String AuditorID
        +String[] AuditDomains
        +Float AuditAccuracy
        +reviewSample() Review sampled AI content
        +validateQualityGates() Check gate enforcement
        +identifyPatterns() Find AI error patterns
        +provideFeedback() Improve system quality
    }
    
    class Expert {
        +String ExpertID
        +String ExpertiseArea
        +String[] Certifications
        +DateTime VerifiedAt
        +authoritativeApproval() Final authority Tier A
        +validateComplex() Complex domain validation
        +defineStandards() Set domain quality standards
        +overrideAKEL() Override AI suggestions with docs
    }
    
    class Moderator {
        +String ModeratorID
        +String[] Responsibilities
        +handleAbuse() Manage abuse reports
        +manageUsers() User permissions
        +enforceGuidelines() Community guidelines
        +adjustRiskTiers() Review tier assignments
        +overseeAudits() Audit system oversight
    }
    
    class Maintainer {
        +String MaintainerID
        +String[] SystemAccess
        +configureSystem() Technical configuration
        +manageRoles() Grant and revoke roles
        +configureAKEL() Quality gates and parameters
        +deployUpdates() System deployment
        +setPolicy() Risk tier policies
        +manageTechnicalUsers() Create and manage system accounts
    }
    
    class AKEL {
        +String InstanceID
        +Enum AuthorType "AI"
        +extractClaims() Claim extraction
        +classifyRisk() Risk tier assignment
        +generateScenarios() Draft scenarios
        +searchContradictions() Mandatory counter-evidence search
        +validateQualityGates() Run 4 quality gates
        +proposeVerdicts() Draft verdicts
    }
    
    Reader <|-- Contributor : extends
    Reader <|-- TechnicalUser : system-type
    Contributor <|-- Reviewer : content-track
    Contributor <|-- Maintainer : technical-track
    Reviewer <|-- Auditor : specialized-QA
    Reviewer <|-- Expert : specialized-domain
    Reviewer <|-- Moderator : specialized-process
    
    AKEL --|> TechnicalUser : implements
    AKEL ..> Contributor : creates-drafts-for
    AKEL ..> Reviewer : submits-to
    AKEL ..> Auditor : audited-by
    Maintainer ..> TechnicalUser : manages