-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdomain-model.puml
More file actions
149 lines (132 loc) · 3.6 KB
/
Copy pathdomain-model.puml
File metadata and controls
149 lines (132 loc) · 3.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
@startuml
hide circle
skinparam linetype ortho
skinparam shadowing false
title fast-mlsirm logical reusable-domain model
entity assessment_specification {
* assessment_id : opaque string
* assessment_version : semantic version
* assessment_fingerprint : sha256
--
construct_id : string
rubric_fingerprint : sha256
}
entity rubric_specification {
* rubric_id : opaque string
* rubric_version : semantic version
* rubric_fingerprint : sha256
--
construct_id : string
response_format : enum
}
entity rubric_level {
* rubric_level_id : opaque string
--
rubric_fingerprint : sha256
score_value : ordinal value
label_text : string
}
entity item_blueprint {
* blueprint_id : opaque string
* blueprint_fingerprint : sha256
--
rubric_fingerprint : sha256
task_family : string
evidence_mode : enum
difficulty_band : enum
}
entity item_candidate {
* candidate_id : opaque string
* candidate_fingerprint : sha256
--
blueprint_fingerprint : sha256
contract_fingerprint : sha256
lifecycle_state : enum
}
entity engine_descriptor {
* engine_id : opaque string
* engine_fingerprint : sha256
--
engine_kind : enum
model_version : string
}
entity scoring_request {
* request_id : opaque string
* request_fingerprint : sha256
--
assessment_fingerprint : sha256
rubric_fingerprint : sha256
task_id : opaque string
task_revision_fingerprint : sha256
respondent_id : opaque string
response_id : opaque string
response_content_fingerprint : sha256
}
entity score_observation {
* observation_id : opaque string
* observation_fingerprint : sha256
--
request_fingerprint : sha256
engine_fingerprint : sha256
criterion_id : opaque string
observation_state : enum
score_value : optional ordinal value
}
entity calibration_design {
* design_id : opaque string
* design_fingerprint : sha256
--
criterion_id : opaque string
assessment_fingerprint : sha256
connected_state : enum
}
entity calibration_design_input {
* design_input_id : opaque string
* design_input_fingerprint : sha256
--
design_fingerprint : sha256
observation_fingerprint : sha256
inclusion_role : enum
source_revision : semantic version
}
entity calibration_report {
* report_id : opaque string
* report_fingerprint : sha256
--
design_fingerprint : sha256
model_family : string
convergence_state : enum
}
entity item_bank_entry {
* bank_entry_id : opaque string
* bank_revision_fingerprint : sha256
--
candidate_fingerprint : sha256
lifecycle_state : enum
calibration_report_fingerprint : sha256
}
entity model_comparison_evidence {
* comparison_id : opaque string
* comparison_fingerprint : sha256
--
model_relation : enum
selection_state : enum
}
rubric_specification ||--|{ rubric_level : defines
rubric_specification ||--o{ assessment_specification : referenced_by
rubric_specification ||--o{ item_blueprint : compiles
item_blueprint ||--o{ item_candidate : generates
assessment_specification ||--o{ scoring_request : governs
engine_descriptor ||--o{ score_observation : produces
scoring_request ||--o{ score_observation : binds
calibration_design ||--o{ calibration_design_input : selects
score_observation ||--o{ calibration_design_input : included_in
calibration_design ||--o{ calibration_report : fitted_as
item_candidate ||--o{ item_bank_entry : versioned_as
calibration_report ||--o{ item_bank_entry : supports
calibration_report }o--o{ model_comparison_evidence : compared_by
note bottom
This is a logical domain ERD, not a hosted database schema.
Persistence, tenant tables, participant identity, sessions and consent are owned downstream.
end note
@enduml