Changes for page User Class Diagram
Last modified by Robert Schaub on 2025/12/24 20:34
Summary
-
Page properties (1 modified, 0 added, 0 removed)
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 - classReviewAction {42 - +ActionID:String43 - +Timestamp:DateTime44 - +ActionType:Enum45 - }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 +