@actuarial-ts/data 0.6.0 → 0.6.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.
@@ -1,13 +1,13 @@
1
- import { type DiagnosticDeepReadonly, type DiagnosticReviewRuleEvaluation, type PreparedDiagnosticData } from "@actuarial-ts/core";
1
+ import { type DiagnosticIdentityProjection, type DiagnosticDeepReadonly, type DiagnosticReviewRuleEvaluation, type DiagnosticSourceLocation, type PreparedDiagnosticData } from "@actuarial-ts/core";
2
2
  import { type DataCheck, type DataFinding, type DataReviewReport } from "./review.js";
3
3
  export interface DiagnosticGroupingAssignment {
4
4
  readonly key: string;
5
5
  readonly group: string;
6
- readonly source?: import("@actuarial-ts/core").DiagnosticSourceLocation;
6
+ readonly source?: DiagnosticSourceLocation;
7
7
  }
8
8
  export interface DiagnosticCachedFormulaEvidence {
9
9
  readonly id: string;
10
- readonly source?: import("@actuarial-ts/core").DiagnosticSourceLocation;
10
+ readonly source?: DiagnosticSourceLocation;
11
11
  readonly formula?: string;
12
12
  readonly cachedValue?: number | null;
13
13
  readonly declaredFormulaSource: boolean;
@@ -19,16 +19,18 @@ export interface DiagnosticReviewEvidence {
19
19
  export interface DiagnosticReviewIdentityBody {
20
20
  readonly definitionIntegrity: string;
21
21
  readonly preparationFingerprint: string;
22
- readonly evidence: DiagnosticDeepReadonly<DiagnosticReviewEvidence> | null;
22
+ readonly evidence: DiagnosticIdentityProjection<DiagnosticReviewEvidence> | null;
23
23
  readonly checks: readonly {
24
24
  readonly id: string;
25
25
  readonly status: DataCheck["status"];
26
- readonly findings: readonly DataFinding[];
26
+ readonly findings: readonly DiagnosticIdentityProjection<DataFinding>[];
27
27
  }[];
28
28
  readonly summary: DataReviewReport["summary"];
29
- readonly evaluations: readonly DiagnosticReviewRuleEvaluation[];
29
+ readonly evaluations: readonly DiagnosticIdentityProjection<DiagnosticReviewRuleEvaluation>[];
30
30
  }
31
31
  export interface DiagnosticReviewReceipt {
32
+ readonly definitionIntegrity: string;
33
+ readonly preparationFingerprint: string;
32
34
  readonly report: DiagnosticDeepReadonly<DataReviewReport>;
33
35
  readonly evaluations: readonly DiagnosticReviewRuleEvaluation[];
34
36
  readonly evidence: DiagnosticDeepReadonly<DiagnosticReviewEvidence> | null;
@@ -39,5 +41,6 @@ export interface ReviewPreparedDiagnosticDataInput {
39
41
  readonly prepared: PreparedDiagnosticData;
40
42
  readonly evidence: DiagnosticReviewEvidence | null;
41
43
  }
44
+ export declare function validateDiagnosticReviewEvidence(value: unknown, root?: string): DiagnosticDeepReadonly<DiagnosticReviewEvidence>;
42
45
  export declare function reviewPreparedDiagnosticData(input: ReviewPreparedDiagnosticDataInput): DiagnosticReviewReceipt;
43
46
  //# sourceMappingURL=diagnosticPreparedReview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticPreparedReview.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparedReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,sBAAsB,EAAE,KAAK,8BAA8B,EAAE,KAAK,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC1L,OAAO,EAA+E,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnK,MAAM,WAAW,4BAA4B;IAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,oBAAoB,EAAE,wBAAwB,CAAA;CAAE;AACvK,MAAM,WAAW,+BAA+B;IAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,oBAAoB,EAAE,wBAAwB,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAC,IAAI,CAAC;IAAC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAA;CAAE;AACzP,MAAM,WAAW,wBAAwB;IAAG,QAAQ,CAAC,mBAAmB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,+BAA+B,EAAE,CAAA;CAAE;AACxL,MAAM,WAAW,4BAA4B;IAAG,QAAQ,CAAC,mBAAmB,EAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,sBAAsB,EAAC,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAC,sBAAsB,CAAC,wBAAwB,CAAC,GAAC,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAC,SAAS;QAAC,QAAQ,CAAC,EAAE,EAAC,MAAM,CAAC;QAAA,QAAQ,CAAC,MAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAAA,QAAQ,CAAC,QAAQ,EAAC,SAAS,WAAW,EAAE,CAAA;KAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAC,SAAS,8BAA8B,EAAE,CAAA;CAAE;AAClb,MAAM,WAAW,uBAAuB;IAAG,QAAQ,CAAC,MAAM,EAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAAC,QAAQ,CAAC,WAAW,EAAC,SAAS,8BAA8B,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAC,sBAAsB,CAAC,wBAAwB,CAAC,GAAC,IAAI,CAAC;IAAC,QAAQ,CAAC,YAAY,EAAC,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;IAAC,QAAQ,CAAC,iBAAiB,EAAC,MAAM,CAAA;CAAE;AAC7V,MAAM,WAAW,iCAAiC;IAAG,QAAQ,CAAC,QAAQ,EAAC,sBAAsB,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAC,wBAAwB,GAAC,IAAI,CAAA;CAAE;AAkBhJ,wBAAgB,4BAA4B,CAAC,KAAK,EAAC,iCAAiC,GAAE,uBAAuB,CAY5G"}
1
+ {"version":3,"file":"diagnosticPreparedReview.d.ts","sourceRoot":"","sources":["../src/diagnosticPreparedReview.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,4BAA4B,EACjC,KAAK,sBAAsB,EAE3B,KAAK,8BAA8B,EACnC,KAAK,wBAAwB,EAC7B,KAAK,sBAAsB,EAC5B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAIL,KAAK,SAAS,EACd,KAAK,WAAW,EAEhB,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CAC5C;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,CAAC,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,qBAAqB,EAAE,OAAO,CAAC;CACzC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,mBAAmB,EAAE,SAAS,4BAA4B,EAAE,CAAC;IACtE,QAAQ,CAAC,cAAc,EAAE,SAAS,+BAA+B,EAAE,CAAC;CACrE;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,QAAQ,EAAE,4BAA4B,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;IACjF,QAAQ,CAAC,MAAM,EAAE,SAAS;QACxB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrC,QAAQ,CAAC,QAAQ,EAAE,SAAS,4BAA4B,CAAC,WAAW,CAAC,EAAE,CAAC;KACzE,EAAE,CAAC;IACJ,QAAQ,CAAC,OAAO,EAAE,gBAAgB,CAAC,SAAS,CAAC,CAAC;IAC9C,QAAQ,CAAC,WAAW,EAAE,SAAS,4BAA4B,CAAC,8BAA8B,CAAC,EAAE,CAAC;CAC/F;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;IAC1D,QAAQ,CAAC,WAAW,EAAE,SAAS,8BAA8B,EAAE,CAAC;IAChE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC,wBAAwB,CAAC,GAAG,IAAI,CAAC;IAC3E,QAAQ,CAAC,YAAY,EAAE,sBAAsB,CAAC,4BAA4B,CAAC,CAAC;IAC5E,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACpD;AAiRD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,OAAO,EACd,IAAI,SAAe,GAClB,sBAAsB,CAAC,wBAAwB,CAAC,CA0ElD;AAmCD,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,iCAAiC,GACvC,uBAAuB,CAgMzB"}
@@ -1,58 +1,449 @@
1
- import { canonicalJson, evaluateDiagnosticReviewRules, fnv1a64 } from "@actuarial-ts/core";
2
- import { createNotEvaluatedDataCheck, createStructuredDataCheck, summarizeDataChecks } from "./review.js";
1
+ import { DiagnosticValidationError, assertPreparedDiagnosticData, canonicalJson, evaluateDiagnosticReviewRules, fnv1a64, compareDiagnosticSourceLocations, compareDiagnosticIdentityValues, normalizeDiagnosticSourceLocations, projectDiagnosticIdentity, } from "@actuarial-ts/core";
2
+ import { z } from "zod";
3
+ import { createNotEvaluatedDataCheck, createStructuredDataCheck, summarizeDataChecks, } from "./review.js";
3
4
  const fixed = [
4
5
  ["diagnostic/structural/loss-identity", "Loss identities are unique", "fail"],
5
- ["diagnostic/structural/exposure-identity", "Exposure identities are coherent", "fail"],
6
+ [
7
+ "diagnostic/structural/exposure-identity",
8
+ "Exposure identities are coherent",
9
+ "fail",
10
+ ],
6
11
  ["diagnostic/structural/period-validity", "Periods are valid", "fail"],
7
- ["diagnostic/structural/measure-contract", "Measure keys match their declared sources", "fail"],
8
- ["diagnostic/structural/loss-completeness", "Loss records are complete", "fail"],
9
- ["diagnostic/structural/exposure-completeness", "Exposure records are complete and finite", "fail"],
10
- ["diagnostic/structural/loss-without-exposure", "Loss cells have required exposure", "warning"],
11
- ["diagnostic/structural/exposure-without-loss", "Exposures attach to retained loss cells", "warning"],
12
- ["diagnostic/structural/expected-cell-coverage", "Expected cells are present", "fail"],
13
- ["diagnostic/structural/grouping-consistency", "Grouping assignments are consistent", "fail"],
14
- ["diagnostic/structural/cached-formula-provenance", "Cached formulas retain provenance", "warning"],
12
+ [
13
+ "diagnostic/structural/measure-contract",
14
+ "Measure keys match their declared sources",
15
+ "fail",
16
+ ],
17
+ [
18
+ "diagnostic/structural/loss-completeness",
19
+ "Loss records are complete",
20
+ "fail",
21
+ ],
22
+ [
23
+ "diagnostic/structural/exposure-completeness",
24
+ "Exposure records are complete and finite",
25
+ "fail",
26
+ ],
27
+ [
28
+ "diagnostic/structural/loss-without-exposure",
29
+ "Loss cells have required exposure",
30
+ "warning",
31
+ ],
32
+ [
33
+ "diagnostic/structural/exposure-without-loss",
34
+ "Exposures attach to retained loss cells",
35
+ "warning",
36
+ ],
37
+ [
38
+ "diagnostic/structural/expected-cell-coverage",
39
+ "Expected cells are present",
40
+ "fail",
41
+ ],
42
+ [
43
+ "diagnostic/structural/grouping-consistency",
44
+ "Grouping assignments are consistent",
45
+ "fail",
46
+ ],
47
+ [
48
+ "diagnostic/structural/cached-formula-provenance",
49
+ "Cached formulas retain provenance",
50
+ "warning",
51
+ ],
15
52
  ];
16
- const codeToCheck = { "duplicate-loss-record-id": fixed[0][0], "duplicate-claim-snapshot": fixed[0][0], "claim-identity-conflict": fixed[0][0], "duplicate-aggregate-snapshot": fixed[0][0], "duplicate-exposure-identity": fixed[1][0], "conflicting-exposure-identity": fixed[1][0], "unknown-origin-period": fixed[2][0], "unknown-valuation-period": fixed[2][0], "valuation-before-origin": fixed[2][0], "unsafe-development-age": fixed[2][0], "undeclared-loss-measure": fixed[3][0], "wrong-source-loss-measure": fixed[3][0], "undeclared-exposure-measure": fixed[3][0], "wrong-source-exposure-measure": fixed[3][0], "incomplete-loss-record": fixed[4][0], "missing-exposure-value": fixed[5][0], "incomplete-exposure": fixed[5][0], "non-finite-exposure": fixed[5][0], "loss-without-exposure": fixed[6][0], "exposure-without-loss": fixed[7][0], "missing-expected-cell": fixed[8][0] };
17
- function freeze(value) { if (value && typeof value === "object") {
53
+ const codeToCheck = {
54
+ "duplicate-loss-record-id": fixed[0][0],
55
+ "duplicate-claim-snapshot": fixed[0][0],
56
+ "claim-identity-conflict": fixed[0][0],
57
+ "duplicate-aggregate-snapshot": fixed[0][0],
58
+ "duplicate-exposure-identity": fixed[1][0],
59
+ "conflicting-exposure-identity": fixed[1][0],
60
+ "unknown-origin-period": fixed[2][0],
61
+ "unknown-valuation-period": fixed[2][0],
62
+ "valuation-before-origin": fixed[2][0],
63
+ "unsafe-development-age": fixed[2][0],
64
+ "undeclared-loss-measure": fixed[3][0],
65
+ "wrong-source-loss-measure": fixed[3][0],
66
+ "undeclared-exposure-measure": fixed[3][0],
67
+ "wrong-source-exposure-measure": fixed[3][0],
68
+ "incomplete-loss-record": fixed[4][0],
69
+ "missing-exposure-value": fixed[5][0],
70
+ "incomplete-exposure": fixed[5][0],
71
+ "non-finite-exposure": fixed[5][0],
72
+ "loss-without-exposure": fixed[6][0],
73
+ "exposure-without-loss": fixed[7][0],
74
+ "missing-expected-cell": fixed[8][0],
75
+ };
76
+ const sourceSchema = z
77
+ .object({
78
+ artifactId: z.string().min(1),
79
+ sourceFile: z.string().min(1).optional(),
80
+ sourceSheet: z.string().min(1).optional(),
81
+ sourceRow: z.number().int().nonnegative().optional(),
82
+ sourceCell: z.string().min(1).optional(),
83
+ })
84
+ .strict();
85
+ const evidenceSchema = z
86
+ .object({
87
+ groupingAssignments: z.array(z
88
+ .object({
89
+ key: z.string().min(1),
90
+ group: z.string().min(1),
91
+ source: sourceSchema.optional(),
92
+ })
93
+ .strict()),
94
+ cachedFormulas: z.array(z
95
+ .object({
96
+ id: z.string().min(1),
97
+ source: sourceSchema.optional(),
98
+ formula: z
99
+ .string()
100
+ .min(1)
101
+ .refine((value) => value.trim().length > 0, "Formula must contain non-whitespace text")
102
+ .optional(),
103
+ cachedValue: z.number().finite().nullable().optional(),
104
+ declaredFormulaSource: z.boolean(),
105
+ })
106
+ .strict()),
107
+ })
108
+ .strict();
109
+ function freeze(value, seen = new WeakSet()) {
110
+ if (value === null || typeof value !== "object" || seen.has(value))
111
+ return value;
112
+ seen.add(value);
18
113
  for (const child of Object.values(value))
19
- freeze(child);
20
- Object.freeze(value);
21
- } return value; }
114
+ freeze(child, seen);
115
+ return Object.freeze(value);
116
+ }
117
+ function issuePath(root, path) {
118
+ return `${root}${path.map((part) => (typeof part === "number" ? `[${part}]` : /^[A-Za-z_$][\w$]*$/.test(String(part)) ? `.${String(part)}` : `[${JSON.stringify(String(part))}]`)).join("")}`;
119
+ }
120
+ function compareOptional(left, right, compare) {
121
+ if (left === undefined)
122
+ return right === undefined ? 0 : -1;
123
+ if (right === undefined)
124
+ return 1;
125
+ return compare(left, right);
126
+ }
127
+ function compareSourceArrays(left, right) {
128
+ for (let index = 0; index < Math.min(left.length, right.length); index++) {
129
+ const compared = compareDiagnosticSourceLocations(left[index], right[index]);
130
+ if (compared !== 0)
131
+ return compared;
132
+ }
133
+ return left.length - right.length;
134
+ }
135
+ function normalizeDataFindings(values) {
136
+ const merged = new Map();
137
+ for (const finding of values) {
138
+ const context = finding.context;
139
+ const reviewScope = context?.reviewScope;
140
+ const key = canonicalJson({
141
+ ...finding,
142
+ ...(context === undefined
143
+ ? {}
144
+ : {
145
+ context: {
146
+ ...context,
147
+ sources: [],
148
+ ...(reviewScope === undefined
149
+ ? {}
150
+ : { reviewScope: { ...reviewScope, sources: [] } }),
151
+ },
152
+ }),
153
+ });
154
+ const previous = merged.get(key);
155
+ const previousContext = previous?.context;
156
+ const normalizedContext = context === undefined
157
+ ? undefined
158
+ : {
159
+ ...context,
160
+ ...(context.sources === undefined &&
161
+ previousContext?.sources === undefined
162
+ ? {}
163
+ : {
164
+ sources: normalizeDiagnosticSourceLocations([
165
+ ...(previousContext?.sources ?? []),
166
+ ...(context.sources ?? []),
167
+ ]),
168
+ }),
169
+ ...(reviewScope === undefined
170
+ ? {}
171
+ : {
172
+ reviewScope: {
173
+ ...reviewScope,
174
+ sources: normalizeDiagnosticSourceLocations([
175
+ ...(previousContext?.reviewScope?.sources ?? []),
176
+ ...reviewScope.sources,
177
+ ]),
178
+ },
179
+ }),
180
+ };
181
+ merged.set(key, {
182
+ ...finding,
183
+ ...(normalizedContext === undefined
184
+ ? {}
185
+ : { context: normalizedContext }),
186
+ });
187
+ }
188
+ const text = (left, right) => left < right ? -1 : left > right ? 1 : 0;
189
+ const field = (finding, key) => finding.context?.[key];
190
+ const textField = (left, right, key) => compareOptional(field(left, key), field(right, key), text);
191
+ return [...merged.values()].sort((left, right) => text(left.code, right.code) ||
192
+ textField(left, right, "ruleId") ||
193
+ textField(left, right, "measureId") ||
194
+ textField(left, right, "offendingKey") ||
195
+ textField(left, right, "groupingKey") ||
196
+ textField(left, right, "cachedEvidenceId") ||
197
+ textField(left, right, "sourceGroup") ||
198
+ textField(left, right, "group") ||
199
+ textField(left, right, "origin") ||
200
+ textField(left, right, "valuation") ||
201
+ compareOptional(field(left, "developmentAge"), field(right, "developmentAge"), (a, b) => a - b) ||
202
+ textField(left, right, "ageUnit") ||
203
+ textField(left, right, "recordId") ||
204
+ textField(left, right, "claimId") ||
205
+ textField(left, right, "exposureKey") ||
206
+ text(canonicalJson(left.context?.reviewScope === undefined
207
+ ? null
208
+ : { ...left.context.reviewScope, sources: [] }), canonicalJson(right.context?.reviewScope === undefined
209
+ ? null
210
+ : { ...right.context.reviewScope, sources: [] })) ||
211
+ textField(left, right, "sourceFile") ||
212
+ compareOptional(field(left, "sourceRow"), field(right, "sourceRow"), (a, b) => a - b) ||
213
+ text(left.message, right.message) ||
214
+ compareSourceArrays(left.context?.sources ?? [], right.context?.sources ?? []));
215
+ }
216
+ export function validateDiagnosticReviewEvidence(value, root = "$.evidence") {
217
+ const undefinedPaths = [];
218
+ const stack = [
219
+ { value, path: root },
220
+ ];
221
+ const seen = new WeakSet();
222
+ while (stack.length > 0) {
223
+ const current = stack.pop();
224
+ if (current.value === null ||
225
+ typeof current.value !== "object" ||
226
+ seen.has(current.value))
227
+ continue;
228
+ seen.add(current.value);
229
+ for (const [key, child] of Object.entries(current.value)) {
230
+ const path = Array.isArray(current.value)
231
+ ? `${current.path}[${key}]`
232
+ : issuePath(current.path, [key]);
233
+ if (child === undefined)
234
+ undefinedPaths.push(path);
235
+ else
236
+ stack.push({ value: child, path });
237
+ }
238
+ }
239
+ if (undefinedPaths.length > 0)
240
+ throw new DiagnosticValidationError(undefinedPaths.sort().map((path) => ({
241
+ domain: "input",
242
+ code: "invalid-type",
243
+ path,
244
+ message: "Explicit undefined is not allowed",
245
+ })));
246
+ const parsed = evidenceSchema.safeParse(value);
247
+ if (!parsed.success) {
248
+ throw new DiagnosticValidationError(parsed.error.issues.map((issue) => ({
249
+ domain: "input",
250
+ code: issue.code === "unrecognized_keys"
251
+ ? "unknown-key"
252
+ : issue.code === "too_small"
253
+ ? "invalid-string"
254
+ : "invalid-type",
255
+ path: issuePath(root, issue.path),
256
+ message: issue.message,
257
+ })));
258
+ }
259
+ const codeUnit = (left, right) => left < right ? -1 : left > right ? 1 : 0;
260
+ parsed.data.groupingAssignments.sort((left, right) => codeUnit(left.key, right.key) ||
261
+ codeUnit(left.group, right.group) ||
262
+ compareOptional(left.source, right.source, compareDiagnosticSourceLocations));
263
+ parsed.data.cachedFormulas.sort((left, right) => codeUnit(left.id, right.id) ||
264
+ compareOptional(left.source, right.source, compareDiagnosticSourceLocations) ||
265
+ compareDiagnosticIdentityValues([left.formula, left.cachedValue, left.declaredFormulaSource], [right.formula, right.cachedValue, right.declaredFormulaSource]));
266
+ return freeze(parsed.data);
267
+ }
268
+ function findingContext(finding) {
269
+ return {
270
+ ...(finding.ruleId === undefined ? {} : { ruleId: finding.ruleId }),
271
+ ...(finding.measureId === undefined
272
+ ? {}
273
+ : { measureId: finding.measureId }),
274
+ ...(finding.expressionPath === undefined
275
+ ? {}
276
+ : { expressionPath: finding.expressionPath }),
277
+ ...(finding.offendingKey === undefined
278
+ ? {}
279
+ : { offendingKey: finding.offendingKey }),
280
+ ...(finding.sourceGroup === undefined
281
+ ? {}
282
+ : { sourceGroup: finding.sourceGroup }),
283
+ ...(finding.group === undefined ? {} : { group: finding.group }),
284
+ ...(finding.origin === undefined ? {} : { origin: finding.origin }),
285
+ ...(finding.valuation === undefined
286
+ ? {}
287
+ : { valuation: finding.valuation }),
288
+ ...(finding.developmentAge === undefined
289
+ ? {}
290
+ : { developmentAge: finding.developmentAge }),
291
+ ...(finding.ageUnit === undefined ? {} : { ageUnit: finding.ageUnit }),
292
+ ...(finding.recordId === undefined ? {} : { recordId: finding.recordId }),
293
+ ...(finding.claimId === undefined ? {} : { claimId: finding.claimId }),
294
+ ...(finding.exposureKey === undefined
295
+ ? {}
296
+ : { exposureKey: finding.exposureKey }),
297
+ sources: finding.sources,
298
+ };
299
+ }
22
300
  export function reviewPreparedDiagnosticData(input) {
23
- // Authenticity is enforced by the core evaluator before evidence can affect a receipt.
301
+ assertPreparedDiagnosticData(input.prepared);
302
+ const evidence = input.evidence === null
303
+ ? null
304
+ : validateDiagnosticReviewEvidence(input.evidence);
24
305
  const evaluations = evaluateDiagnosticReviewRules(input.prepared);
25
- const evidence = input.evidence === null ? null : freeze(structuredClone(input.evidence));
26
306
  const findingsByCheck = new Map(fixed.map(([id]) => [id, []]));
27
307
  for (const finding of input.prepared.findings) {
28
308
  const id = codeToCheck[finding.code];
29
309
  if (id)
30
- findingsByCheck.get(id).push({ code: finding.code, message: finding.message, context: { measureId: finding.measureId, sourceGroup: finding.sourceGroup, origin: finding.origin, valuation: finding.valuation, developmentAge: finding.developmentAge, ageUnit: finding.ageUnit, sources: finding.sources } });
310
+ findingsByCheck.get(id).push({
311
+ code: finding.code,
312
+ message: finding.message,
313
+ context: findingContext(finding),
314
+ });
31
315
  }
32
316
  if (evidence) {
33
317
  const assignments = new Map();
34
318
  for (const item of evidence.groupingAssignments) {
35
- const values = assignments.get(item.key) ?? new Set();
36
- values.add(item.group);
319
+ const values = assignments.get(item.key) ?? [];
320
+ values.push(item);
37
321
  assignments.set(item.key, values);
38
322
  }
39
- for (const [key, groups] of assignments)
40
- if (groups.size > 1)
41
- findingsByCheck.get(fixed[9][0]).push({ code: "inconsistent-group-mapping", message: "Grouping evidence assigns one key to multiple groups", context: { groupingKey: key, sources: [] } });
42
- for (const item of evidence.cachedFormulas)
43
- if (item.declaredFormulaSource && (item.formula === undefined || item.formula.length === 0 || item.cachedValue === undefined || item.source === undefined))
44
- findingsByCheck.get(fixed[10][0]).push({ code: "cached-formula-provenance", message: "Declared formula-derived value lacks complete formula provenance", context: { cachedEvidenceId: item.id, sources: item.source ? [item.source] : [] } });
323
+ for (const [key, values] of assignments) {
324
+ if (new Set(values.map((item) => item.group)).size > 1)
325
+ findingsByCheck.get(fixed[9][0]).push({
326
+ code: "inconsistent-group-mapping",
327
+ message: "Grouping evidence assigns one key to multiple groups",
328
+ context: {
329
+ groupingKey: key,
330
+ sources: normalizeDiagnosticSourceLocations(values.map((item) => item.source)),
331
+ },
332
+ });
333
+ }
334
+ const failingCached = new Map();
335
+ for (const item of evidence.cachedFormulas) {
336
+ const hasOwnCachedValue = Object.prototype.hasOwnProperty.call(item, "cachedValue");
337
+ if (item.declaredFormulaSource &&
338
+ (item.formula === undefined ||
339
+ !hasOwnCachedValue ||
340
+ item.cachedValue === null ||
341
+ item.source === undefined)) {
342
+ const values = failingCached.get(item.id) ?? [];
343
+ values.push(item);
344
+ failingCached.set(item.id, values);
345
+ }
346
+ }
347
+ for (const [id, values] of failingCached)
348
+ findingsByCheck.get(fixed[10][0]).push({
349
+ code: "cached-formula-provenance",
350
+ message: "Declared formula-derived value lacks complete formula provenance",
351
+ context: {
352
+ cachedEvidenceId: id,
353
+ sources: normalizeDiagnosticSourceLocations(values.map((item) => item.source)),
354
+ },
355
+ });
45
356
  }
46
- const checks = fixed.map(([id, description, severity], index) => { if ((index === 9 || index === 10) && evidence === null)
47
- return createNotEvaluatedDataCheck(id, description, "review evidence was omitted"); return createStructuredDataCheck(id, description, severity, findingsByCheck.get(id)); });
357
+ const hasExposureMeasures = input.prepared.definition.definition.measures.some((measure) => measure.source === "exposure");
358
+ const checks = fixed.map(([id, description, severity], index) => {
359
+ if ([1, 5, 6, 7].includes(index) && !hasExposureMeasures)
360
+ return createNotEvaluatedDataCheck(id, description, "the definition declares no exposure measures");
361
+ if (index === 8 && !input.prepared.expectedCellsProvided)
362
+ return createNotEvaluatedDataCheck(id, description, "the expected-cell grid was omitted");
363
+ if ((index === 9 || index === 10) && evidence === null)
364
+ return createNotEvaluatedDataCheck(id, description, "review evidence was omitted");
365
+ return createStructuredDataCheck(id, description, severity, normalizeDataFindings(findingsByCheck.get(id)));
366
+ });
48
367
  for (const rule of input.prepared.definition.definition.reviewRules) {
49
368
  const matching = evaluations.filter((item) => item.ruleId === rule.id);
50
- const status = matching.some((item) => item.status === "triggered" && item.severity === "fail") ? "fail" : matching.some((item) => item.status === "triggered") ? "warning" : matching.some((item) => item.status === "not-evaluated") ? "not-evaluated" : "pass";
51
- const findings = matching.filter((item) => item.status === "triggered").map((item) => ({ code: rule.code, message: rule.description, context: { ruleId: rule.id, reviewScope: item.reviewScope, sources: item.reviewScope.sources } }));
52
- checks.push({ id: rule.id, description: rule.description, status, details: findings.slice(0, 20).map((item) => item.message), findings });
369
+ const overflow = matching.some((item) => item.expressionOverflows.length > 0);
370
+ const status = overflow ||
371
+ matching.some((item) => item.status === "triggered" && item.severity === "fail")
372
+ ? "fail"
373
+ : matching.some((item) => item.status === "triggered")
374
+ ? "warning"
375
+ : matching.some((item) => item.status === "not-evaluated")
376
+ ? "not-evaluated"
377
+ : "pass";
378
+ const findings = matching.flatMap((item) => [
379
+ ...item.expressionOverflows.map((overflowItem) => ({
380
+ code: "diagnostic-expression-overflow",
381
+ message: "Measure expression overflowed",
382
+ context: {
383
+ ruleId: rule.id,
384
+ expressionPath: overflowItem.expressionPath,
385
+ reviewScope: item.scope,
386
+ ...(overflowItem.coordinate === null ? {} : overflowItem.coordinate),
387
+ sources: overflowItem.sources,
388
+ },
389
+ })),
390
+ ...(item.status === "triggered"
391
+ ? [
392
+ {
393
+ code: rule.code,
394
+ message: rule.description,
395
+ context: {
396
+ ruleId: rule.id,
397
+ reviewScope: item.scope,
398
+ sources: item.scope.sources,
399
+ },
400
+ },
401
+ ]
402
+ : []),
403
+ ...(item.status === "not-evaluated"
404
+ ? [
405
+ {
406
+ code: "diagnostic-review-rule-not-evaluated",
407
+ message: "Diagnostic review rule was not evaluated",
408
+ context: {
409
+ ruleId: rule.id,
410
+ reviewScope: item.scope,
411
+ sources: item.scope.sources,
412
+ },
413
+ },
414
+ ]
415
+ : []),
416
+ ]);
417
+ const normalizedFindings = normalizeDataFindings(findings);
418
+ checks.push({
419
+ id: rule.id,
420
+ description: rule.description,
421
+ status,
422
+ details: normalizedFindings.slice(0, 20).map((item) => item.message),
423
+ findings: normalizedFindings,
424
+ });
53
425
  }
54
426
  const report = freeze(summarizeDataChecks(checks));
55
- const identityBody = freeze({ definitionIntegrity: input.prepared.definition.definitionIntegrity, preparationFingerprint: input.prepared.preparationFingerprint, evidence, checks: report.checks.map((check) => ({ id: check.id, status: check.status, findings: check.findings })), summary: report.summary, evaluations });
56
- return freeze({ report, evaluations, evidence, identityBody, reportFingerprint: `fnv1a64-jcs-v1:${fnv1a64(canonicalJson({ identityVersion: 1, kind: "diagnostic-review", review: identityBody }))}` });
427
+ const identityBody = projectDiagnosticIdentity({
428
+ definitionIntegrity: input.prepared.definition.definitionIntegrity,
429
+ preparationFingerprint: input.prepared.preparationFingerprint,
430
+ evidence,
431
+ checks: report.checks.map((check) => ({
432
+ id: check.id,
433
+ status: check.status,
434
+ findings: check.findings,
435
+ })),
436
+ summary: report.summary,
437
+ evaluations,
438
+ });
439
+ return freeze({
440
+ definitionIntegrity: input.prepared.definition.definitionIntegrity,
441
+ preparationFingerprint: input.prepared.preparationFingerprint,
442
+ report,
443
+ evaluations,
444
+ evidence,
445
+ identityBody,
446
+ reportFingerprint: `fnv1a64-jcs-v1:${fnv1a64(canonicalJson({ identityVersion: 1, kind: "diagnostic-review-report", review: identityBody }))}`,
447
+ });
57
448
  }
58
449
  //# sourceMappingURL=diagnosticPreparedReview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticPreparedReview.js","sourceRoot":"","sources":["../src/diagnosticPreparedReview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnosticPreparedReview.js","sourceRoot":"","sources":["../src/diagnosticPreparedReview.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"exposure.d.ts","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,qEAAqE;AACrE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;EAS7B,CAAC;AAEL,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AA2BD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAyElE"}
1
+ {"version":3,"file":"exposure.d.ts","sourceRoot":"","sources":["../src/exposure.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,qEAAqE;AACrE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;EAY9B,CAAC;AAEJ,MAAM,WAAW,gBAAgB;IAC/B,uDAAuD;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AA6BD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAiHlE"}