Changes for page User Class Diagram

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

From version 1.1
edited by Robert Schaub
on 2025/12/12 09:32
Change comment: Imported from XAR
To version 3.1
edited by Robert Schaub
on 2025/12/14 22:27
Change comment: Imported from XAR

Summary

Details

Page properties
Content
... ... @@ -1,57 +1,174 @@
1 1  **User Class Diagram**
2 2  
3 -{{plantuml}}
4 -@startuml
5 -abstract class User {
6 - +UserID: String
7 - +DisplayName: String
8 - +Email: String
9 - +Type: Enum
10 -}
3 +This diagram shows the user role hierarchy in FactHarbor, reflecting the current role model with Reader as the base role.
11 11  
12 -class TechnicalUser {
13 - +SystemName: String
14 -}
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
15 15  
16 -class ContributingUser {
17 - +PrimaryRole: String
18 -}
103 +{{/mermaid}}
19 19  
20 -class TrustedContributor {
21 - +CertificationLevel: String
22 -}
105 +== Role Hierarchy Explanation ==
23 23  
24 -class Reviewer {
25 - +Domain: String
26 -}
107 +**Base: Reader**
108 +* Anyone, no login required
109 +* Foundation for all other roles
110 +* Can browse, search, compare, flag, and **automatically submit claims**
27 27  
28 -class Expert {
29 - +ExpertiseArea: String
30 -}
112 +**Contributor** (extends Reader)
113 +* Registered users
114 +* Can submit evidence, propose scenarios, participate in discussions
115 +* All Reader capabilities plus contribution rights
31 31  
32 -class FederationAdmin {
33 - +Permissions: List
34 -}
117 +**Reviewer** (is-a Contributor)
118 +* Trusted community members
119 +* Can review and approve content
120 +* Can validate AI-generated content (Mode 2 → Mode 3 for Tier B/C)
121 +* Participates in audit sampling
35 35  
36 -class FederationNode {
37 - +NodeID: String
38 - +Status: String
39 -}
123 +**Auditor** (specialized Reviewer)
124 +* Dedicated audit role
125 +* Reviews sampled AI-generated content
126 +* Validates quality gate enforcement
127 +* Provides feedback for system improvement
40 40  
41 -class ReviewAction {
42 - +ActionID: String
43 - +Timestamp: DateTime
44 - +ActionType: Enum
45 -}
129 +**Expert** (is-a Reviewer)
130 +* Domain specialists
131 +* Final authority for Tier A content
132 +* Can define domain-specific standards
133 +* Required for Tier A "Human-Reviewed" status
46 46  
47 -User <|-- TechnicalUser
48 -User <|-- ContributingUser
49 -ContributingUser <|-- TrustedContributor
50 -ContributingUser <|-- Reviewer
51 -Reviewer <|-- Expert
52 -TechnicalUser <|-- FederationAdmin
135 +**Moderator** (is-a Expert)
136 +* Cross-domain authority
137 +* Handles abuse and disputes
138 +* Manages users and permissions
139 +* Oversees audit system
53 53  
54 -FederationAdmin --> FederationNode : administers
55 -User --> ReviewAction : performs
56 -@enduml
57 -{{/plantuml}}
141 +**Maintainer** (is-a Moderator)
142 +* Core team members
143 +* Technical system access
144 +* Configure AKEL and quality gates
145 +* Set platform-wide policies
146 +
147 +**AKEL** (AI System)
148 +* Separate from user hierarchy
149 +* Creates drafts for Contributor review
150 +* Subject to audit oversight
151 +* Never bypasses human authority
152 +
153 +== Key Design Principles ==
154 +
155 +**Progressive Trust**:
156 +* Each level inherits capabilities from below
157 +* Additional responsibilities require appointment
158 +* Trust earned through contribution quality
159 +
160 +**Human Authority**:
161 +* AKEL assists but doesn't decide
162 +* Human reviewers validate AI outputs
163 +* Experts have final say on Tier A content
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 +