Review & Data Use

Version 5.8 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"

User Class Diagram