@mitre/hdf-schema 2.0.0 → 3.0.1

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.
Files changed (34) hide show
  1. package/README.md +14 -2
  2. package/dist/helpers.js +4 -44
  3. package/dist/index.d.ts +6 -8
  4. package/dist/index.js +3 -6
  5. package/dist/schemas/hdf-amendments.schema.json +33 -33
  6. package/dist/schemas/hdf-baseline.schema.json +38 -38
  7. package/dist/schemas/hdf-comparison.schema.json +88 -88
  8. package/dist/schemas/hdf-evidence-package.schema.json +32 -32
  9. package/dist/schemas/hdf-plan.schema.json +38 -38
  10. package/dist/schemas/hdf-results.schema.json +67 -67
  11. package/dist/schemas/hdf-system.schema.json +47 -47
  12. package/package.json +25 -20
  13. package/src/schemas/hdf-amendments.schema.json +7 -7
  14. package/src/schemas/hdf-baseline.schema.json +10 -10
  15. package/src/schemas/hdf-comparison.schema.json +13 -13
  16. package/src/schemas/hdf-evidence-package.schema.json +6 -6
  17. package/src/schemas/hdf-plan.schema.json +6 -6
  18. package/src/schemas/hdf-results.schema.json +24 -24
  19. package/src/schemas/hdf-system.schema.json +9 -9
  20. package/src/schemas/primitives/amendments.schema.json +7 -7
  21. package/src/schemas/primitives/common.schema.json +1 -1
  22. package/src/schemas/primitives/comparison.schema.json +6 -6
  23. package/src/schemas/primitives/component.schema.json +6 -6
  24. package/src/schemas/primitives/data-flow.schema.json +1 -1
  25. package/src/schemas/primitives/extensions.schema.json +13 -13
  26. package/src/schemas/primitives/parameter.schema.json +1 -1
  27. package/src/schemas/primitives/plan.schema.json +2 -2
  28. package/src/schemas/primitives/platform.schema.json +1 -1
  29. package/src/schemas/primitives/result.schema.json +1 -1
  30. package/src/schemas/primitives/runner.schema.json +2 -2
  31. package/src/schemas/primitives/statistics.schema.json +1 -1
  32. package/src/schemas/primitives/system.schema.json +2 -2
  33. package/src/schemas/primitives/target.schema.json +3 -3
  34. package/LICENSE.md +0 -55
package/README.md CHANGED
@@ -138,6 +138,18 @@ pnpm build:schemas
138
138
  pnpm build:types
139
139
  ```
140
140
 
141
- ## Schema Version
141
+ ## Versioning
142
142
 
143
- This package uses **JSON Schema draft/2020-12**.
143
+ This package has two version numbers that serve different purposes:
144
+
145
+ - **Package version** (`package.json` `version`): Follows npm semver. Bumped on every release — bug fixes, new helpers, type generation improvements, dependency updates. This is what consumers see in `npm install @mitre/hdf-schema@3.0.1`.
146
+
147
+ - **Schema version** (`$id` URL in each `.schema.json`): Identifies the schema structure itself. Only changes when the schema structure changes — new fields, removed fields, type changes, constraint changes. Example: `https://mitre.github.io/hdf-libs/schemas/hdf-results/v3.0.0`.
148
+
149
+ These versions are aligned at major boundaries (both are 3.x to signal this is the successor to the heimdall2 v2.x ecosystem) but can diverge at minor/patch levels. A package patch release (e.g., 3.0.1 → 3.0.2) that only fixes a converter bug or updates a helper function does not change the schema `$id`. A schema structural change (e.g., adding a new required field) bumps the schema version in the `$id` URL regardless of where the package version stands.
150
+
151
+ The `$id` URLs are also the canonical hosted location for each schema: `https://mitre.github.io/hdf-libs/schemas/`.
152
+
153
+ ### JSON Schema dialect
154
+
155
+ All schemas use **JSON Schema draft/2020-12**.
package/dist/helpers.js CHANGED
@@ -142,50 +142,10 @@ export function createSourceLocation(ref, line) {
142
142
  return { ref, line };
143
143
  }
144
144
 
145
- /**
146
- * Map a severity string to an impact score.
147
- *
148
- * Impact bands align with CVSS 3.x severity ratings normalized to 0-1:
149
- * critical=0.9 (CVSS 9.0), high=0.7 (CVSS 7.0), medium=0.5 (CVSS 5.0),
150
- * low=0.3 (CVSS 3.0), informational=0.0 (CVSS 0.0)
151
- *
152
- * Each value is the floor of its band, preserving sub-band precision:
153
- * 0.9-1.0=critical, 0.7-0.8=high, 0.4-0.6=medium, 0.1-0.3=low, 0.0=informational
154
- *
155
- * @param {string} severity - Severity level
156
- * @returns {number} Impact score between 0.0 and 1.0
157
- */
158
- export function severityToImpact(severity) {
159
- const normalized = severity.toLowerCase();
160
- switch (normalized) {
161
- case 'critical':
162
- return 0.9;
163
- case 'high':
164
- return 0.7;
165
- case 'medium':
166
- return 0.5;
167
- case 'low':
168
- return 0.3;
169
- case 'informational':
170
- case 'info':
171
- return 0.0;
172
- default:
173
- return 0.5;
174
- }
175
- }
176
-
177
- /**
178
- * Map an impact score to a severity string
179
- * @param {number} impact - Impact score (0.0 to 1.0)
180
- * @returns {string} Severity level
181
- */
182
- export function impactToSeverity(impact) {
183
- if (impact >= 0.9) return 'critical';
184
- if (impact >= 0.7) return 'high';
185
- if (impact >= 0.4) return 'medium';
186
- if (impact > 0.0) return 'low';
187
- return 'informational';
188
- }
145
+ // Re-export severity mapping from @mitre/hdf-utilities (canonical location).
146
+ // Kept here for backwards compatibility consumers importing from
147
+ // @mitre/hdf-schema/helpers still get these functions.
148
+ export { severityToImpact, impactToSeverity } from '@mitre/hdf-utilities';
189
149
 
190
150
  /**
191
151
  * Compute the effective status of a requirement from its results and impact.
package/dist/index.d.ts CHANGED
@@ -15,14 +15,14 @@ export type { HdfBaseline, BaselineRequirement } from './ts/hdf-baseline.js';
15
15
  // No export * from hdf-comparison — shared types duplicate hdf-results.
16
16
  export type {
17
17
  HdfComparison, RequirementDiff, ComparisonSummary, Source,
18
- Annotation, BaselineDiff, BaselineRef, FieldChange, MatchingConfig,
19
- ScannerConflict, SeverityBreakdown, StateCounts, PerSourceSummary,
20
- DescriptionElement, Value,
18
+ Annotation, BaselineDiff, BaselineRef, ComponentDiff, FieldChange, MatchingConfig,
19
+ PackageDiff, ScannerConflict, SeverityBreakdown, StateCounts, PerSourceSummary,
20
+ Value,
21
21
  } from './ts/hdf-comparison.js';
22
22
  export {
23
- AnnotationCategory, CapturedByType, ChangeReason, ComparisonMode,
23
+ AnnotationCategory, BaselineDiffState, ChangeReason, ComparisonMode,
24
24
  ConflictResolution, FormatVersion, MatchStrategy, Op, OriginalFormat,
25
- RequirementState, SourceRole, State, TypeEnum,
25
+ PackageDiffState, RequirementState, SourceRole, Type,
26
26
  } from './ts/hdf-comparison.js';
27
27
 
28
28
  // Re-export system types
@@ -43,12 +43,10 @@ export {
43
43
  } from './ts/hdf-plan.js';
44
44
 
45
45
  // Re-export amendments types
46
+ // No OverrideType enum — already exported by hdf-results via export *.
46
47
  export type {
47
48
  HdfAmendments, StandaloneOverride,
48
49
  } from './ts/hdf-amendments.js';
49
- export {
50
- OverrideType,
51
- } from './ts/hdf-amendments.js';
52
50
 
53
51
  // Re-export evidence-package types
54
52
  export type {
package/dist/index.js CHANGED
@@ -8,9 +8,9 @@ export * from './ts/hdf-results.js';
8
8
 
9
9
  // Re-export comparison-specific enums (runtime values not in hdf-results)
10
10
  export {
11
- AnnotationCategory, CapturedByType, ChangeReason, ComparisonMode,
11
+ AnnotationCategory, BaselineDiffState, ChangeReason, ComparisonMode,
12
12
  ConflictResolution, FormatVersion, MatchStrategy, Op, OriginalFormat,
13
- RequirementState, SourceRole, State, TypeEnum,
13
+ PackageDiffState, RequirementState, SourceRole, Type,
14
14
  } from './ts/hdf-comparison.js';
15
15
 
16
16
  // Re-export system enums (runtime values)
@@ -23,10 +23,7 @@ export {
23
23
  PlanType,
24
24
  } from './ts/hdf-plan.js';
25
25
 
26
- // Re-export amendments enums (runtime values)
27
- export {
28
- OverrideType,
29
- } from './ts/hdf-amendments.js';
26
+ // No amendments enum re-export OverrideType already from hdf-results via export *.
30
27
 
31
28
  // Re-export evidence-package enums (runtime values)
32
29
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://mitre.github.io/hdf-libs/schemas/hdf-amendments/v2.0.0",
3
+ "$id": "https://mitre.github.io/hdf-libs/schemas/hdf-amendments/v3.0.0",
4
4
  "title": "HDF Amendments",
5
5
  "description": "Waivers, attestations, exceptions, and POA&Ms that modify requirement compliance status. Amendments are standalone documents that can be applied to results via merge operations.",
6
6
  "type": "object",
@@ -29,18 +29,18 @@
29
29
  "description": "URI to the hdf-system document these amendments apply to."
30
30
  },
31
31
  "appliedBy": {
32
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Identity",
32
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
33
33
  "description": "Default identity of who created this amendments document. Individual overrides may specify their own appliedBy."
34
34
  },
35
35
  "approvedBy": {
36
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Identity",
36
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
37
37
  "description": "Identity of the authorizing official who approved these amendments."
38
38
  },
39
39
  "overrides": {
40
40
  "type": "array",
41
41
  "minItems": 1,
42
42
  "items": {
43
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v2.0.0#/$defs/Standalone_Override"
43
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0#/$defs/Standalone_Override"
44
44
  },
45
45
  "description": "The set of amendments (waivers, attestations, exceptions, POA&Ms)."
46
46
  },
@@ -52,11 +52,11 @@
52
52
  "description": "Optional key-value labels for grouping and querying amendments."
53
53
  },
54
54
  "integrity": {
55
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v2.0.0#/$defs/Integrity",
55
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Integrity",
56
56
  "description": "Cryptographic integrity information for verifying this amendments document has not been tampered with."
57
57
  },
58
58
  "signature": {
59
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Signature",
59
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
60
60
  "description": "Document-level digital signature covering all amendments."
61
61
  },
62
62
  "version": {
@@ -64,7 +64,7 @@
64
64
  "description": "Version of this amendments document."
65
65
  },
66
66
  "generator": {
67
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v2.0.0#/$defs/Generator",
67
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0#/$defs/Generator",
68
68
  "description": "Information about the tool that generated this document."
69
69
  }
70
70
  },
@@ -101,9 +101,9 @@
101
101
  }
102
102
  ],
103
103
  "$defs": {
104
- "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0": {
104
+ "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0": {
105
105
  "$schema": "https://json-schema.org/draft/2020-12/schema",
106
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0",
106
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0",
107
107
  "title": "HDF Common Primitives",
108
108
  "description": "Shared building blocks used by hdf-results and hdf-baseline schemas.",
109
109
  "$defs": {
@@ -919,9 +919,9 @@
919
919
  }
920
920
  }
921
921
  },
922
- "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v2.0.0": {
922
+ "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0": {
923
923
  "$schema": "https://json-schema.org/draft/2020-12/schema",
924
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v2.0.0",
924
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0",
925
925
  "title": "HDF Amendment Primitives",
926
926
  "description": "Types for waivers, attestations, exceptions, and POA&Ms that modify requirement compliance status.",
927
927
  "$defs": {
@@ -963,7 +963,7 @@
963
963
  "description": "Name of the baseline containing the requirement. Required when the system has multiple baselines with potentially overlapping requirement IDs."
964
964
  },
965
965
  "status": {
966
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v2.0.0#/$defs/Result_Status",
966
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
967
967
  "description": "The new status this amendment sets. For POA&Ms, this is the current status (POA&Ms track work, they don't change status)."
968
968
  },
969
969
  "reason": {
@@ -971,7 +971,7 @@
971
971
  "description": "Justification for this amendment."
972
972
  },
973
973
  "appliedBy": {
974
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Identity",
974
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
975
975
  "description": "Identity of who applied this amendment."
976
976
  },
977
977
  "appliedAt": {
@@ -987,22 +987,22 @@
987
987
  "evidence": {
988
988
  "type": "array",
989
989
  "items": {
990
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Evidence"
990
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
991
991
  },
992
992
  "description": "Supporting evidence (screenshots, logs, URLs, documents)."
993
993
  },
994
994
  "signature": {
995
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Signature",
995
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
996
996
  "description": "Digital signature for non-repudiation."
997
997
  },
998
998
  "previousChecksum": {
999
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Checksum",
999
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
1000
1000
  "description": "Checksum of the prior amendment in the chain. Creates a tamper-evident linked list. Null for the first amendment."
1001
1001
  },
1002
1002
  "milestones": {
1003
1003
  "type": "array",
1004
1004
  "items": {
1005
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Milestone"
1005
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
1006
1006
  },
1007
1007
  "description": "Remediation milestones (primarily for POA&M type amendments)."
1008
1008
  },
@@ -1083,9 +1083,9 @@
1083
1083
  }
1084
1084
  }
1085
1085
  },
1086
- "https://mitre.github.io/hdf-libs/schemas/primitives/result/v2.0.0": {
1086
+ "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0": {
1087
1087
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1088
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v2.0.0",
1088
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0",
1089
1089
  "title": "HDF Result Primitives",
1090
1090
  "description": "Types for representing assessment results and statuses.",
1091
1091
  "$defs": {
@@ -1216,9 +1216,9 @@
1216
1216
  }
1217
1217
  }
1218
1218
  },
1219
- "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v2.0.0": {
1219
+ "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0": {
1220
1220
  "$schema": "https://json-schema.org/draft/2020-12/schema",
1221
- "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v2.0.0",
1221
+ "$id": "https://mitre.github.io/hdf-libs/schemas/primitives/extensions/v3.0.0",
1222
1222
  "title": "HDF Extension Primitives",
1223
1223
  "description": "Extension types for waivers, attestations, generators, and integrity.",
1224
1224
  "$defs": {
@@ -1235,11 +1235,11 @@
1235
1235
  ],
1236
1236
  "properties": {
1237
1237
  "type": {
1238
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v2.0.0#/$defs/Override_Type",
1238
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/amendments/v3.0.0#/$defs/Override_Type",
1239
1239
  "description": "The type of status override applied to this requirement."
1240
1240
  },
1241
1241
  "status": {
1242
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v2.0.0#/$defs/Result_Status",
1242
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/result/v3.0.0#/$defs/Result_Status",
1243
1243
  "description": "The new status this override sets for the requirement. This intentionally changes the compliance status."
1244
1244
  },
1245
1245
  "reason": {
@@ -1247,7 +1247,7 @@
1247
1247
  "description": "Explanation for why this status override was applied."
1248
1248
  },
1249
1249
  "appliedBy": {
1250
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Identity",
1250
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
1251
1251
  "description": "Identity of who applied this status override. For simple cases, use type 'simple' with just an identifier."
1252
1252
  },
1253
1253
  "appliedAt": {
@@ -1261,18 +1261,18 @@
1261
1261
  "description": "Timestamp when this status override expires and must be reviewed/renewed. REQUIRED - no permanent status overrides allowed. ISO 8601 format."
1262
1262
  },
1263
1263
  "signature": {
1264
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Signature",
1264
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
1265
1265
  "description": "Optional digital signature for enhanced trust and non-repudiation. Supports hardware security tokens (PKCS#11/PKCS#12), Yubikeys, GPG keys, passkeys, and other signing methods."
1266
1266
  },
1267
1267
  "evidence": {
1268
1268
  "type": "array",
1269
1269
  "items": {
1270
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Evidence"
1270
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
1271
1271
  },
1272
1272
  "description": "Supporting evidence for this status override, such as screenshots demonstrating manual verification for attestations."
1273
1273
  },
1274
1274
  "previousChecksum": {
1275
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Checksum",
1275
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
1276
1276
  "description": "SHA-256 checksum of the previous amendment in chronological order. Creates a tamper-evident chain of amendments (similar to blockchain). Null for the first amendment on a requirement."
1277
1277
  }
1278
1278
  },
@@ -1342,7 +1342,7 @@
1342
1342
  "description": "Detailed explanation of the plan, including what actions will be taken."
1343
1343
  },
1344
1344
  "appliedBy": {
1345
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Identity",
1345
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Identity",
1346
1346
  "description": "Identity of who created this POA&M. For simple cases, use type 'simple' with just an identifier."
1347
1347
  },
1348
1348
  "appliedAt": {
@@ -1358,23 +1358,23 @@
1358
1358
  "milestones": {
1359
1359
  "type": "array",
1360
1360
  "items": {
1361
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Milestone"
1361
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Milestone"
1362
1362
  },
1363
1363
  "description": "Optional array of milestones tracking progress toward completion."
1364
1364
  },
1365
1365
  "signature": {
1366
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Signature",
1366
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Signature",
1367
1367
  "description": "Optional digital signature for enhanced trust and non-repudiation."
1368
1368
  },
1369
1369
  "evidence": {
1370
1370
  "type": "array",
1371
1371
  "items": {
1372
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Evidence"
1372
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Evidence"
1373
1373
  },
1374
1374
  "description": "Supporting evidence for this POA&M, such as documentation of compensating controls or mitigation implementation."
1375
1375
  },
1376
1376
  "previousChecksum": {
1377
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Checksum",
1377
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Checksum",
1378
1378
  "description": "SHA-256 checksum of the previous amendment in chronological order. Creates a tamper-evident chain of amendments (similar to blockchain). Null for the first amendment on a requirement."
1379
1379
  }
1380
1380
  },
@@ -1525,7 +1525,7 @@
1525
1525
  },
1526
1526
  "properties": {
1527
1527
  "algorithm": {
1528
- "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v2.0.0#/$defs/Hash_Algorithm",
1528
+ "$ref": "https://mitre.github.io/hdf-libs/schemas/primitives/common/v3.0.0#/$defs/Hash_Algorithm",
1529
1529
  "description": "The hash algorithm used for the checksum."
1530
1530
  },
1531
1531
  "checksum": {