Wiki source code of User Class Diagram

Version 4.1 by Robert Schaub on 2025/12/15 16:56

Hide last authors
Robert Schaub 1.1 1 **User Class Diagram**
2
Robert Schaub 4.1 3 This diagram shows the user role hierarchy in FactHarbor v0.9.1, with corrected inheritance.
Robert Schaub 3.1 4
Robert Schaub 4.1 5 == Critical: Corrected Inheritance ==
Robert Schaub 1.1 6
Robert Schaub 4.1 7 **IMPORTANT CORRECTION**:
8 * Moderator derives from **Reviewer** (NOT from Expert)
9 * Maintainer derives from **Contributor** (NOT from Reviewer or Moderator)
Robert Schaub 1.1 10
Robert Schaub 4.1 11 **Two Independent Tracks from Contributor**:
12
13 **Content Track**: Contributor → Reviewer → (Auditor | Expert | Moderator)
14 * Focus: Content quality, validation, community management
15 * Skills: Domain expertise, review, moderation
16
17 **Technical Track**: Contributor → Maintainer
18 * Focus: System operations, configuration, deployment
19 * Skills: DevOps, system administration, technical configuration
20 * **Independent from content review** - Maintainers don't need review skills
21
22 **System Track**: Reader → Technical User
23 * Not human users - automated processes
24 * Examples: AKEL instances, sync bots, monitors
25 * Managed by Maintainers
26
Robert Schaub 3.1 27 == Role Hierarchy Explanation ==
28
29 **Base: Reader**
30 * Anyone, no login required
31 * Foundation for all other roles
32 * Can browse, search, compare, flag, and **automatically submit claims**
33
Robert Schaub 4.1 34 **Technical User** (system type, extends Reader)
35 * **Not human users** - automated system processes
36 * Examples: AKEL instances, federation sync bots, backup services, monitoring
37 * Can perform automated operations
38 * AKEL is primary implementation of Technical User pattern
39
Robert Schaub 3.1 40 **Contributor** (extends Reader)
Robert Schaub 4.1 41 * Registered human users
Robert Schaub 3.1 42 * Can submit evidence, propose scenarios, participate in discussions
43 * All Reader capabilities plus contribution rights
Robert Schaub 4.1 44 * **Two-way branching**: Can become Reviewer (content track) or Maintainer (technical track)
Robert Schaub 3.1 45
Robert Schaub 4.1 46 **Reviewer** (is-a Contributor - Content Track)
47 * Trusted community members on **content track**
Robert Schaub 3.1 48 * Can review and approve content
49 * Can validate AI-generated content (Mode 2 → Mode 3 for Tier B/C)
50 * Participates in audit sampling
Robert Schaub 4.1 51 * **Three-way branching**: Can specialize as Auditor, Expert, or Moderator
Robert Schaub 3.1 52
Robert Schaub 4.1 53 **Maintainer** (is-a Contributor - Technical Track)
54 * Core technical team members on **technical track**
55 * System configuration and deployment authority
56 * Does NOT require review skills
57 * Manages Technical Users (creates AKEL instances, sync bots, etc.)
58 * **Independent from content review hierarchy**
59
60 **Specialized Reviewer Roles**:
61
62 **Auditor** (specialized Reviewer - QA track)
63 * Dedicated quality assurance role
Robert Schaub 3.1 64 * Reviews sampled AI-generated content
65 * Validates quality gate enforcement
66 * Provides feedback for system improvement
67
Robert Schaub 4.1 68 **Expert** (specialized Reviewer - domain track)
69 * Subject matter specialists
70 * Final authority for Tier A content in their domain
Robert Schaub 3.1 71 * Can define domain-specific standards
72 * Required for Tier A "Human-Reviewed" status
73
Robert Schaub 4.1 74 **Moderator** (specialized Reviewer - process track)
75 * Community management focus
Robert Schaub 3.1 76 * Handles abuse and disputes
77 * Manages users and permissions
78 * Oversees audit system
Robert Schaub 4.1 79 * **Independent from domain expertise and technical operations**
Robert Schaub 3.1 80
Robert Schaub 4.1 81 **AKEL** (Technical User implementation)
82 * AI system implementing Technical User interface
Robert Schaub 3.1 83 * Creates drafts for Contributor review
Robert Schaub 4.1 84 * Subject to Auditor oversight
Robert Schaub 3.1 85 * Never bypasses human authority
86
87 == Key Design Principles ==
88
Robert Schaub 4.1 89 **Why Maintainer derives from Contributor (not Reviewer)**:
90 * **Different skill set**: Technical operations ≠ Content review
91 * **Separation of concerns**: Technical authority independent from editorial authority
92 * **Flexibility**: Can have technical experts without review experience
93 * **Realistic**: System admin skills and content review skills are distinct
94 * **Cleaner**: Maintainer manages Technical Users (including AKEL) - natural fit on technical track
95
96 **Why Moderator derives from Reviewer (not Expert)**:
97 * Moderators handle **process** (community management, disputes) not **domain expertise**
98 * Experts focus on **subject matter** (medical, legal, scientific validation)
99 * Allows independent oversight of content quality (Experts) vs community behavior (Moderators)
100 * Moderators don't need domain expertise to handle community issues
101
102 **Technical User Pattern**:
103 * **Purpose**: Represents automated system processes
104 * **Examples**: AKEL (AI processing), Federation sync bots, Scheduled audit tasks, Backup services, Monitoring systems, API integrations
105 * **Managed by**: Maintainers create and configure Technical Users
106 * **Authority**: Limited to programmatic operations, no human-level decisions
107
Robert Schaub 3.1 108 **Progressive Trust**:
Robert Schaub 4.1 109 * Reader → Contributor (registration)
110 * Contributor → Reviewer (content track) OR Maintainer (technical track)
111 * Reviewer → Auditor/Expert/Moderator (specializations)
112 * All appointments based on demonstrated competence
Robert Schaub 3.1 113
114 **Human Authority**:
Robert Schaub 4.1 115 * Technical Users assist but don't make human-level decisions
116 * Human Reviewers validate AI outputs
Robert Schaub 3.1 117 * Experts have final say on Tier A content
Robert Schaub 4.1 118 * Moderators have final say on community matters
119 * Maintainers have final say on technical configuration
Robert Schaub 3.1 120
Robert Schaub 4.1 121 {{include reference="Test.FactHarborV09.Specification.Diagrams.User Class Diagram_Mermaid.WebHome"}}
Robert Schaub 3.1 122