Changes for page User Class Diagram

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

From version 3.1
edited by Robert Schaub
on 2025/12/14 22:27
Change comment: Imported from XAR
To version 4.3
edited by Robert Schaub
on 2025/12/16 21:40
Change comment: Update document after refactoring.

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -FactHarbor.Specification.Diagrams.WebHome
1 +FactHarbor.Specification V0\.9\.18.Diagrams.WebHome
Content
... ... @@ -1,174 +1,139 @@
1 1  **User Class Diagram**
2 2  
3 -This diagram shows the user role hierarchy in FactHarbor, reflecting the current role model with Reader as the base role.
3 +This diagram shows the user role hierarchy in FactHarbor v0.9.1, with corrected inheritance.
4 4  
5 -{{mermaid}}
6 -classDiagram
7 - class Reader {
8 - +String SessionID
9 - +String LocalPreferences
10 - +browse() View all published content
11 - +search() Search claims and scenarios
12 - +compare() Compare scenarios
13 - +flag() Flag issues or errors
14 - +submitClaim() Submit text for automatic claim extraction
15 - }
16 -
17 - class Contributor {
18 - +String UserID
19 - +String DisplayName
20 - +String Email
21 - +DateTime RegisteredAt
22 - +submitEvidence() Attach sources
23 - +proposeScenario() Draft scenarios
24 - +comment() Participate in discussions
25 - +requestReview() Request human review
26 - }
27 -
28 - class Reviewer {
29 - +String ReviewerID
30 - +String[] Domains
31 - +DateTime AppointedAt
32 - +review() Review contributions and AI drafts
33 - +validate() Validate AI-generated content Mode 2→3
34 - +edit() Edit claims, scenarios, evidence
35 - +approve() Approve Tier B/C for Human-Reviewed
36 - +flagForExpert() Escalate to expert review
37 - +audit() Participate in sampling audits
38 - }
39 -
40 - class Auditor {
41 - +String AuditorID
42 - +String[] AuditDomains
43 - +Float AuditAccuracy
44 - +reviewSample() Review sampled AI content
45 - +validateQualityGates() Check gate enforcement
46 - +identifyPatterns() Find AI error patterns
47 - +provideFeedback() Improve system quality
48 - }
49 -
50 - class Expert {
51 - +String ExpertID
52 - +String ExpertiseArea
53 - +String[] Certifications
54 - +DateTime VerifiedAt
55 - +authoritativeApproval() Final authority Tier A
56 - +validateComplex() Complex domain validation
57 - +defineStandards() Set domain quality standards
58 - +overrideAKEL() Override AI suggestions with docs
59 - }
60 -
61 - class Moderator {
62 - +String ModeratorID
63 - +String[] Responsibilities
64 - +handleAbuse() Manage abuse reports
65 - +manageUsers() User permissions
66 - +enforceGuidelines() Community guidelines
67 - +adjustRiskTiers() Review tier assignments
68 - +overseeAudits() Audit system oversight
69 - }
70 -
71 - class Maintainer {
72 - +String MaintainerID
73 - +String[] SystemAccess
74 - +configureSystem() Technical configuration
75 - +manageRoles() Grant and revoke roles
76 - +configureAKEL() Quality gates and parameters
77 - +deployUpdates() System deployment
78 - +setPolicy() Risk tier policies
79 - }
80 -
81 - class AKEL {
82 - +String InstanceID
83 - +Enum AuthorType "AI"
84 - +extractClaims() Claim extraction
85 - +classifyRisk() Risk tier assignment
86 - +generateScenarios() Draft scenarios
87 - +searchContradictions() Mandatory counter-evidence search
88 - +validateQualityGates() Run 4 quality gates
89 - +proposeVerdicts() Draft verdicts
90 - }
91 -
92 - Reader <|-- Contributor : extends
93 - Contributor <|-- Reviewer : is-a
94 - Reviewer <|-- Auditor : specialized-role
95 - Reviewer <|-- Expert : is-a
96 - Expert <|-- Moderator : is-a
97 - Moderator <|-- Maintainer : is-a
98 -
99 - AKEL ..> Contributor : creates-drafts-for
100 - AKEL ..> Reviewer : submits-to
101 - AKEL ..> Auditor : audited-by
5 +== Critical: Corrected Inheritance ==
102 102  
103 -{{/mermaid}}
7 +**IMPORTANT CORRECTION**:
104 104  
9 +* Moderator derives from **Reviewer** (NOT from Expert)
10 +* Maintainer derives from **Contributor** (NOT from Reviewer or Moderator)
11 +
12 +**Two Independent Tracks from Contributor**:
13 +
14 +**Content Track**: Contributor → Reviewer → (Auditor | Expert | Moderator)
15 +
16 +* Focus: Content quality, validation, community management
17 +* Skills: Domain expertise, review, moderation
18 +
19 +**Technical Track**: Contributor → Maintainer
20 +
21 +* Focus: System operations, configuration, deployment
22 +* Skills: DevOps, system administration, technical configuration
23 +* **Independent from content review** - Maintainers don't need review skills
24 +
25 +**System Track**: Reader → Technical User
26 +
27 +* Not human users - automated processes
28 +* Examples: AKEL instances, sync bots, monitors
29 +* Managed by Maintainers
30 +
105 105  == Role Hierarchy Explanation ==
106 106  
107 107  **Base: Reader**
34 +
108 108  * Anyone, no login required
109 109  * Foundation for all other roles
110 110  * Can browse, search, compare, flag, and **automatically submit claims**
111 111  
39 +**Technical User** (system type, extends Reader)
40 +
41 +* **Not human users** - automated system processes
42 +* Examples: AKEL instances, federation sync bots, backup services, monitoring
43 +* Can perform automated operations
44 +* AKEL is primary implementation of Technical User pattern
45 +
112 112  **Contributor** (extends Reader)
113 -* Registered users
47 +
48 +* Registered human users
114 114  * Can submit evidence, propose scenarios, participate in discussions
115 115  * All Reader capabilities plus contribution rights
51 +* **Two-way branching**: Can become Reviewer (content track) or Maintainer (technical track)
116 116  
117 -**Reviewer** (is-a Contributor)
118 -* Trusted community members
53 +**Reviewer** (is-a Contributor - Content Track)
54 +
55 +* Trusted community members on **content track**
119 119  * Can review and approve content
120 120  * Can validate AI-generated content (Mode 2 → Mode 3 for Tier B/C)
121 121  * Participates in audit sampling
59 +* **Three-way branching**: Can specialize as Auditor, Expert, or Moderator
122 122  
123 -**Auditor** (specialized Reviewer)
124 -* Dedicated audit role
61 +**Maintainer** (is-a Contributor - Technical Track)
62 +
63 +* Core technical team members on **technical track**
64 +* System configuration and deployment authority
65 +* Does NOT require review skills
66 +* Manages Technical Users (creates AKEL instances, sync bots, etc.)
67 +* **Independent from content review hierarchy**
68 +
69 +**Specialized Reviewer Roles**:
70 +
71 +**Auditor** (specialized Reviewer - QA track)
72 +
73 +* Dedicated quality assurance role
125 125  * Reviews sampled AI-generated content
126 126  * Validates quality gate enforcement
127 127  * Provides feedback for system improvement
128 128  
129 -**Expert** (is-a Reviewer)
130 -* Domain specialists
131 -* Final authority for Tier A content
78 +**Expert** (specialized Reviewer - domain track)
79 +
80 +* Subject matter specialists
81 +* Final authority for Tier A content in their domain
132 132  * Can define domain-specific standards
133 133  * Required for Tier A "Human-Reviewed" status
134 134  
135 -**Moderator** (is-a Expert)
136 -* Cross-domain authority
85 +**Moderator** (specialized Reviewer - process track)
86 +
87 +* Community management focus
137 137  * Handles abuse and disputes
138 138  * Manages users and permissions
139 139  * Oversees audit system
91 +* **Independent from domain expertise and technical operations**
140 140  
141 -**Maintainer** (is-a Moderator)
142 -* Core team members
143 -* Technical system access
144 -* Configure AKEL and quality gates
145 -* Set platform-wide policies
93 +**AKEL** (Technical User implementation)
146 146  
147 -**AKEL** (AI System)
148 -* Separate from user hierarchy
95 +* AI system implementing Technical User interface
149 149  * Creates drafts for Contributor review
150 -* Subject to audit oversight
97 +* Subject to Auditor oversight
151 151  * Never bypasses human authority
152 152  
153 153  == Key Design Principles ==
154 154  
102 +**Why Maintainer derives from Contributor (not Reviewer)**:
103 +
104 +* **Different skill set**: Technical operations ≠ Content review
105 +* **Separation of concerns**: Technical authority independent from editorial authority
106 +* **Flexibility**: Can have technical experts without review experience
107 +* **Realistic**: System admin skills and content review skills are distinct
108 +* **Cleaner**: Maintainer manages Technical Users (including AKEL) - natural fit on technical track
109 +
110 +**Why Moderator derives from Reviewer (not Expert)**:
111 +
112 +* Moderators handle **process** (community management, disputes) not **domain expertise**
113 +* Experts focus on **subject matter** (medical, legal, scientific validation)
114 +* Allows independent oversight of content quality (Experts) vs community behavior (Moderators)
115 +* Moderators don't need domain expertise to handle community issues
116 +
117 +**Technical User Pattern**:
118 +
119 +* **Purpose**: Represents automated system processes
120 +* **Examples**: AKEL (AI processing), Federation sync bots, Scheduled audit tasks, Backup services, Monitoring systems, API integrations
121 +* **Managed by**: Maintainers create and configure Technical Users
122 +* **Authority**: Limited to programmatic operations, no human-level decisions
123 +
155 155  **Progressive Trust**:
156 -* Each level inherits capabilities from below
157 -* Additional responsibilities require appointment
158 -* Trust earned through contribution quality
159 159  
126 +* Reader → Contributor (registration)
127 +* Contributor → Reviewer (content track) OR Maintainer (technical track)
128 +* Reviewer → Auditor/Expert/Moderator (specializations)
129 +* All appointments based on demonstrated competence
130 +
160 160  **Human Authority**:
161 -* AKEL assists but doesn't decide
162 -* Human reviewers validate AI outputs
132 +
133 +* Technical Users assist but don't make human-level decisions
134 +* Human Reviewers validate AI outputs
163 163  * Experts have final say on Tier A content
136 +* Moderators have final say on community matters
137 +* Maintainers have final say on technical configuration
164 164  
165 -**Audit Oversight**:
166 -* Dedicated Auditor role for quality assurance
167 -* Sampling-based rather than reviewing everything
168 -* Feedback loop improves AI performance
169 -
170 -**Separation of Concerns**:
171 -* Technical (Maintainer) vs Editorial (Expert/Reviewer)
172 -* Domain expertise (Expert) vs Cross-domain moderation (Moderator)
173 -* Content creation (Contributor) vs Validation (Reviewer)
174 -
139 +{{include reference="FactHarbor.Archive.FactHarbor V0\.9\.23 Lost Data.Specification.Diagrams.User Class Diagram_Mermaid.WebHome"}}{{/include}}