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

From version 2.1
edited by Robert Schaub
on 2025/11/27 12:05
Change comment: There is no comment for this version
To version 1.1
edited by Robert Schaub
on 2025/11/27 12:02
Change comment: There is no comment for this version

Summary

Details

Page properties
Parent
... ... @@ -1,1 +1,1 @@
1 -FactHarbor.Playground.WebHome
1 +FactHarbor.Specification.Data Model.WebHome
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.
... ... @@ -59,95 +59,124 @@
59 59  
60 60  {{mermaid}}
61 61  erDiagram
62 +
62 62   CLAIM_CLUSTER {
63 - string ClusterID PK
64 - string EmbeddingVectorRef
65 - string Theme
64 + string claimClusterId
65 + string theme
66 + string embeddingVectorRef
67 + string language
68 + datetime createdAt
66 66   }
67 67  
68 68   CLAIM {
69 - string ClaimID PK
70 - string ClusterID FK
71 - string Status
72 - datetime CreatedAt
72 + string claimId
73 + string claimClusterIdFk
74 + string status
75 + datetime createdAt
73 73   }
74 74  
75 75   CLAIM_VERSION {
76 - string ClaimVersionID PK
77 - string ClaimID FK
78 - string Text
79 - string ClaimType
80 - string Domain
81 - datetime CreatedAt
79 + string claimVersionId
80 + string claimIdFk
81 + string text
82 + string language
83 + string claimType
84 + string domain
85 + string authorType
86 + datetime createdAt
82 82   }
83 83  
84 84   SCENARIO {
85 - string ScenarioID PK
86 - string ClaimID FK
87 - string Name
88 - datetime CreatedAt
90 + string scenarioId
91 + string claimIdFk
92 + string key
93 + string title
94 + boolean isDeprecated
89 89   }
90 90  
91 91   SCENARIO_VERSION {
92 - string ScenarioVersionID PK
93 - string ScenarioID FK
94 - string Definitions
95 - string Assumptions
96 - string Boundaries
97 - datetime CreatedAt
98 + string scenarioVersionId
99 + string scenarioIdFk
100 + string versionTag
101 + string definitionsJson
102 + string assumptionsJson
103 + string boundariesJson
104 + string notes
105 + datetime createdAt
98 98   }
99 99  
100 100   EVIDENCE {
101 - string EvidenceID PK
102 - string SourceType
103 - string URL
104 - float ReliabilityScore
109 + string evidenceId
110 + string canonicalSourceId
111 + string mainUrl
112 + string evidenceType
113 + string language
105 105   }
106 106  
107 107   EVIDENCE_VERSION {
108 - string EvidenceVersionID PK
109 - string EvidenceID FK
110 - string Summary
111 - float ReliabilityScore
112 - datetime CreatedAt
117 + string evidenceVersionId
118 + string evidenceIdFk
119 + string snapshotLocation
120 + string extractionSummary
121 + string reliabilityModel
122 + datetime collectedAt
123 + datetime createdAt
113 113   }
114 114  
115 115   SCENARIO_EVIDENCE_LINK {
116 - string LinkID PK
117 - string ScenarioVersionID FK
118 - string EvidenceVersionID FK
119 - float Relevance
120 - string Direction
127 + string scenarioEvidenceLinkId
128 + string scenarioIdFk
129 + string evidenceIdFk
121 121   }
122 122  
132 + SCENARIO_EVIDENCE_LINK_VERSION {
133 + string scenarioEvidenceLinkVersionId
134 + string scenarioEvidenceLinkIdFk
135 + string scenarioVersionIdFk
136 + string evidenceVersionIdFk
137 + float relevance
138 + string direction %% SUPPORTS / CONTRADICTS / MIXED / CONTEXT
139 + string rationale
140 + datetime createdAt
141 + }
142 +
123 123   VERDICT {
124 - string VerdictID PK
125 - string ScenarioID FK
144 + string verdictId
145 + string scenarioIdFk
146 + string verdictType %% e.g. likelihood, classification
126 126   }
127 127  
128 128   VERDICT_VERSION {
129 - string VerdictVersionID PK
130 - string VerdictID FK
131 - float Verdict
132 - float Confidence
133 - string Reasoning
134 - datetime CreatedAt
150 + string verdictVersionId
151 + string verdictIdFk
152 + string scenarioVersionIdFk
153 + float probability
154 + float confidence
155 + string reasoningSummary
156 + string uncertaintyFactorsJson
157 + datetime createdAt
135 135   }
136 136  
160 + %% Relationships
161 +
137 137   CLAIM_CLUSTER ||--o{ CLAIM : contains
138 - CLAIM ||--o{ CLAIM_VERSION : versions
163 + CLAIM ||--o{ CLAIM_VERSION : has_versions
164 + CLAIM ||--o{ SCENARIO : has_scenarios
165 + SCENARIO ||--o{ SCENARIO_VERSION : has_versions
139 139  
140 - CLAIM ||--o{ SCENARIO : has
141 - SCENARIO ||--o{ SCENARIO_VERSION : versions
167 + EVIDENCE ||--o{ EVIDENCE_VERSION : has_versions
142 142  
143 - EVIDENCE ||--o{ EVIDENCE_VERSION : versions
169 + SCENARIO ||--o{ SCENARIO_EVIDENCE_LINK : may_link
170 + EVIDENCE ||--o{ SCENARIO_EVIDENCE_LINK : may_link
144 144  
145 - SCENARIO_VERSION ||--o{ SCENARIO_EVIDENCE_LINK : links
146 - EVIDENCE_VERSION ||--o{ SCENARIO_EVIDENCE_LINK : linked
172 + SCENARIO_EVIDENCE_LINK ||--o{ SCENARIO_EVIDENCE_LINK_VERSION : has_versions
147 147  
148 - SCENARIO ||--o{ VERDICT : assessed
149 - VERDICT ||--o{ VERDICT_VERSION : versions
174 + SCENARIO_VERSION ||--o{ SCENARIO_EVIDENCE_LINK_VERSION : uses_evidence
175 + EVIDENCE_VERSION ||--o{ SCENARIO_EVIDENCE_LINK_VERSION : is_used_in
150 150  
177 + SCENARIO ||--o{ VERDICT : has_verdicts
178 + VERDICT ||--o{ VERDICT_VERSION : has_versions
179 + SCENARIO_VERSION ||--o{ VERDICT_VERSION : assessed_in
151 151  {{/mermaid}}
152 152  
153 153  **Important points:**
... ... @@ -280,7 +280,7 @@
280 280  * It may inherit some links from earlier scenarios, or start empty depending
281 281   on the change classification (cosmetic vs. conceptual).
282 282  * All verdicts for that scenario are recalculated and stored as new
283 - {{code}}VERDICT_VERSION{{/code}} entries.
312 + {{code}}VERDICT_VERSION{{/code}} entries.
284 284  
285 285  * REVIEW_ACTIONs are always attached to the **exact version** that was seen by
286 286   the reviewer. This preserves a faithful audit trail if data later changes.