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

From version 8.1
edited by Robert Schaub
on 2025/11/27 12:55
Change comment: There is no comment for this version
To version 9.1
edited by Robert Schaub
on 2025/11/27 23:17
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,5 +1,5 @@
1 1  (((
2 -
2 +
3 3  )))
4 4  
5 5  = 5. Data Model =
... ... @@ -64,6 +64,108 @@
64 64  {{comment}} Core Data Model ERD (Mermaid, from /Specification/Diagrams/Data Model) {{/comment}}
65 65  {{include document="FactHarbor.Playground.Core Data Model ERD Page (from Specification chat).WebHome" reference="FactHarbor.Playground.data.Core Data Model ERD Page (from Specification chat).WebHome"/}}
66 66  
67 += Core Data Model ERD (Versioned) =
68 +
69 +This diagram shows the full core data model with all versioned entities.
70 +
71 +{{mermaid}}
72 +erDiagram
73 + CLAIM_CLUSTER {
74 + string ClusterID PK
75 + string EmbeddingVectorRef
76 + string Theme
77 + }
78 +
79 + CLAIM {
80 + string ClaimID PK
81 + string ClusterID FK
82 + string Status
83 + datetime CreatedAt
84 + }
85 +
86 + CLAIM_VERSION {
87 + string ClaimVersionID PK
88 + string ClaimID FK
89 + string Text
90 + string ClaimType
91 + string Domain
92 + datetime CreatedAt
93 + }
94 +
95 + SCENARIO {
96 + string ScenarioID PK
97 + string ClaimID FK
98 + string Name
99 + datetime CreatedAt
100 + }
101 +
102 + SCENARIO_VERSION {
103 + string ScenarioVersionID PK
104 + string ScenarioID FK
105 + string Definitions
106 + string Assumptions
107 + string Boundaries
108 + datetime CreatedAt
109 + }
110 +
111 + EVIDENCE {
112 + string EvidenceID PK
113 + string SourceType
114 + string URL
115 + float ReliabilityScore
116 + }
117 +
118 + EVIDENCE_VERSION {
119 + string EvidenceVersionID PK
120 + string EvidenceID FK
121 + string Summary
122 + float ReliabilityScore
123 + datetime CreatedAt
124 + }
125 +
126 + SCENARIO_EVIDENCE_LINK {
127 + string LinkID PK
128 + string ScenarioVersionID FK
129 + string EvidenceVersionID FK
130 + float Relevance
131 + string Direction
132 + }
133 +
134 + VERDICT {
135 + string VerdictID PK
136 + string ScenarioID FK
137 + }
138 +
139 + VERDICT_VERSION {
140 + string VerdictVersionID PK
141 + string VerdictID FK
142 + float Verdict
143 + float Confidence
144 + string Reasoning
145 + datetime CreatedAt
146 + }
147 +
148 + CLAIM_CLUSTER ||--o{ CLAIM : contains
149 + CLAIM ||--o{ CLAIM_VERSION : versions
150 +
151 + CLAIM ||--o{ SCENARIO : has
152 + SCENARIO ||--o{ SCENARIO_VERSION : versions
153 +
154 + EVIDENCE ||--o{ EVIDENCE_VERSION : versions
155 +
156 + SCENARIO_VERSION ||--o{ SCENARIO_EVIDENCE_LINK : links
157 + EVIDENCE_VERSION ||--o{ SCENARIO_EVIDENCE_LINK : linked
158 +
159 + SCENARIO ||--o{ VERDICT : assessed
160 + VERDICT ||--o{ VERDICT_VERSION : versions
161 +{{/mermaid}}
162 +
163 +{{info}}
164 +All key entities are explicitly versioned here (…VERSION tables).
165 +This reflects the versioning requirements in the textual Data Model chapter.
166 +{{/info}}
167 +
168 +
67 67  **Important points:**
68 68  
69 69  * Scenarios and Evidence are **linked via their versions**
... ... @@ -87,7 +87,162 @@
87 87  {{comment}} Data Use ERD (Mermaid, from /Specification/Diagrams/Data Use ERD) {{/comment}}
88 88  {{include document="FactHarbor.Playground.Data Use ERD Page (from Specification chat).WebHome" reference="FactHarbor.Playground.data.Data Use ERD Page (from Specification chat).WebHome"/}}
89 89  
192 += Data Use ERD (Roles, Review & Versioned Entities) =
90 90  
194 +This diagram shows how users, roles, and review actions relate to the
195 +versioned core entities.
196 +
197 +{{mermaid}}
198 +erDiagram
199 + %% Core clusters shown for context
200 + CLAIM_CLUSTER {
201 + string ClusterID PK
202 + string EmbeddingVectorRef
203 + string Theme
204 + }
205 +
206 + CLAIM {
207 + string ClaimID PK
208 + string ClusterID FK
209 + string Status
210 + datetime CreatedAt
211 + }
212 +
213 + CLAIM_VERSION {
214 + string ClaimVersionID PK
215 + string ClaimID FK
216 + string Text
217 + string ClaimType
218 + string Domain
219 + datetime CreatedAt
220 + }
221 +
222 + SCENARIO {
223 + string ScenarioID PK
224 + string ClaimID FK
225 + string Name
226 + datetime CreatedAt
227 + }
228 +
229 + SCENARIO_VERSION {
230 + string ScenarioVersionID PK
231 + string ScenarioID FK
232 + string Definitions
233 + string Assumptions
234 + string Boundaries
235 + datetime CreatedAt
236 + }
237 +
238 + EVIDENCE {
239 + string EvidenceID PK
240 + string SourceType
241 + string URL
242 + float ReliabilityScore
243 + }
244 +
245 + EVIDENCE_VERSION {
246 + string EvidenceVersionID PK
247 + string EvidenceID FK
248 + string Summary
249 + float ReliabilityScore
250 + datetime CreatedAt
251 + }
252 +
253 + VERDICT {
254 + string VerdictID PK
255 + string ScenarioID FK
256 + }
257 +
258 + VERDICT_VERSION {
259 + string VerdictVersionID PK
260 + string VerdictID FK
261 + float Verdict
262 + float Confidence
263 + string Reasoning
264 + datetime CreatedAt
265 + }
266 +
267 + %% Users and roles
268 + USER {
269 + string UserID PK
270 + string Handle
271 + string Email
272 + }
273 +
274 + TECHNICAL_USER {
275 + string UserID PK
276 + string SystemName
277 + }
278 +
279 + CONTRIBUTING_USER {
280 + string UserID PK
281 + string DisplayName
282 + }
283 +
284 + TRUSTED_CONTRIBUTOR {
285 + string UserID PK
286 + string TrustLevel
287 + }
288 +
289 + REVIEWER {
290 + string UserID PK
291 + string Domain
292 + }
293 +
294 + EXPERT {
295 + string UserID PK
296 + string ExpertiseArea
297 + }
298 +
299 + FEDERATION_NODE {
300 + string NodeID PK
301 + string Region
302 + }
303 +
304 + FEDERATION_ADMIN {
305 + string UserID PK
306 + string Permissions
307 + }
308 +
309 + REVIEW_ACTION {
310 + string ReviewActionID PK
311 + string UserID FK
312 + string TargetEntityType
313 + string TargetEntityVersionID
314 + string ActionType
315 + string Comment
316 + datetime Timestamp
317 + }
318 +
319 + %% Inheritance / specialization (modelled as relationships)
320 + USER ||--o{ TECHNICAL_USER : "is a"
321 + USER ||--o{ CONTRIBUTING_USER : "is a"
322 +
323 + CONTRIBUTING_USER ||--o{ TRUSTED_CONTRIBUTOR : "subset"
324 + CONTRIBUTING_USER ||--o{ REVIEWER : "subset"
325 + CONTRIBUTING_USER ||--o{ EXPERT : "subset"
326 +
327 + TECHNICAL_USER ||--o{ FEDERATION_NODE : "operates"
328 + TECHNICAL_USER ||--o{ FEDERATION_ADMIN : "administers"
329 +
330 + %% Review actions on versioned entities
331 + USER ||--o{ REVIEW_ACTION : performs
332 +
333 + REVIEW_ACTION }o--|| CLAIM_VERSION : reviews
334 + REVIEW_ACTION }o--|| SCENARIO_VERSION : reviews
335 + REVIEW_ACTION }o--|| EVIDENCE_VERSION : reviews
336 + REVIEW_ACTION }o--|| VERDICT_VERSION : reviews
337 +{{/mermaid}}
338 +
339 +{{info}}
340 +This diagram focuses on *who* uses and reviews *which* versioned entities.
341 +USER is the base type; TECHNICAL_USER and CONTRIBUTING_USER are specializations.
342 +Other roles (REVIEWER, EXPERT, TRUSTED_CONTRIBUTOR, FEDERATION_ADMIN, FEDERATION_NODE)
343 +are modelled as specializations or technical subtypes.
344 +{{/info}}
345 +
346 +
347 +
91 91  Notes:
92 92  
93 93  * Most roles (READER, CONTRIBUTOR, TRUSTED_CONTRIBUTOR, REVIEWER, MODERATOR,
... ... @@ -155,8 +155,27 @@
155 155  replication logs, and trust rules) are described in the Federation &
156 156  Decentralization chapter and build on top of the core data model defined here.
157 157  
158 -----
159 159  
416 +
417 +
418 +USER
419 +├── TECHNICAL_USER
420 +│  ├── FEDERATION_ADMIN
421 +│  └── AKEL_AGENT (optional future)
422 +
423 +READER
424 +└── CONTRIBUTING_USER
425 + ├── TRUSTED_CONTRIBUTOR
426 + ├── REVIEWER
427 + ├── EXPERT
428 + ├── MODERATOR
429 +
430 +
431 +ADMIN
432 +
433 +FEDERATION_ADMIN (administrative, but human)
434 +
435 +
160 160  == 1. Overall analysis & review of the data model ==
161 161  
162 162  === 1.1 Strengths of the current design ===