Changes for page Data Model (From Specification Chat)
Last modified by Robert Schaub on 2025/12/24 20:35
From version 3.1
edited by Robert Schaub
on 2025/11/27 12:08
on 2025/11/27 12:08
Change comment:
There is no comment for this version
To version 2.1
edited by Robert Schaub
on 2025/11/27 12:05
on 2025/11/27 12:05
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -41,10 +41,10 @@ 41 41 (scenarios live at the *claim* level, not per individual phrasing). 42 42 * Verdicts and Scenario–Evidence links are always attached to **versions**: 43 43 * {{code}}SCENARIO_VERSION{{/code}} + 44 -{{code}}EVIDENCE_VERSION{{/code}} → 45 -{{code}}SCENARIO_EVIDENCE_LINK_VERSION{{/code}} 44 + {{code}}EVIDENCE_VERSION{{/code}} → 45 + {{code}}SCENARIO_EVIDENCE_LINK_VERSION{{/code}} 46 46 * {{code}}SCENARIO_VERSION{{/code}} → 47 -{{code}}VERDICT_VERSION{{/code}} 47 + {{code}}VERDICT_VERSION{{/code}} 48 48 49 49 This ensures that when a Scenario or Evidence changes, old verdicts and links 50 50 remain intact as historical records and can be revisited. ... ... @@ -172,145 +172,83 @@ 172 172 173 173 {{mermaid}} 174 174 erDiagram 175 - %% Core clusters shown for context 176 - CLAIM_CLUSTER { 177 - string ClusterID PK 178 - string EmbeddingVectorRef 179 - string Theme 180 - } 181 181 182 - CLAIM { 183 - string ClaimID PK 184 - string ClusterID FK 185 - string Status 186 - datetime CreatedAt 176 + USER { 177 + string userId 178 + string displayName 179 + string email 180 + string userType %% "human" or "technical" 181 + datetime createdAt 187 187 } 188 188 189 - CLAIM_VERSION { 190 - string ClaimVersionID PK 191 - string ClaimID FK 192 - string Text 193 - string ClaimType 194 - string Domain 195 - datetime CreatedAt 184 + TECHNICAL_USER { 185 + string technicalUserId 186 + string userIdFk 187 + string description 188 + string systemIdentifier 196 196 } 197 197 198 - SCENARIO {199 - string ScenarioID PK200 - string C laimID FK201 - string Name202 - datetimeCreatedAt191 + ROLE { 192 + string roleId 193 + string code %% e.g. READER, CONTRIBUTOR, REVIEWER, TRUSTED_CONTRIBUTOR, MODERATOR, SYSTEM_ADMIN, FEDERATION_OPERATOR, FEDERATION_ADMIN 194 + string description 195 + boolean isFederationRole 203 203 } 204 204 205 - SCENARIO_VERSION { 206 - string ScenarioVersionID PK 207 - string ScenarioID FK 208 - string Definitions 209 - string Assumptions 210 - string Boundaries 211 - datetime CreatedAt 198 + USER_ROLE_MEMBERSHIP { 199 + string membershipId 200 + string userIdFk 201 + string roleIdFk 202 + datetime grantedAt 203 + string grantedByUserIdFk 212 212 } 213 213 214 - EVIDENCE { 215 - string EvidenceID PK 216 - string SourceType 217 - string URL 218 - float ReliabilityScore 206 + REVIEW_ACTION { 207 + string reviewActionId 208 + string subjectType %% e.g. CLAIM_VERSION, SCENARIO_VERSION... 209 + string subjectVersionId 210 + string actionType %% APPROVE, REJECT, FLAG, COMMENT, REQUEST_CHANGES... 211 + string outcome %% ACCEPTED, REJECTED, ESCALATED... 212 + string comment 213 + string createdByUserIdFk 214 + datetime createdAt 219 219 } 220 220 221 - EVIDENCE_VERSION { 222 - string EvidenceVersionID PK 223 - string EvidenceID FK 224 - string Summary 225 - float ReliabilityScore 226 - datetime CreatedAt 227 - } 217 + %% Versioned data entities (references from the core model) 228 228 229 - VERDICT { 230 - string VerdictID PK 231 - string ScenarioID FK 219 + CLAIM_VERSION { 220 + string claimVersionId 232 232 } 233 233 234 - VERDICT_VERSION { 235 - string VerdictVersionID PK 236 - string VerdictID FK 237 - float Verdict 238 - float Confidence 239 - string Reasoning 240 - datetime CreatedAt 223 + SCENARIO_VERSION { 224 + string scenarioVersionId 241 241 } 242 242 243 - %% Users and roles 244 - USER { 245 - string UserID PK 246 - string Handle 247 - string Email 227 + EVIDENCE_VERSION { 228 + string evidenceVersionId 248 248 } 249 249 250 - TECHNICAL_USER { 251 - string UserID PK 252 - string SystemName 231 + SCENARIO_EVIDENCE_LINK_VERSION { 232 + string scenarioEvidenceLinkVersionId 253 253 } 254 254 255 - CONTRIBUTING_USER { 256 - string UserID PK 257 - string DisplayName 235 + VERDICT_VERSION { 236 + string verdictVersionId 258 258 } 259 259 260 - TRUSTED_CONTRIBUTOR { 261 - string UserID PK 262 - string TrustLevel 263 - } 239 + %% Relationships 264 264 265 - REVIEWER { 266 - string UserID PK 267 - string Domain 268 - } 241 + USER ||--o{ TECHNICAL_USER : may_be 242 + USER ||--o{ USER_ROLE_MEMBERSHIP : has_role 243 + ROLE ||--o{ USER_ROLE_MEMBERSHIP : assigned_to 269 269 270 - EXPERT { 271 - string UserID PK 272 - string ExpertiseArea 273 - } 274 - 275 - FEDERATION_NODE { 276 - string NodeID PK 277 - string Region 278 - } 279 - 280 - FEDERATION_ADMIN { 281 - string UserID PK 282 - string Permissions 283 - } 284 - 285 - REVIEW_ACTION { 286 - string ReviewActionID PK 287 - string UserID FK 288 - string TargetEntityType 289 - string TargetEntityVersionID 290 - string ActionType 291 - string Comment 292 - datetime Timestamp 293 - } 294 - 295 - %% Inheritance / specialization (modelled as relationships) 296 - USER ||--o{ TECHNICAL_USER : "is a" 297 - USER ||--o{ CONTRIBUTING_USER : "is a" 298 - 299 - CONTRIBUTING_USER ||--o{ TRUSTED_CONTRIBUTOR : "subset" 300 - CONTRIBUTING_USER ||--o{ REVIEWER : "subset" 301 - CONTRIBUTING_USER ||--o{ EXPERT : "subset" 302 - 303 - TECHNICAL_USER ||--o{ FEDERATION_NODE : "operates" 304 - TECHNICAL_USER ||--o{ FEDERATION_ADMIN : "administers" 305 - 306 - %% Review actions on versioned entities 307 307 USER ||--o{ REVIEW_ACTION : performs 308 308 309 - REVIEW_ACTION}o--||CLAIM_VERSION : reviews310 - REVIEW_ACTION }o--||SCENARIO_VERSION : reviews311 - REVIEW_ACTION}o--|| EVIDENCE_VERSION : reviews312 - REVIE W_ACTION}o--||VERDICT_VERSION : reviews313 - 247 + CLAIM_VERSION ||--o{ REVIEW_ACTION : is_reviewed_in 248 + SCENARIO_VERSION ||--o{ REVIEW_ACTION : is_reviewed_in 249 + EVIDENCE_VERSION ||--o{ REVIEW_ACTION : is_reviewed_in 250 + SCENARIO_EVIDENCE_LINK_VERSION ||--o{ REVIEW_ACTION : is_reviewed_in 251 + VERDICT_VERSION ||--o{ REVIEW_ACTION : is_reviewed_in 314 314 {{/mermaid}} 315 315 316 316 Notes: ... ... @@ -342,7 +342,7 @@ 342 342 * It may inherit some links from earlier scenarios, or start empty depending 343 343 on the change classification (cosmetic vs. conceptual). 344 344 * All verdicts for that scenario are recalculated and stored as new 345 -{{code}}VERDICT_VERSION{{/code}} entries. 283 + {{code}}VERDICT_VERSION{{/code}} entries. 346 346 347 347 * REVIEW_ACTIONs are always attached to the **exact version** that was seen by 348 348 the reviewer. This preserves a faithful audit trail if data later changes.