@learncard/credential-library 2.0.3 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/bundles/index.d.ts +5 -0
- package/dist/bundles/index.d.ts.map +1 -0
- package/dist/bundles/student.d.ts +3 -0
- package/dist/bundles/student.d.ts.map +1 -0
- package/dist/bundles/types.d.ts +24 -0
- package/dist/bundles/types.d.ts.map +1 -0
- package/dist/credential-library.cjs.development.js +10865 -611
- package/dist/credential-library.cjs.development.js.map +4 -4
- package/dist/credential-library.cjs.production.min.js +11 -1
- package/dist/credential-library.cjs.production.min.js.map +4 -4
- package/dist/credential-library.esm.js +10854 -598
- package/dist/credential-library.esm.js.map +4 -4
- package/dist/fixtures/clr/achievement-id-associations.d.ts +3 -0
- package/dist/fixtures/clr/achievement-id-associations.d.ts.map +1 -0
- package/dist/fixtures/clr/employment-record.d.ts +8 -0
- package/dist/fixtures/clr/employment-record.d.ts.map +1 -0
- package/dist/fixtures/clr/licensing-regulatory-record.d.ts +8 -0
- package/dist/fixtures/clr/licensing-regulatory-record.d.ts.map +1 -0
- package/dist/fixtures/clr/military-training-record.d.ts +8 -0
- package/dist/fixtures/clr/military-training-record.d.ts.map +1 -0
- package/dist/fixtures/clr/mixed-career-record.d.ts +8 -0
- package/dist/fixtures/clr/mixed-career-record.d.ts.map +1 -0
- package/dist/fixtures/clr/professional-organization-record.d.ts +8 -0
- package/dist/fixtures/clr/professional-organization-record.d.ts.map +1 -0
- package/dist/fixtures/clr/provisional-transcript.d.ts +7 -1
- package/dist/fixtures/clr/provisional-transcript.d.ts.map +1 -1
- package/dist/fixtures/clr/student-official-academic-transcript.d.ts +3 -0
- package/dist/fixtures/clr/student-official-academic-transcript.d.ts.map +1 -0
- package/dist/fixtures/clr/training-provider-record.d.ts +8 -0
- package/dist/fixtures/clr/training-provider-record.d.ts.map +1 -0
- package/dist/fixtures/index.d.ts +12 -1
- package/dist/fixtures/index.d.ts.map +1 -1
- package/dist/fixtures/obv3/rubric-aligned-badge.d.ts +3 -0
- package/dist/fixtures/obv3/rubric-aligned-badge.d.ts.map +1 -0
- package/dist/fixtures/obv3/student-additional-credentials.d.ts +3 -0
- package/dist/fixtures/obv3/student-additional-credentials.d.ts.map +1 -0
- package/dist/fixtures/obv3/student-sample-badges.d.ts +586 -0
- package/dist/fixtures/obv3/student-sample-badges.d.ts.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/prepare.d.ts +0 -18
- package/dist/prepare.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/__tests__/bundles.test.ts +234 -0
- package/src/__tests__/clr-non-academic.test.ts +220 -0
- package/src/__tests__/registry.test.ts +74 -0
- package/src/bundles/index.ts +19 -0
- package/src/bundles/student.ts +251 -0
- package/src/bundles/types.ts +25 -0
- package/src/fixtures/clr/README.md +142 -0
- package/src/fixtures/clr/achievement-id-associations.ts +342 -0
- package/src/fixtures/clr/employment-record.ts +487 -0
- package/src/fixtures/clr/licensing-regulatory-record.ts +388 -0
- package/src/fixtures/clr/military-training-record.ts +468 -0
- package/src/fixtures/clr/mixed-career-record.ts +814 -0
- package/src/fixtures/clr/professional-organization-record.ts +403 -0
- package/src/fixtures/clr/provisional-transcript.ts +16 -3
- package/src/fixtures/clr/student-official-academic-transcript.ts +3202 -0
- package/src/fixtures/clr/training-provider-record.ts +510 -0
- package/src/fixtures/index.ts +44 -0
- package/src/fixtures/obv3/rubric-aligned-badge.ts +105 -0
- package/src/fixtures/obv3/student-additional-credentials.ts +3912 -0
- package/src/fixtures/obv3/student-sample-badges.ts +424 -0
- package/src/index.ts +2 -0
- package/src/prepare.ts +70 -11
- package/dist/__tests__/docs-json.test.d.ts +0 -2
- package/dist/__tests__/docs-json.test.d.ts.map +0 -1
- package/dist/__tests__/issuance.test.d.ts +0 -2
- package/dist/__tests__/issuance.test.d.ts.map +0 -1
- package/dist/__tests__/registry.test.d.ts +0 -2
- package/dist/__tests__/registry.test.d.ts.map +0 -1
- package/dist/__tests__/sd-jwt-vc.test.d.ts +0 -2
- package/dist/__tests__/sd-jwt-vc.test.d.ts.map +0 -1
|
@@ -0,0 +1,468 @@
|
|
|
1
|
+
import type { CredentialFixture } from '../../types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* LC-2184: synthetic, unsigned CLR display/issuance template.
|
|
5
|
+
* Both the outer record and embedded achievements intentionally have no proof.
|
|
6
|
+
* Sign/rebind children before the outer CLR for cryptographic verification tests.
|
|
7
|
+
*/
|
|
8
|
+
export const clrMilitaryTrainingRecord: CredentialFixture = {
|
|
9
|
+
id: 'clr/military-training-record',
|
|
10
|
+
name: 'Military Training & Qualifications — Meridian Service Academy',
|
|
11
|
+
description:
|
|
12
|
+
'Explores fictional non-combat training, fieldwork roles, assessment provenance, and recognition. Makes no real service, rank, clearance, or civilian-equivalence claims. Unsigned display/issuance template; child proofs must be issued separately for a fully verifiable CLR.',
|
|
13
|
+
spec: 'clr-v2',
|
|
14
|
+
profile: 'learner-record',
|
|
15
|
+
features: ['nested-credentials', 'associations', 'results', 'evidence', 'alignment', 'source'],
|
|
16
|
+
source: 'synthetic',
|
|
17
|
+
signed: false,
|
|
18
|
+
validity: 'valid',
|
|
19
|
+
tags: [
|
|
20
|
+
'lc-2184',
|
|
21
|
+
'non-academic',
|
|
22
|
+
'synthetic',
|
|
23
|
+
'military',
|
|
24
|
+
'training',
|
|
25
|
+
'fieldwork',
|
|
26
|
+
'roles',
|
|
27
|
+
'rubric-level-only',
|
|
28
|
+
],
|
|
29
|
+
credential: {
|
|
30
|
+
'@context': [
|
|
31
|
+
'https://www.w3.org/ns/credentials/v2',
|
|
32
|
+
'https://purl.imsglobal.org/spec/clr/v2p0/context.json',
|
|
33
|
+
'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',
|
|
34
|
+
{
|
|
35
|
+
partial: {
|
|
36
|
+
'@id': 'https://purl.imsglobal.org/spec/vc/clr/vocab.html#partial',
|
|
37
|
+
'@type': 'http://www.w3.org/2001/XMLSchema#boolean',
|
|
38
|
+
},
|
|
39
|
+
identifier: {
|
|
40
|
+
'@id': 'https://purl.imsglobal.org/spec/vc/ob/vocab.html#identifier',
|
|
41
|
+
'@container': '@set',
|
|
42
|
+
},
|
|
43
|
+
},
|
|
44
|
+
],
|
|
45
|
+
id: 'urn:uuid:a0b2aae8-579c-5f54-9fab-53faebed5bf2',
|
|
46
|
+
type: ['VerifiableCredential', 'ClrCredential'],
|
|
47
|
+
name: 'Military Training & Qualifications — Meridian Service Academy',
|
|
48
|
+
description:
|
|
49
|
+
'Synthetic demonstration record as of September 1, 2026. Explores fictional non-combat training, fieldwork roles, assessment provenance, and recognition. Makes no real service, rank, clearance, or civilian-equivalence claims.',
|
|
50
|
+
issuer: {
|
|
51
|
+
id: 'did:example:lc2184-meridian-service-academy',
|
|
52
|
+
type: ['Profile'],
|
|
53
|
+
name: 'Meridian Service Training Academy (Fictional)',
|
|
54
|
+
url: 'https://meridian-service-academy.example',
|
|
55
|
+
description: 'Fictional organization used only for LearnCard display tests.',
|
|
56
|
+
},
|
|
57
|
+
validFrom: '2026-09-01T12:00:00Z',
|
|
58
|
+
partial: true,
|
|
59
|
+
credentialSubject: {
|
|
60
|
+
id: 'did:example:lc2184-alex-morgan',
|
|
61
|
+
type: ['ClrSubject'],
|
|
62
|
+
identifier: [
|
|
63
|
+
{
|
|
64
|
+
type: 'IdentityObject',
|
|
65
|
+
hashed: false,
|
|
66
|
+
identityType: 'name',
|
|
67
|
+
identityHash: 'Alex Morgan (Synthetic)',
|
|
68
|
+
},
|
|
69
|
+
],
|
|
70
|
+
verifiableCredential: [
|
|
71
|
+
{
|
|
72
|
+
'@context': [
|
|
73
|
+
'https://www.w3.org/ns/credentials/v2',
|
|
74
|
+
'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',
|
|
75
|
+
],
|
|
76
|
+
id: 'urn:uuid:9e23d75f-9bec-54ea-b4c5-4f6c53672537',
|
|
77
|
+
type: ['VerifiableCredential', 'AchievementCredential'],
|
|
78
|
+
name: 'Logistics Coordination Fundamentals',
|
|
79
|
+
description:
|
|
80
|
+
'A non-combat logistics coordination training activity at a fictional service academy.',
|
|
81
|
+
issuer: {
|
|
82
|
+
id: 'did:example:lc2184-meridian-service-academy',
|
|
83
|
+
type: ['Profile'],
|
|
84
|
+
name: 'Meridian Service Training Academy (Fictional)',
|
|
85
|
+
url: 'https://meridian-service-academy.example',
|
|
86
|
+
description:
|
|
87
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
88
|
+
},
|
|
89
|
+
validFrom: '2026-02-01T12:00:00Z',
|
|
90
|
+
credentialSubject: {
|
|
91
|
+
id: 'did:example:lc2184-alex-morgan',
|
|
92
|
+
type: ['AchievementSubject'],
|
|
93
|
+
achievement: {
|
|
94
|
+
id: 'urn:uuid:edc5c8be-252d-5c0e-b4b8-8190533aecd9',
|
|
95
|
+
type: ['Achievement'],
|
|
96
|
+
achievementType: 'Course',
|
|
97
|
+
name: 'Logistics Coordination Fundamentals',
|
|
98
|
+
description:
|
|
99
|
+
'A non-combat logistics coordination training activity at a fictional service academy.',
|
|
100
|
+
criteria: {
|
|
101
|
+
narrative:
|
|
102
|
+
'Complete the training activities and supervised handover exercise.',
|
|
103
|
+
},
|
|
104
|
+
creator: {
|
|
105
|
+
id: 'did:example:lc2184-meridian-service-academy',
|
|
106
|
+
type: ['Profile'],
|
|
107
|
+
name: 'Meridian Service Training Academy (Fictional)',
|
|
108
|
+
url: 'https://meridian-service-academy.example',
|
|
109
|
+
description:
|
|
110
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
111
|
+
},
|
|
112
|
+
humanCode: 'SYN-MILITARY-COURSE',
|
|
113
|
+
version: '1.0',
|
|
114
|
+
inLanguage: 'en',
|
|
115
|
+
tag: ['synthetic', 'lc-2184'],
|
|
116
|
+
resultDescription: [
|
|
117
|
+
{
|
|
118
|
+
id: 'urn:uuid:9346a2fe-d9a1-5802-b1fd-cc3a7dfc8a52',
|
|
119
|
+
type: ['ResultDescription'],
|
|
120
|
+
name: 'Training completion',
|
|
121
|
+
resultType: 'Status',
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
alignment: [
|
|
125
|
+
{
|
|
126
|
+
type: ['Alignment'],
|
|
127
|
+
targetName: 'Coordinates supply handovers',
|
|
128
|
+
targetCode: 'LOG-101',
|
|
129
|
+
targetFramework: 'Synthetic Workplace Capability Framework',
|
|
130
|
+
targetUrl: 'https://skills.example/framework/log-101',
|
|
131
|
+
targetDescription:
|
|
132
|
+
'Fictional framework node for testing explicit alignment display; not a real qualification equivalence.',
|
|
133
|
+
targetType: 'CFItem',
|
|
134
|
+
},
|
|
135
|
+
],
|
|
136
|
+
},
|
|
137
|
+
activityStartDate: '2026-01-05T09:00:00Z',
|
|
138
|
+
activityEndDate: '2026-01-23T17:00:00Z',
|
|
139
|
+
role: 'Trainee',
|
|
140
|
+
source: {
|
|
141
|
+
id: 'did:example:lc2184-meridian-evaluation',
|
|
142
|
+
type: ['Profile'],
|
|
143
|
+
name: 'Meridian Training Evaluation Unit (Fictional)',
|
|
144
|
+
url: 'https://meridian-evaluation.example',
|
|
145
|
+
description:
|
|
146
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
147
|
+
},
|
|
148
|
+
result: [
|
|
149
|
+
{
|
|
150
|
+
type: ['Result'],
|
|
151
|
+
resultDescription: 'urn:uuid:9346a2fe-d9a1-5802-b1fd-cc3a7dfc8a52',
|
|
152
|
+
status: 'Completed',
|
|
153
|
+
},
|
|
154
|
+
],
|
|
155
|
+
},
|
|
156
|
+
awardedDate: '2026-01-30T12:00:00Z',
|
|
157
|
+
evidence: [
|
|
158
|
+
{
|
|
159
|
+
type: ['Evidence'],
|
|
160
|
+
name: 'Training exercise narrative',
|
|
161
|
+
description: 'Synthetic assessment evidence.',
|
|
162
|
+
narrative:
|
|
163
|
+
'The participant prepared and delivered a simulated supply handover.',
|
|
164
|
+
genre: 'Assessment record',
|
|
165
|
+
audience: 'Learner and authorized reviewer',
|
|
166
|
+
},
|
|
167
|
+
],
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
'@context': [
|
|
171
|
+
'https://www.w3.org/ns/credentials/v2',
|
|
172
|
+
'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',
|
|
173
|
+
],
|
|
174
|
+
id: 'urn:uuid:7f5b4e8a-6573-5c81-901e-acf983804516',
|
|
175
|
+
type: ['VerifiableCredential', 'AchievementCredential'],
|
|
176
|
+
name: 'Supervised Logistics Exercise',
|
|
177
|
+
description:
|
|
178
|
+
'A simulated non-combat fieldwork activity with a distinct participant role.',
|
|
179
|
+
issuer: {
|
|
180
|
+
id: 'did:example:lc2184-meridian-service-academy',
|
|
181
|
+
type: ['Profile'],
|
|
182
|
+
name: 'Meridian Service Training Academy (Fictional)',
|
|
183
|
+
url: 'https://meridian-service-academy.example',
|
|
184
|
+
description:
|
|
185
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
186
|
+
},
|
|
187
|
+
validFrom: '2026-02-12T12:00:00Z',
|
|
188
|
+
credentialSubject: {
|
|
189
|
+
id: 'did:example:lc2184-alex-morgan',
|
|
190
|
+
type: ['AchievementSubject'],
|
|
191
|
+
achievement: {
|
|
192
|
+
id: 'urn:uuid:e9689b95-4922-515e-b881-e2d928a2964b',
|
|
193
|
+
type: ['Achievement'],
|
|
194
|
+
achievementType: 'Fieldwork',
|
|
195
|
+
name: 'Supervised Logistics Exercise',
|
|
196
|
+
description:
|
|
197
|
+
'A simulated non-combat fieldwork activity with a distinct participant role.',
|
|
198
|
+
criteria: {
|
|
199
|
+
narrative:
|
|
200
|
+
'Coordinate the exercise independently and provide a reflective review.',
|
|
201
|
+
},
|
|
202
|
+
creator: {
|
|
203
|
+
id: 'did:example:lc2184-meridian-service-academy',
|
|
204
|
+
type: ['Profile'],
|
|
205
|
+
name: 'Meridian Service Training Academy (Fictional)',
|
|
206
|
+
url: 'https://meridian-service-academy.example',
|
|
207
|
+
description:
|
|
208
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
209
|
+
},
|
|
210
|
+
humanCode: 'SYN-MILITARY-FIELDWORK',
|
|
211
|
+
version: '1.0',
|
|
212
|
+
inLanguage: 'en',
|
|
213
|
+
tag: ['synthetic', 'lc-2184'],
|
|
214
|
+
resultDescription: [
|
|
215
|
+
{
|
|
216
|
+
id: 'urn:uuid:5a4afeb8-7bfc-524e-a11f-67b3d444556c',
|
|
217
|
+
type: ['ResultDescription'],
|
|
218
|
+
name: 'Team coordination',
|
|
219
|
+
resultType: 'RubricCriterionLevel',
|
|
220
|
+
rubricCriterionLevel: [
|
|
221
|
+
{
|
|
222
|
+
id: 'urn:uuid:d75c1567-2bcc-5f64-9365-9909dc87d0ae',
|
|
223
|
+
type: ['RubricCriterionLevel'],
|
|
224
|
+
name: 'Developing',
|
|
225
|
+
level: '1',
|
|
226
|
+
points: '1',
|
|
227
|
+
description:
|
|
228
|
+
'Performs the activity with step-by-step assistance.',
|
|
229
|
+
alignment: [
|
|
230
|
+
{
|
|
231
|
+
type: ['Alignment'],
|
|
232
|
+
targetName: 'Developing capability level',
|
|
233
|
+
targetCode: 'LEVEL-1',
|
|
234
|
+
targetFramework:
|
|
235
|
+
'Synthetic Workplace Capability Framework',
|
|
236
|
+
targetUrl:
|
|
237
|
+
'https://skills.example/framework/level-1',
|
|
238
|
+
targetDescription:
|
|
239
|
+
'Fictional framework node for testing explicit alignment display; not a real qualification equivalence.',
|
|
240
|
+
targetType: 'CFItem',
|
|
241
|
+
},
|
|
242
|
+
],
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
id: 'urn:uuid:ac0352e0-0025-5e29-ac19-47c7cb3e67b4',
|
|
246
|
+
type: ['RubricCriterionLevel'],
|
|
247
|
+
name: 'Independent',
|
|
248
|
+
level: '2',
|
|
249
|
+
points: '2',
|
|
250
|
+
description:
|
|
251
|
+
'Performs the activity independently and explains the decisions.',
|
|
252
|
+
alignment: [
|
|
253
|
+
{
|
|
254
|
+
type: ['Alignment'],
|
|
255
|
+
targetName: 'Independent capability level',
|
|
256
|
+
targetCode: 'LEVEL-2',
|
|
257
|
+
targetFramework:
|
|
258
|
+
'Synthetic Workplace Capability Framework',
|
|
259
|
+
targetUrl:
|
|
260
|
+
'https://skills.example/framework/level-2',
|
|
261
|
+
targetDescription:
|
|
262
|
+
'Fictional framework node for testing explicit alignment display; not a real qualification equivalence.',
|
|
263
|
+
targetType: 'CFItem',
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
id: 'urn:uuid:2b8a5b1a-4e8a-52ab-9753-98c8bd20f306',
|
|
269
|
+
type: ['RubricCriterionLevel'],
|
|
270
|
+
name: 'Mentoring',
|
|
271
|
+
level: '3',
|
|
272
|
+
points: '3',
|
|
273
|
+
description:
|
|
274
|
+
'Performs the activity independently and supports another participant.',
|
|
275
|
+
alignment: [
|
|
276
|
+
{
|
|
277
|
+
type: ['Alignment'],
|
|
278
|
+
targetName: 'Mentoring capability level',
|
|
279
|
+
targetCode: 'LEVEL-3',
|
|
280
|
+
targetFramework:
|
|
281
|
+
'Synthetic Workplace Capability Framework',
|
|
282
|
+
targetUrl:
|
|
283
|
+
'https://skills.example/framework/level-3',
|
|
284
|
+
targetDescription:
|
|
285
|
+
'Fictional framework node for testing explicit alignment display; not a real qualification equivalence.',
|
|
286
|
+
targetType: 'CFItem',
|
|
287
|
+
},
|
|
288
|
+
],
|
|
289
|
+
},
|
|
290
|
+
],
|
|
291
|
+
requiredLevel: 'urn:uuid:ac0352e0-0025-5e29-ac19-47c7cb3e67b4',
|
|
292
|
+
alignment: [
|
|
293
|
+
{
|
|
294
|
+
type: ['Alignment'],
|
|
295
|
+
targetName: 'Team coordination',
|
|
296
|
+
targetCode: 'LOGISTICS-LEADERSHIP',
|
|
297
|
+
targetFramework:
|
|
298
|
+
'Synthetic Workplace Capability Framework',
|
|
299
|
+
targetUrl:
|
|
300
|
+
'https://skills.example/framework/logistics-leadership',
|
|
301
|
+
targetDescription:
|
|
302
|
+
'Fictional framework node for testing explicit alignment display; not a real qualification equivalence.',
|
|
303
|
+
targetType: 'CFItem',
|
|
304
|
+
},
|
|
305
|
+
],
|
|
306
|
+
},
|
|
307
|
+
],
|
|
308
|
+
alignment: [
|
|
309
|
+
{
|
|
310
|
+
type: ['Alignment'],
|
|
311
|
+
targetName: 'Coordinates a logistics team',
|
|
312
|
+
targetCode: 'LOG-102',
|
|
313
|
+
targetFramework: 'Synthetic Workplace Capability Framework',
|
|
314
|
+
targetUrl: 'https://skills.example/framework/log-102',
|
|
315
|
+
targetDescription:
|
|
316
|
+
'Fictional framework node for testing explicit alignment display; not a real qualification equivalence.',
|
|
317
|
+
targetType: 'CFItem',
|
|
318
|
+
},
|
|
319
|
+
],
|
|
320
|
+
},
|
|
321
|
+
activityStartDate: '2026-02-02T09:00:00Z',
|
|
322
|
+
activityEndDate: '2026-02-06T17:00:00Z',
|
|
323
|
+
role: 'Exercise Team Coordinator',
|
|
324
|
+
narrative:
|
|
325
|
+
'Coordinated a fictional warehouse handover and explained decisions during debrief.',
|
|
326
|
+
source: {
|
|
327
|
+
id: 'did:example:lc2184-meridian-evaluation',
|
|
328
|
+
type: ['Profile'],
|
|
329
|
+
name: 'Meridian Training Evaluation Unit (Fictional)',
|
|
330
|
+
url: 'https://meridian-evaluation.example',
|
|
331
|
+
description:
|
|
332
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
333
|
+
},
|
|
334
|
+
result: [
|
|
335
|
+
{
|
|
336
|
+
type: ['Result'],
|
|
337
|
+
resultDescription: 'urn:uuid:5a4afeb8-7bfc-524e-a11f-67b3d444556c',
|
|
338
|
+
achievedLevel: 'urn:uuid:2b8a5b1a-4e8a-52ab-9753-98c8bd20f306',
|
|
339
|
+
},
|
|
340
|
+
],
|
|
341
|
+
},
|
|
342
|
+
awardedDate: '2026-02-10T12:00:00Z',
|
|
343
|
+
evidence: [
|
|
344
|
+
{
|
|
345
|
+
type: ['Evidence'],
|
|
346
|
+
name: 'Exercise debrief',
|
|
347
|
+
description: 'Synthetic assessment evidence.',
|
|
348
|
+
narrative:
|
|
349
|
+
'The evaluation unit selected Mentoring level using the synthetic rubric.',
|
|
350
|
+
genre: 'Assessment record',
|
|
351
|
+
audience: 'Learner and authorized reviewer',
|
|
352
|
+
},
|
|
353
|
+
],
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
'@context': [
|
|
357
|
+
'https://www.w3.org/ns/credentials/v2',
|
|
358
|
+
'https://purl.imsglobal.org/spec/ob/v3p0/context-3.0.3.json',
|
|
359
|
+
],
|
|
360
|
+
id: 'urn:uuid:7b1934f3-c5d7-56f2-b0fe-9500cde031b4',
|
|
361
|
+
type: ['VerifiableCredential', 'AchievementCredential'],
|
|
362
|
+
name: 'Training Team Contribution Award',
|
|
363
|
+
description:
|
|
364
|
+
'A fictional training award; it does not represent a real military decoration.',
|
|
365
|
+
issuer: {
|
|
366
|
+
id: 'did:example:lc2184-meridian-service-academy',
|
|
367
|
+
type: ['Profile'],
|
|
368
|
+
name: 'Meridian Service Training Academy (Fictional)',
|
|
369
|
+
url: 'https://meridian-service-academy.example',
|
|
370
|
+
description:
|
|
371
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
372
|
+
},
|
|
373
|
+
validFrom: '2026-02-25T12:00:00Z',
|
|
374
|
+
credentialSubject: {
|
|
375
|
+
id: 'did:example:lc2184-alex-morgan',
|
|
376
|
+
type: ['AchievementSubject'],
|
|
377
|
+
achievement: {
|
|
378
|
+
id: 'urn:uuid:24936002-7a1c-54d2-aa88-2e54bd75f21b',
|
|
379
|
+
type: ['Achievement'],
|
|
380
|
+
achievementType: 'Award',
|
|
381
|
+
name: 'Training Team Contribution Award',
|
|
382
|
+
description:
|
|
383
|
+
'A fictional training award; it does not represent a real military decoration.',
|
|
384
|
+
criteria: {
|
|
385
|
+
narrative:
|
|
386
|
+
'Receive a documented nomination for supporting fellow trainees during the exercise.',
|
|
387
|
+
},
|
|
388
|
+
creator: {
|
|
389
|
+
id: 'did:example:lc2184-meridian-service-academy',
|
|
390
|
+
type: ['Profile'],
|
|
391
|
+
name: 'Meridian Service Training Academy (Fictional)',
|
|
392
|
+
url: 'https://meridian-service-academy.example',
|
|
393
|
+
description:
|
|
394
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
395
|
+
},
|
|
396
|
+
humanCode: 'SYN-MILITARY-AWARD',
|
|
397
|
+
version: '1.0',
|
|
398
|
+
inLanguage: 'en',
|
|
399
|
+
tag: ['synthetic', 'lc-2184'],
|
|
400
|
+
resultDescription: [
|
|
401
|
+
{
|
|
402
|
+
id: 'urn:uuid:ebe8f326-30fd-51e8-b1e7-6975d3198b91',
|
|
403
|
+
type: ['ResultDescription'],
|
|
404
|
+
name: 'Award outcome',
|
|
405
|
+
resultType: 'Status',
|
|
406
|
+
},
|
|
407
|
+
],
|
|
408
|
+
alignment: [
|
|
409
|
+
{
|
|
410
|
+
type: ['Alignment'],
|
|
411
|
+
targetName: 'Supports team learning',
|
|
412
|
+
targetCode: 'TEAM-101',
|
|
413
|
+
targetFramework: 'Synthetic Workplace Capability Framework',
|
|
414
|
+
targetUrl: 'https://skills.example/framework/team-101',
|
|
415
|
+
targetDescription:
|
|
416
|
+
'Fictional framework node for testing explicit alignment display; not a real qualification equivalence.',
|
|
417
|
+
targetType: 'CFItem',
|
|
418
|
+
},
|
|
419
|
+
],
|
|
420
|
+
},
|
|
421
|
+
role: 'Peer Mentor',
|
|
422
|
+
source: {
|
|
423
|
+
id: 'did:example:lc2184-meridian-evaluation',
|
|
424
|
+
type: ['Profile'],
|
|
425
|
+
name: 'Meridian Training Evaluation Unit (Fictional)',
|
|
426
|
+
url: 'https://meridian-evaluation.example',
|
|
427
|
+
description:
|
|
428
|
+
'Fictional organization used only for LearnCard display tests.',
|
|
429
|
+
},
|
|
430
|
+
result: [
|
|
431
|
+
{
|
|
432
|
+
type: ['Result'],
|
|
433
|
+
resultDescription: 'urn:uuid:ebe8f326-30fd-51e8-b1e7-6975d3198b91',
|
|
434
|
+
status: 'Completed',
|
|
435
|
+
},
|
|
436
|
+
],
|
|
437
|
+
},
|
|
438
|
+
awardedDate: '2026-02-20T12:00:00Z',
|
|
439
|
+
evidence: [
|
|
440
|
+
{
|
|
441
|
+
type: ['Evidence'],
|
|
442
|
+
name: 'Nomination narrative',
|
|
443
|
+
description: 'Synthetic assessment evidence.',
|
|
444
|
+
narrative:
|
|
445
|
+
'The training group recognized the participant for peer support in the simulated exercise.',
|
|
446
|
+
genre: 'Assessment record',
|
|
447
|
+
audience: 'Learner and authorized reviewer',
|
|
448
|
+
},
|
|
449
|
+
],
|
|
450
|
+
},
|
|
451
|
+
],
|
|
452
|
+
association: [
|
|
453
|
+
{
|
|
454
|
+
type: ['Association'],
|
|
455
|
+
associationType: 'precedes',
|
|
456
|
+
sourceId: 'urn:uuid:edc5c8be-252d-5c0e-b4b8-8190533aecd9',
|
|
457
|
+
targetId: 'urn:uuid:e9689b95-4922-515e-b881-e2d928a2964b',
|
|
458
|
+
},
|
|
459
|
+
{
|
|
460
|
+
type: ['Association'],
|
|
461
|
+
associationType: 'isRelatedTo',
|
|
462
|
+
sourceId: 'urn:uuid:e9689b95-4922-515e-b881-e2d928a2964b',
|
|
463
|
+
targetId: 'urn:uuid:24936002-7a1c-54d2-aa88-2e54bd75f21b',
|
|
464
|
+
},
|
|
465
|
+
],
|
|
466
|
+
},
|
|
467
|
+
},
|
|
468
|
+
};
|