User Class Diagram

Last modified by Robert Schaub on 2026/02/08 08:22

User Class Diagram

This diagram shows the complete user role hierarchy in FactHarbor with two independent tracks from Contributor: the Content Track (→ Reviewer → Auditor/Expert/Moderator) and the Technical Track (→ Maintainer).

Key points:

  • Moderator derives from Reviewer (not from Expert)
  • Maintainer derives from Contributor (not from Reviewer)
  • Technical Users (system processes) extend Reader, not Contributor
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 Contributor {
 +String ContributorID
 +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
 +flagForTrusted Contributor() Escalate to expert review
 +audit() Participate in sampling audits
 }
 class Moderator {
 +String ModeratorID
 +String[] AuditDomains
 +Float AuditAccuracy
 +reviewSample() Review sampled AI content
 +validateQualityGates() Check gate enforcement
 +identifyPatterns() Find AI error patterns
 +provideFeedback() Improve system quality
 }
 class Trusted Contributor {
 +String Trusted ContributorID
 +String Trusted ContributoriseArea
 +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 Moderator {
 +String ModeratorID
 +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 <|-- Contributor : content-track
 Contributor <|-- Moderator : technical-track
 Contributor <|-- Moderator : specialized-QA
 Contributor <|-- Trusted Contributor : specialized-domain
 Contributor <|-- Moderator : specialized-process
 AKEL --|> TechnicalUser : implements
 AKEL ..> Contributor : creates-drafts-for
 AKEL ..> Contributor : submits-to
 AKEL ..> Moderator : audited-by
 Moderator ..> TechnicalUser : manages