@actuarial-ts/compliance 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.
- package/README.md +15 -9
- package/dist/bundle.d.ts +1 -1
- package/dist/bundle.d.ts.map +1 -1
- package/dist/bundle.js +163 -21
- package/dist/bundle.js.map +1 -1
- package/dist/diagnosticRun.d.ts +52 -29
- package/dist/diagnosticRun.d.ts.map +1 -1
- package/dist/diagnosticRun.js +691 -109
- package/dist/diagnosticRun.js.map +1 -1
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +47 -6
- package/dist/ledger.js.map +1 -1
- package/dist/metadata.d.ts.map +1 -1
- package/dist/metadata.js +27 -3
- package/dist/metadata.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -5
- package/src/bundle.ts +272 -32
- package/src/diagnosticRun.ts +1396 -93
- package/src/ledger.ts +59 -8
- package/src/metadata.ts +48 -7
- package/src/version.ts +1 -1
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Documentation, judgment, provenance, and reproducibility primitives for actuarial-ts. The package is designed to support compliance work under applicable ASOPs; it neither determines compliance nor replaces the actuary’s review.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
|
-
npm install @actuarial-ts/compliance@0.6.
|
|
6
|
+
npm install @actuarial-ts/compliance@0.6.1 @actuarial-ts/core@0.6.1 @actuarial-ts/data@0.6.1 @actuarial-ts/interchange@0.6.1
|
|
7
7
|
```
|
|
8
8
|
|
|
9
9
|
Node 20+, ESM.
|
|
@@ -19,14 +19,16 @@ if (outcome.status !== "completed") throw new Error(`diagnostics blocked at ${ou
|
|
|
19
19
|
|
|
20
20
|
const provenance = await createDiagnosticRunIdentity({
|
|
21
21
|
completedRun: outcome,
|
|
22
|
-
|
|
22
|
+
inputArtifacts: [
|
|
23
23
|
{ id: "loss-run", scope: "input", assurance: "sdk-computed", bytes: lossRunBytes },
|
|
24
24
|
{ id: "exposures", scope: "input", assurance: "sdk-computed", bytes: exposureBytes },
|
|
25
|
-
{ id: "source-archive", scope: "input", assurance: "caller-declared", algorithm: "
|
|
26
|
-
{ id: "transform-script", scope: "preparation", assurance: "caller-declared", algorithm: "git-sha", value: transformCommit, byteLength: 0 },
|
|
25
|
+
{ id: "source-archive", scope: "input", assurance: "caller-declared", algorithm: "sha256", value: archiveSha256 },
|
|
27
26
|
],
|
|
28
|
-
|
|
29
|
-
{
|
|
27
|
+
preparationArtifacts: [
|
|
28
|
+
{ id: "transform-script", scope: "preparation", assurance: "caller-declared", algorithm: "git-sha", value: transformCommit },
|
|
29
|
+
],
|
|
30
|
+
preparationLineage: [
|
|
31
|
+
{ outputArtifactId: "loss-run", inputArtifactIds: ["source-archive"], transformationArtifactIds: ["transform-script"] },
|
|
30
32
|
],
|
|
31
33
|
});
|
|
32
34
|
|
|
@@ -34,7 +36,11 @@ const bundle = createBundle({
|
|
|
34
36
|
inputs,
|
|
35
37
|
parameters,
|
|
36
38
|
results: outcome.result,
|
|
37
|
-
sdkVersions: {
|
|
39
|
+
sdkVersions: {
|
|
40
|
+
"@actuarial-ts/core": provenance.manifest.engine.packages.core,
|
|
41
|
+
"@actuarial-ts/data": provenance.manifest.engine.packages.data,
|
|
42
|
+
"@actuarial-ts/compliance": provenance.manifest.engine.packages.compliance,
|
|
43
|
+
},
|
|
38
44
|
createdAt: "2026-09-03T00:00:00Z",
|
|
39
45
|
diagnosticRuns: [provenance],
|
|
40
46
|
wrap: { triangles: [], selections: [], results: [] },
|
|
@@ -47,13 +53,13 @@ The manifest contains the complete normalized definition, preparation identity a
|
|
|
47
53
|
|
|
48
54
|
The returned `VerifiedDiagnosticRunProvenance` is frozen and registered in private owner state. A cast, clone, or parsed JSON object cannot author a new bundle. Use `verifyDiagnosticRunIdentity(stored, sameRunAndEvidence)` to regenerate and authenticate stored provenance; it reports the first mismatching JSON path and returns regenerated authentic review text rather than trusting stored prose.
|
|
49
55
|
|
|
50
|
-
Wrapped bundles include one deduplicated typed `diagnostic-definition` document per definition and require the outer SDK versions/generator to agree with every run manifest. FNV-1a/JCS tags are deterministic integrity aids, not cryptographic authentication.
|
|
56
|
+
Wrapped bundles include one deduplicated typed `diagnostic-definition` document per definition and require the outer SDK versions/generator to agree with every run manifest. `verifyBundle` also recompiles serialized definitions and rechecks definition, review, result, run, and binding fingerprints plus the typed definition mirror; merely re-stamping inconsistent JSON cannot make it verify. FNV-1a/JCS tags are deterministic integrity aids, not cryptographic authentication.
|
|
51
57
|
|
|
52
58
|
Material host judgments worth recording in the assumption ledger include amount basis and limit application, expense treatment, missingness, exposure timing, period convention, filters/grouping, communicated scale, and any policy that permits a failed review. Helpers never invent an actuary’s rationale.
|
|
53
59
|
|
|
54
60
|
The package also provides estimate metadata, assumption ledgers, ASOP No. 41 draft disclosure generation, ASOP No. 56 model cards, actual-versus-expected roll-forward, and canonical reproducibility bundles.
|
|
55
61
|
|
|
56
|
-
See the [formula catalog](https://github.com/yerromnitsuj/actng/blob/v0.6.
|
|
62
|
+
See the [formula catalog](https://github.com/yerromnitsuj/actng/blob/v0.6.1/docs/reference/diagnostic-formulas.md) and [migration guide](https://github.com/yerromnitsuj/actng/blob/v0.6.1/docs/migrations/0.6-generalized-diagnostics.md).
|
|
57
63
|
|
|
58
64
|
## License
|
|
59
65
|
|
package/dist/bundle.d.ts
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
import { canonicalJson, fnv1a64 } from "@actuarial-ts/core";
|
|
29
29
|
import { BundleDoc, MethodResultDoc, SelectionDoc, StochasticResultDoc, TriangleDoc } from "@actuarial-ts/interchange";
|
|
30
30
|
import type { VerifiedDiagnosticRunProvenance } from "./diagnosticRun.js";
|
|
31
|
-
export { ComplianceError, COMPLIANCE_ERROR_CODES, type ComplianceErrorCode } from "./errors.js";
|
|
31
|
+
export { ComplianceError, COMPLIANCE_ERROR_CODES, type ComplianceErrorCode, } from "./errors.js";
|
|
32
32
|
export { COMPLIANCE_PACKAGE_VERSION } from "./version.js";
|
|
33
33
|
export { canonicalJson, fnv1a64 };
|
|
34
34
|
/**
|
package/dist/bundle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACL,aAAa,EACb,OAAO,EAER,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAKL,SAAS,EACT,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACZ,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAEV,+BAA+B,EAChC,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,KAAK,mBAAmB,GACzB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAElC;;;;;;;;;GASG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC;;;;GAIG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC,UAA2B,CAAC;AAE3E;;;;;GAKG;AAEH;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,UAAU,EAAE,YAAY,EAAE,CAAC;IAC3B,OAAO,EAAE,CAAC,eAAe,GAAG,mBAAmB,CAAC,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,iBAAiB;IAChC,gGAAgG;IAChG,MAAM,EAAE,OAAO,CAAC;IAChB,wFAAwF;IACxF,UAAU,EAAE,OAAO,CAAC;IACpB,qFAAqF;IACrF,OAAO,EAAE,OAAO,CAAC;IACjB,6EAA6E;IAC7E,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB;;;;;;;;;;OAUG;IACH,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,qHAAqH;IACrH,cAAc,CAAC,EAAE,SAAS,+BAA+B,EAAE,CAAC;CAC7D;AAED,MAAM,WAAW,qBAAqB;IACpC,iFAAiF;IACjF,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAoB,SAAQ,qBAAqB;IAChE;;;;OAIG;IACH,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,iBAAiB,GAAG;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACnD,mBAAmB,CAAC;AACvB,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,qBAAqB,CAAC;AA8H9E,mEAAmE;AACnE,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,cAAc,CAAC,EAAE,mBAAmB,CAAC;CACtC;AA4OD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,qBAAqB,GAAG,gBAAgB,EAChD,YAAY,EAAE,OAAO,GACpB,kBAAkB,CAIpB"}
|
package/dist/bundle.js
CHANGED
|
@@ -25,12 +25,12 @@
|
|
|
25
25
|
* ASOP No. 41 (documentation and reproducibility of the analysis);
|
|
26
26
|
* responsibility for compliance remains with the credentialed actuary.
|
|
27
27
|
*/
|
|
28
|
-
import { canonicalJson, fnv1a64 } from "@actuarial-ts/core";
|
|
29
|
-
import { INTERCHANGE_SPEC_VERSION, diagnosticDefinitionToDoc, } from "@actuarial-ts/interchange";
|
|
30
|
-
import { assertVerifiedDiagnosticRunProvenance, verifiedDefinitionForBundle } from "./diagnosticRun.js";
|
|
28
|
+
import { canonicalJson, fnv1a64, isDiagnosticPlainRecord, } from "@actuarial-ts/core";
|
|
29
|
+
import { INTERCHANGE_SPEC_VERSION, diagnosticDefinitionToDoc, docToDiagnosticDefinition, } from "@actuarial-ts/interchange";
|
|
30
|
+
import { assertVerifiedDiagnosticRunProvenance, serializedDiagnosticRunMismatch, verifiedDefinitionForBundle, } from "./diagnosticRun.js";
|
|
31
31
|
import { ComplianceError } from "./errors.js";
|
|
32
32
|
import { COMPLIANCE_PACKAGE_VERSION } from "./version.js";
|
|
33
|
-
export { ComplianceError, COMPLIANCE_ERROR_CODES } from "./errors.js";
|
|
33
|
+
export { ComplianceError, COMPLIANCE_ERROR_CODES, } from "./errors.js";
|
|
34
34
|
export { COMPLIANCE_PACKAGE_VERSION } from "./version.js";
|
|
35
35
|
export { canonicalJson, fnv1a64 };
|
|
36
36
|
/**
|
|
@@ -59,16 +59,32 @@ export function createBundle(input) {
|
|
|
59
59
|
if (input.diagnosticRuns !== undefined) {
|
|
60
60
|
for (const run of input.diagnosticRuns)
|
|
61
61
|
assertVerifiedDiagnosticRunProvenance(run);
|
|
62
|
+
const seenBindings = new Set();
|
|
63
|
+
for (const [runIndex, run] of input.diagnosticRuns.entries()) {
|
|
64
|
+
if (seenBindings.has(run.runResultFingerprint))
|
|
65
|
+
throw new ComplianceError("BAD_DIAGNOSTIC_RUN", "Duplicate diagnostic run-result fingerprint", `$.diagnosticRuns[${runIndex}].runResultFingerprint`);
|
|
66
|
+
seenBindings.add(run.runResultFingerprint);
|
|
67
|
+
}
|
|
62
68
|
if (input.diagnosticRuns.length > 0) {
|
|
63
|
-
|
|
69
|
+
if (!isDiagnosticPlainRecord(input.sdkVersions))
|
|
70
|
+
throw new ComplianceError("BAD_DIAGNOSTIC_RUN", "Diagnostic bundles require a plain SDK-version map", "$.sdkVersions");
|
|
71
|
+
const expected = input.diagnosticRuns[0].manifest.engine.packages;
|
|
64
72
|
for (const [runIndex, run] of input.diagnosticRuns.entries()) {
|
|
65
|
-
if (canonicalJson(run.manifest.
|
|
66
|
-
|
|
73
|
+
if (canonicalJson(run.manifest.engine.packages) !==
|
|
74
|
+
canonicalJson(expected))
|
|
75
|
+
throw new ComplianceError("BAD_DIAGNOSTIC_RUN", "Diagnostic runs disagree on SDK package versions", `$.diagnosticRuns[${runIndex}].manifest.engine.packages`);
|
|
67
76
|
}
|
|
68
|
-
for (const [name, version] of Object.entries(
|
|
77
|
+
for (const [name, version] of Object.entries({
|
|
78
|
+
"@actuarial-ts/core": expected.core,
|
|
79
|
+
"@actuarial-ts/data": expected.data,
|
|
80
|
+
"@actuarial-ts/compliance": expected.compliance,
|
|
81
|
+
}))
|
|
69
82
|
if (input.sdkVersions[name] !== version)
|
|
70
83
|
throw new ComplianceError("BAD_DIAGNOSTIC_RUN", `Outer sdkVersions must record ${name} at ${version}`, `$.sdkVersions.${name}`);
|
|
71
|
-
if (input.wrap !== undefined &&
|
|
84
|
+
if (input.wrap !== undefined &&
|
|
85
|
+
input.generator !== undefined &&
|
|
86
|
+
(input.generator.name !== "@actuarial-ts/compliance" ||
|
|
87
|
+
input.generator.version !== COMPLIANCE_PACKAGE_VERSION))
|
|
72
88
|
throw new ComplianceError("BAD_DIAGNOSTIC_RUN", "Wrapped diagnostic bundles require the actual compliance generator stamp", "$.generator");
|
|
73
89
|
}
|
|
74
90
|
body["diagnosticRuns"] = input.diagnosticRuns;
|
|
@@ -80,27 +96,43 @@ export function createBundle(input) {
|
|
|
80
96
|
// The inner record is carried opaquely as the `bundle` segment; the outer
|
|
81
97
|
// tag is fnv1a64(canonicalJson({ bundle, interchange })) — exactly
|
|
82
98
|
// interchange's semanticBodyOf for kind "bundle" (spec 3.2).
|
|
83
|
-
const bundleSegment = {
|
|
99
|
+
const bundleSegment = {
|
|
100
|
+
hash: inner.hash,
|
|
101
|
+
payload: inner.payload,
|
|
102
|
+
};
|
|
84
103
|
const definitions = new Map();
|
|
85
104
|
for (const run of input.diagnosticRuns ?? []) {
|
|
86
105
|
const compiled = verifiedDefinitionForBundle(run);
|
|
87
|
-
definitions.set(run.
|
|
106
|
+
definitions.set(run.definition.identities.definition, diagnosticDefinitionToDoc(compiled, {
|
|
88
107
|
createdAt: input.createdAt,
|
|
89
|
-
generator: {
|
|
108
|
+
generator: {
|
|
109
|
+
name: "@actuarial-ts/compliance",
|
|
110
|
+
version: COMPLIANCE_PACKAGE_VERSION,
|
|
111
|
+
},
|
|
90
112
|
}));
|
|
91
113
|
}
|
|
92
114
|
const interchange = {
|
|
93
115
|
triangles: [...input.wrap.triangles],
|
|
94
116
|
selections: [...input.wrap.selections],
|
|
95
117
|
results: [...input.wrap.results],
|
|
96
|
-
...(definitions.size === 0
|
|
118
|
+
...(definitions.size === 0
|
|
119
|
+
? {}
|
|
120
|
+
: {
|
|
121
|
+
diagnosticDefinitions: [...definitions.values()].sort((a, b) => a.diagnosticDefinition.identities.definition <
|
|
122
|
+
b.diagnosticDefinition.identities.definition
|
|
123
|
+
? -1
|
|
124
|
+
: 1),
|
|
125
|
+
}),
|
|
97
126
|
};
|
|
98
127
|
const wrapped = {
|
|
99
128
|
interchangeVersion: WRAPPED_BUNDLE_INTERCHANGE_VERSION,
|
|
100
129
|
kind: "bundle",
|
|
101
130
|
generator: input.generator
|
|
102
131
|
? { ...input.generator }
|
|
103
|
-
: {
|
|
132
|
+
: {
|
|
133
|
+
name: "@actuarial-ts/compliance",
|
|
134
|
+
version: COMPLIANCE_PACKAGE_VERSION,
|
|
135
|
+
},
|
|
104
136
|
createdAt: input.createdAt,
|
|
105
137
|
bundle: bundleSegment,
|
|
106
138
|
interchange,
|
|
@@ -117,10 +149,13 @@ function isPlainObject(value) {
|
|
|
117
149
|
/** First differing path between two canonicalizable structures, or null when equal. */
|
|
118
150
|
function firstDifference(stored, rerun, path) {
|
|
119
151
|
if (isPlainObject(stored) && isPlainObject(rerun)) {
|
|
120
|
-
const keys = [
|
|
152
|
+
const keys = [
|
|
153
|
+
...new Set([...Object.keys(stored), ...Object.keys(rerun)]),
|
|
154
|
+
].sort();
|
|
121
155
|
for (const key of keys) {
|
|
122
156
|
const keyPath = `${path}.${key}`;
|
|
123
|
-
if (!(key
|
|
157
|
+
if (!Object.prototype.hasOwnProperty.call(stored, key) ||
|
|
158
|
+
!Object.prototype.hasOwnProperty.call(rerun, key))
|
|
124
159
|
return keyPath;
|
|
125
160
|
const diff = firstDifference(stored[key], rerun[key], keyPath);
|
|
126
161
|
if (diff !== null)
|
|
@@ -159,12 +194,44 @@ function verifyUnwrapped(bundle, rerunResults) {
|
|
|
159
194
|
if (!isPlainObject(stored) || !("results" in stored)) {
|
|
160
195
|
throw new ComplianceError("BAD_BUNDLE", 'bundle payload has no "results" segment');
|
|
161
196
|
}
|
|
197
|
+
if (Object.prototype.hasOwnProperty.call(stored, "diagnosticRuns")) {
|
|
198
|
+
if (!Array.isArray(stored["diagnosticRuns"]))
|
|
199
|
+
throw new ComplianceError("BAD_BUNDLE", 'bundle payload "diagnosticRuns" must be an array');
|
|
200
|
+
const seen = new Set();
|
|
201
|
+
for (const [index, run] of stored["diagnosticRuns"].entries()) {
|
|
202
|
+
const path = `$.diagnosticRuns[${index}]`;
|
|
203
|
+
const mismatch = serializedDiagnosticRunMismatch(run, path);
|
|
204
|
+
if (mismatch !== null)
|
|
205
|
+
return { reproduced: false, mismatchPath: mismatch };
|
|
206
|
+
const fingerprint = run["runResultFingerprint"];
|
|
207
|
+
if (seen.has(fingerprint))
|
|
208
|
+
return {
|
|
209
|
+
reproduced: false,
|
|
210
|
+
mismatchPath: `${path}.runResultFingerprint`,
|
|
211
|
+
};
|
|
212
|
+
seen.add(fingerprint);
|
|
213
|
+
const packages = run.manifest.engine
|
|
214
|
+
.packages;
|
|
215
|
+
for (const [name, shortName] of [
|
|
216
|
+
["@actuarial-ts/core", "core"],
|
|
217
|
+
["@actuarial-ts/data", "data"],
|
|
218
|
+
["@actuarial-ts/compliance", "compliance"],
|
|
219
|
+
]) {
|
|
220
|
+
if (!isPlainObject(stored["sdkVersions"]) ||
|
|
221
|
+
stored["sdkVersions"][name] !== packages?.[shortName])
|
|
222
|
+
return { reproduced: false, mismatchPath: `$.sdkVersions.${name}` };
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
162
226
|
const storedResults = stored["results"];
|
|
163
227
|
const rerunCanonical = canonicalJson(rerunResults);
|
|
164
228
|
const storedCanonical = canonicalJson(storedResults);
|
|
165
229
|
if (rerunCanonical === storedCanonical)
|
|
166
230
|
return { reproduced: true };
|
|
167
|
-
return {
|
|
231
|
+
return {
|
|
232
|
+
reproduced: false,
|
|
233
|
+
mismatchPath: firstDifference(storedResults, rerunResults, "$") ?? "$",
|
|
234
|
+
};
|
|
168
235
|
}
|
|
169
236
|
function isWrappedBundleDoc(value) {
|
|
170
237
|
return value.kind === "bundle";
|
|
@@ -184,12 +251,85 @@ function verifyWrapped(doc, rerunResults) {
|
|
|
184
251
|
// exactly interchange's semanticBodyOf for kind "bundle" (spec 3.2).
|
|
185
252
|
const expected = fnv1a64(canonicalJson({ bundle: doc.bundle, interchange: doc.interchange }));
|
|
186
253
|
const actual = typeof doc.integrity === "string" ? doc.integrity : null;
|
|
187
|
-
const outerIntegrity = {
|
|
254
|
+
const outerIntegrity = {
|
|
255
|
+
ok: expected === actual,
|
|
256
|
+
expected,
|
|
257
|
+
actual,
|
|
258
|
+
};
|
|
188
259
|
if (!outerIntegrity.ok) {
|
|
189
260
|
return { reproduced: false, mismatchPath: "$.integrity", outerIntegrity };
|
|
190
261
|
}
|
|
191
|
-
const inner = {
|
|
192
|
-
|
|
262
|
+
const inner = {
|
|
263
|
+
payload: innerRaw["payload"],
|
|
264
|
+
hash: innerRaw["hash"],
|
|
265
|
+
};
|
|
266
|
+
const innerResult = verifyUnwrapped(inner, rerunResults);
|
|
267
|
+
if (!innerResult.reproduced)
|
|
268
|
+
return { ...innerResult, outerIntegrity };
|
|
269
|
+
const body = JSON.parse(inner.payload);
|
|
270
|
+
const runs = Array.isArray(body["diagnosticRuns"])
|
|
271
|
+
? body["diagnosticRuns"]
|
|
272
|
+
: [];
|
|
273
|
+
const docs = doc.interchange
|
|
274
|
+
.diagnosticDefinitions;
|
|
275
|
+
if (runs.length > 0) {
|
|
276
|
+
const packages = runs[0].manifest.engine
|
|
277
|
+
.packages;
|
|
278
|
+
if (doc.generator?.name !== "@actuarial-ts/compliance")
|
|
279
|
+
return {
|
|
280
|
+
reproduced: false,
|
|
281
|
+
mismatchPath: "$.generator.name",
|
|
282
|
+
outerIntegrity,
|
|
283
|
+
};
|
|
284
|
+
if (doc.generator.version !== packages.compliance)
|
|
285
|
+
return {
|
|
286
|
+
reproduced: false,
|
|
287
|
+
mismatchPath: "$.generator.version",
|
|
288
|
+
outerIntegrity,
|
|
289
|
+
};
|
|
290
|
+
if (!Array.isArray(docs))
|
|
291
|
+
return {
|
|
292
|
+
reproduced: false,
|
|
293
|
+
mismatchPath: "$.interchange.diagnosticDefinitions",
|
|
294
|
+
outerIntegrity,
|
|
295
|
+
};
|
|
296
|
+
const expected = new Set(runs.map((run) => run.definition.identities.definition));
|
|
297
|
+
const actual = new Set();
|
|
298
|
+
for (const [index, raw] of docs.entries()) {
|
|
299
|
+
try {
|
|
300
|
+
const document = raw;
|
|
301
|
+
const integrity = docToDiagnosticDefinition(document).definition.definitionIntegrity;
|
|
302
|
+
if (actual.has(integrity))
|
|
303
|
+
return {
|
|
304
|
+
reproduced: false,
|
|
305
|
+
mismatchPath: `$.interchange.diagnosticDefinitions[${index}]`,
|
|
306
|
+
outerIntegrity,
|
|
307
|
+
};
|
|
308
|
+
if (document.generator.name !== doc.generator.name ||
|
|
309
|
+
document.generator.version !== doc.generator.version)
|
|
310
|
+
return {
|
|
311
|
+
reproduced: false,
|
|
312
|
+
mismatchPath: `$.interchange.diagnosticDefinitions[${index}].generator`,
|
|
313
|
+
outerIntegrity,
|
|
314
|
+
};
|
|
315
|
+
actual.add(integrity);
|
|
316
|
+
}
|
|
317
|
+
catch {
|
|
318
|
+
return {
|
|
319
|
+
reproduced: false,
|
|
320
|
+
mismatchPath: `$.interchange.diagnosticDefinitions[${index}]`,
|
|
321
|
+
outerIntegrity,
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
if (canonicalJson([...actual].sort()) !== canonicalJson([...expected].sort()))
|
|
326
|
+
return {
|
|
327
|
+
reproduced: false,
|
|
328
|
+
mismatchPath: "$.interchange.diagnosticDefinitions",
|
|
329
|
+
outerIntegrity,
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
return { ...innerResult, outerIntegrity };
|
|
193
333
|
}
|
|
194
334
|
/**
|
|
195
335
|
* Verifies a re-run against a bundle: canonicalizes `rerunResults` and
|
|
@@ -210,6 +350,8 @@ function verifyWrapped(doc, rerunResults) {
|
|
|
210
350
|
* serialized cannot be verified.
|
|
211
351
|
*/
|
|
212
352
|
export function verifyBundle(bundle, rerunResults) {
|
|
213
|
-
return isWrappedBundleDoc(bundle)
|
|
353
|
+
return isWrappedBundleDoc(bundle)
|
|
354
|
+
? verifyWrapped(bundle, rerunResults)
|
|
355
|
+
: verifyUnwrapped(bundle, rerunResults);
|
|
214
356
|
}
|
|
215
357
|
//# sourceMappingURL=bundle.js.map
|
package/dist/bundle.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../src/bundle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,EACL,aAAa,EACb,OAAO,EACP,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,yBAAyB,GAO1B,MAAM,2BAA2B,CAAC;AAKnC,OAAO,EACL,qCAAqC,EACrC,+BAA+B,EAC/B,2BAA2B,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EACL,eAAe,EACf,sBAAsB,GAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAclC;;;;GAIG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,wBAAwB,CAAC;AAyF3E,MAAM,UAAU,YAAY,CAC1B,KAAwB;IAExB,MAAM,IAAI,GAA4B;QACpC,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC;IAC3D,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,cAAc;YACpC,qCAAqC,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7D,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC;gBAC5C,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,6CAA6C,EAC7C,oBAAoB,QAAQ,wBAAwB,CACrD,CAAC;YACJ,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,WAAW,CAAC;gBAC7C,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,oDAAoD,EACpD,eAAe,CAChB,CAAC;YACJ,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnE,KAAK,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,CAAC;gBAC7D,IACE,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;oBAC3C,aAAa,CAAC,QAAQ,CAAC;oBAEvB,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,kDAAkD,EAClD,oBAAoB,QAAQ,4BAA4B,CACzD,CAAC;YACN,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;gBAC3C,oBAAoB,EAAE,QAAQ,CAAC,IAAI;gBACnC,oBAAoB,EAAE,QAAQ,CAAC,IAAI;gBACnC,0BAA0B,EAAE,QAAQ,CAAC,UAAU;aAChD,CAAC;gBACA,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,OAAO;oBACrC,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,iCAAiC,IAAI,OAAO,OAAO,EAAE,EACrD,iBAAiB,IAAI,EAAE,CACxB,CAAC;YACN,IACE,KAAK,CAAC,IAAI,KAAK,SAAS;gBACxB,KAAK,CAAC,SAAS,KAAK,SAAS;gBAC7B,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,KAAK,0BAA0B;oBAClD,KAAK,CAAC,SAAS,CAAC,OAAO,KAAK,0BAA0B,CAAC;gBAEzD,MAAM,IAAI,eAAe,CACvB,oBAAoB,EACpB,0EAA0E,EAC1E,aAAa,CACd,CAAC;QACN,CAAC;QACD,IAAI,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC;IAChD,CAAC;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,KAAK,GAA0B,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;IACzE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAE3C,0EAA0E;IAC1E,mEAAmE;IACnE,6DAA6D;IAC7D,MAAM,aAAa,GAA4B;QAC7C,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC/D,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,2BAA2B,CAAC,GAAG,CAAC,CAAC;QAClD,WAAW,CAAC,GAAG,CACb,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,EACpC,yBAAyB,CAAC,QAAQ,EAAE;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,SAAS,EAAE;gBACT,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,0BAA0B;aACpC;SACF,CAAC,CACH,CAAC;IACJ,CAAC;IACD,MAAM,WAAW,GAAG;QAClB,SAAS,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;QACpC,UAAU,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC;QACtC,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;QAChC,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;YACxB,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC;gBACE,qBAAqB,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC7D,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,UAAU;oBAC5C,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,UAAU;oBAC1C,CAAC,CAAC,CAAC,CAAC;oBACJ,CAAC,CAAC,CAAC,CACN;aACF,CAAC;KACP,CAAC;IACF,MAAM,OAAO,GAAqB;QAChC,kBAAkB,EAAE,kCAAkC;QACtD,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,KAAK,CAAC,SAAS;YACxB,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE;YACxB,CAAC,CAAC;gBACE,IAAI,EAAE,0BAA0B;gBAChC,OAAO,EAAE,0BAA0B;aACpC;QACL,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,aAAa;QACrB,WAAW;QACX,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC,CAAC;KAC1E,CAAC;IACF,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,CAAC;AAC/B,CAAC;AA2BD,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACrE,OAAO,KAAK,CAAC;IACf,MAAM,KAAK,GAAY,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACpD,OAAO,KAAK,KAAK,MAAM,CAAC,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACtD,CAAC;AAED,uFAAuF;AACvF,SAAS,eAAe,CACtB,MAAe,EACf,KAAc,EACd,IAAY;IAEZ,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG;YACX,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;SAC5D,CAAC,IAAI,EAAE,CAAC;QACT,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC;YACjC,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC;gBAClD,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;gBAEjD,OAAO,OAAO,CAAC;YACjB,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;YAC/D,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;YACnE,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;QACjC,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,MAAM,GAAG,CAAC;IACtE,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,KAAK,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,8EAA8E;AAC9E,SAAS,eAAe,CACtB,MAA6B,EAC7B,YAAqB;IAErB,6EAA6E;IAC7E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,YAAY;IACZ,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;QAC5C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE,kCAAkC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,IAAI,MAAM,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,eAAe,CACvB,YAAY,EACZ,yCAAyC,CAC1C,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,EAAE,CAAC;QACnE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC1C,MAAM,IAAI,eAAe,CACvB,YAAY,EACZ,kDAAkD,CACnD,CAAC;QACJ,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,MAAM,IAAI,GAAG,oBAAoB,KAAK,GAAG,CAAC;YAC1C,MAAM,QAAQ,GAAG,+BAA+B,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC5D,IAAI,QAAQ,KAAK,IAAI;gBACnB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;YACvD,MAAM,WAAW,GAAI,GAA+B,CAClD,sBAAsB,CACb,CAAC;YACZ,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC;gBACvB,OAAO;oBACL,UAAU,EAAE,KAAK;oBACjB,YAAY,EAAE,GAAG,IAAI,uBAAuB;iBAC7C,CAAC;YACJ,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAI,GAA+B,CAAC,QAAQ,CAAC,MAAM;iBAC9D,QAAQ,CAAC;YACZ,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI;gBAC9B,CAAC,oBAAoB,EAAE,MAAM,CAAC;gBAC9B,CAAC,oBAAoB,EAAE,MAAM,CAAC;gBAC9B,CAAC,0BAA0B,EAAE,YAAY,CAAC;aAClC,EAAE,CAAC;gBACX,IACE,CAAC,aAAa,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;oBACrC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC,SAAS,CAAC;oBAErD,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;IACxC,MAAM,cAAc,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC;IACnD,MAAM,eAAe,GAAG,aAAa,CAAC,aAAa,CAAC,CAAC;IACrD,IAAI,cAAc,KAAK,eAAe;QAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IACpE,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,YAAY,EAAE,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,CAAC,IAAI,GAAG;KACvE,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,KAA+C;IAE/C,OAAQ,KAA4B,CAAC,IAAI,KAAK,QAAQ,CAAC;AACzD,CAAC;AAED,oFAAoF;AACpF,SAAS,aAAa,CACpB,GAAqB,EACrB,YAAqB;IAErB,MAAM,QAAQ,GAAY,GAAG,CAAC,MAAM,CAAC;IACrC,IACE,CAAC,aAAa,CAAC,QAAQ,CAAC;QACxB,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ;QACvC,OAAO,QAAQ,CAAC,MAAM,CAAC,KAAK,QAAQ,EACpC,CAAC;QACD,MAAM,IAAI,eAAe,CACvB,YAAY,EACZ,kFAAkF,CACnF,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,GAAG,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC9D,MAAM,IAAI,eAAe,CACvB,YAAY,EACZ,oDAAoD,CACrD,CAAC;IACJ,CAAC;IACD,uEAAuE;IACvE,qEAAqE;IACrE,MAAM,QAAQ,GAAG,OAAO,CACtB,aAAa,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,CACpE,CAAC;IACF,MAAM,MAAM,GAAG,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IACxE,MAAM,cAAc,GAAwB;QAC1C,EAAE,EAAE,QAAQ,KAAK,MAAM;QACvB,QAAQ;QACR,MAAM;KACP,CAAC;IACF,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;IAC5E,CAAC;IACD,MAAM,KAAK,GAA0B;QACnC,OAAO,EAAE,QAAQ,CAAC,SAAS,CAAC;QAC5B,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC;KACvB,CAAC;IACF,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,WAAW,CAAC,UAAU;QAAE,OAAO,EAAE,GAAG,WAAW,EAAE,cAAc,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;IAClE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChD,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACxB,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,IAAI,GAAI,GAAG,CAAC,WAAmD;SAClE,qBAAqB,CAAC;IACzB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,MAAM,QAAQ,GAAI,IAAI,CAAC,CAAC,CAA6B,CAAC,QAAQ,CAAC,MAAM;aAClE,QAAQ,CAAC;QACZ,IAAI,GAAG,CAAC,SAAS,EAAE,IAAI,KAAK,0BAA0B;YACpD,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,kBAAkB;gBAChC,cAAc;aACf,CAAC;QACJ,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,UAAU;YAC/C,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,qBAAqB;gBACnC,cAAc;aACf,CAAC;QACJ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACtB,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,qCAAqC;gBACnD,cAAc;aACf,CAAC;QACJ,MAAM,QAAQ,GAAG,IAAI,GAAG,CACtB,IAAI,CAAC,GAAG,CACN,CAAC,GAAG,EAAE,EAAE,CACL,GAA+B,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CACpE,CACF,CAAC;QACF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,GAA8B,CAAC;gBAChD,MAAM,SAAS,GACb,yBAAyB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC;gBACrE,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;oBACvB,OAAO;wBACL,UAAU,EAAE,KAAK;wBACjB,YAAY,EAAE,uCAAuC,KAAK,GAAG;wBAC7D,cAAc;qBACf,CAAC;gBACJ,IACE,QAAQ,CAAC,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI;oBAC9C,QAAQ,CAAC,SAAS,CAAC,OAAO,KAAK,GAAG,CAAC,SAAS,CAAC,OAAO;oBAEpD,OAAO;wBACL,UAAU,EAAE,KAAK;wBACjB,YAAY,EAAE,uCAAuC,KAAK,aAAa;wBACvE,cAAc;qBACf,CAAC;gBACJ,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,UAAU,EAAE,KAAK;oBACjB,YAAY,EAAE,uCAAuC,KAAK,GAAG;oBAC7D,cAAc;iBACf,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IACE,aAAa,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,aAAa,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YAEzE,OAAO;gBACL,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,qCAAqC;gBACnD,cAAc;aACf,CAAC;IACN,CAAC;IACD,OAAO,EAAE,GAAG,WAAW,EAAE,cAAc,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAgD,EAChD,YAAqB;IAErB,OAAO,kBAAkB,CAAC,MAAM,CAAC;QAC/B,CAAC,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC;QACrC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC5C,CAAC"}
|
package/dist/diagnosticRun.d.ts
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
|
-
import { type DiagnosticDeepReadonly, type CompiledDiagnosticDefinition, type JsonValue as CoreDiagnosticJsonValue, type NormalizedDiagnosticDefinitionIdentity, type NormalizedDiagnosticPreparationIdentity, type
|
|
1
|
+
import { type DiagnosticDeepReadonly, type CompiledDiagnosticDefinition, type JsonValue as CoreDiagnosticJsonValue, type NormalizedDiagnosticDefinitionIdentity, type NormalizedDiagnosticPreparationIdentity, type MetricDiagnosticsResult } from "@actuarial-ts/core";
|
|
2
2
|
import { type CompletedValidatedMetricDiagnosticsRun, type DiagnosticReviewIdentityBody, type DiagnosticReviewReceipt } from "@actuarial-ts/data";
|
|
3
3
|
export interface DiagnosticArtifactDigestBase {
|
|
4
4
|
readonly id: string;
|
|
5
|
-
readonly scope: "input" | "preparation";
|
|
6
|
-
readonly algorithm: string;
|
|
7
5
|
readonly value: string;
|
|
8
|
-
readonly
|
|
6
|
+
readonly scope: "input" | "preparation";
|
|
9
7
|
}
|
|
10
|
-
export type DiagnosticArtifactDigest = DiagnosticArtifactDigestBase & {
|
|
11
|
-
readonly assurance: "sdk-computed"
|
|
12
|
-
|
|
8
|
+
export type DiagnosticArtifactDigest = DiagnosticArtifactDigestBase & ({
|
|
9
|
+
readonly assurance: "sdk-computed";
|
|
10
|
+
readonly algorithm: "sha256";
|
|
11
|
+
readonly byteLength: number;
|
|
12
|
+
} | {
|
|
13
|
+
readonly assurance: "caller-declared";
|
|
14
|
+
readonly algorithm: string;
|
|
15
|
+
});
|
|
13
16
|
export type DiagnosticArtifactEvidence = {
|
|
14
17
|
readonly id: string;
|
|
15
18
|
readonly scope: "input" | "preparation";
|
|
@@ -21,49 +24,66 @@ export type DiagnosticArtifactEvidence = {
|
|
|
21
24
|
readonly assurance: "caller-declared";
|
|
22
25
|
readonly algorithm: string;
|
|
23
26
|
readonly value: string;
|
|
24
|
-
readonly byteLength: number;
|
|
25
27
|
};
|
|
26
28
|
export interface DiagnosticPreparationLineage {
|
|
27
|
-
readonly
|
|
29
|
+
readonly outputArtifactId: string;
|
|
28
30
|
readonly inputArtifactIds: readonly string[];
|
|
31
|
+
readonly transformationArtifactIds: readonly string[];
|
|
29
32
|
}
|
|
30
33
|
export interface DiagnosticRunManifest {
|
|
31
34
|
readonly definitionIntegrity: string;
|
|
32
35
|
readonly runPresetId: string | null;
|
|
33
36
|
readonly datasetArtifactId: string | null;
|
|
34
|
-
readonly packageVersions: Readonly<Record<string, string>>;
|
|
35
|
-
readonly preparation: DiagnosticDeepReadonly<NormalizedDiagnosticPreparationIdentity>;
|
|
36
37
|
readonly preparationFingerprint: string;
|
|
37
|
-
readonly
|
|
38
|
+
readonly inputArtifacts: readonly DiagnosticArtifactDigest[];
|
|
39
|
+
readonly preparationArtifacts: readonly DiagnosticArtifactDigest[];
|
|
40
|
+
readonly preparationLineage: readonly DiagnosticPreparationLineage[];
|
|
41
|
+
readonly inputAudit: DiagnosticDeepReadonly<NormalizedDiagnosticPreparationIdentity["inputAudit"]>;
|
|
42
|
+
readonly filter: DiagnosticDeepReadonly<NormalizedDiagnosticPreparationIdentity["filter"]>;
|
|
43
|
+
readonly groupMap: Readonly<Record<string, string>>;
|
|
44
|
+
readonly groupDimensions: Readonly<Record<string, CoreDiagnosticJsonValue>>;
|
|
45
|
+
readonly completePeriodCutoffs: DiagnosticDeepReadonly<NormalizedDiagnosticPreparationIdentity["completePeriodCutoffs"]>;
|
|
46
|
+
readonly expectedCellGridFingerprint: string | null;
|
|
47
|
+
readonly executionPolicy: {
|
|
48
|
+
readonly review: DiagnosticReviewReceipt;
|
|
49
|
+
readonly gate: CompletedValidatedMetricDiagnosticsRun["gate"];
|
|
50
|
+
};
|
|
51
|
+
readonly engine: {
|
|
52
|
+
readonly packages: {
|
|
53
|
+
readonly core: string;
|
|
54
|
+
readonly data: string;
|
|
55
|
+
readonly compliance: string;
|
|
56
|
+
};
|
|
57
|
+
readonly algorithmVersion: "diagnostics-1";
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
export type NormalizedDiagnosticRunManifestIdentity = DiagnosticDeepReadonly<Omit<DiagnosticRunManifest, "executionPolicy"> & {
|
|
38
61
|
readonly executionPolicy: {
|
|
39
62
|
readonly review: {
|
|
40
63
|
readonly body: DiagnosticReviewIdentityBody;
|
|
41
64
|
readonly reportFingerprint: string;
|
|
42
65
|
};
|
|
43
|
-
readonly gate:
|
|
66
|
+
readonly gate: DiagnosticRunManifest["executionPolicy"]["gate"];
|
|
44
67
|
};
|
|
45
|
-
|
|
46
|
-
readonly groupDimensions: Readonly<Record<string, CoreDiagnosticJsonValue>>;
|
|
47
|
-
readonly artifacts: readonly DiagnosticArtifactDigest[];
|
|
48
|
-
readonly lineage: readonly DiagnosticPreparationLineage[];
|
|
49
|
-
}
|
|
50
|
-
export type NormalizedDiagnosticRunManifestIdentity = DiagnosticDeepReadonly<DiagnosticRunManifest>;
|
|
68
|
+
}>;
|
|
51
69
|
export interface DiagnosticRunIdentity {
|
|
52
70
|
readonly runFingerprint: string;
|
|
53
71
|
readonly resultFingerprint: string;
|
|
54
72
|
readonly runResultFingerprint: string;
|
|
55
73
|
}
|
|
56
74
|
export interface DiagnosticRunProvenance extends DiagnosticRunIdentity {
|
|
57
|
-
readonly definition:
|
|
58
|
-
|
|
59
|
-
readonly
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
75
|
+
readonly definition: {
|
|
76
|
+
readonly definition: DiagnosticDeepReadonly<NormalizedDiagnosticDefinitionIdentity>;
|
|
77
|
+
readonly identities: {
|
|
78
|
+
readonly algorithm: "fnv1a64-jcs-v1";
|
|
79
|
+
readonly formulaById: Readonly<Record<string, string>>;
|
|
80
|
+
readonly calculationByInstanceId: Readonly<Record<string, string>>;
|
|
81
|
+
readonly definition: string;
|
|
82
|
+
};
|
|
63
83
|
};
|
|
64
|
-
readonly manifest:
|
|
84
|
+
readonly manifest: DiagnosticDeepReadonly<DiagnosticRunManifest>;
|
|
65
85
|
readonly review: DiagnosticReviewReceipt;
|
|
66
|
-
readonly result: DiagnosticDeepReadonly<
|
|
86
|
+
readonly result: DiagnosticDeepReadonly<MetricDiagnosticsResult>;
|
|
67
87
|
}
|
|
68
88
|
declare const verifiedDiagnosticRunProvenanceBrand: unique symbol;
|
|
69
89
|
export interface VerifiedDiagnosticRunProvenance extends DiagnosticRunProvenance {
|
|
@@ -71,11 +91,14 @@ export interface VerifiedDiagnosticRunProvenance extends DiagnosticRunProvenance
|
|
|
71
91
|
}
|
|
72
92
|
export interface CreateDiagnosticRunIdentityInput {
|
|
73
93
|
readonly completedRun: CompletedValidatedMetricDiagnosticsRun;
|
|
74
|
-
readonly
|
|
75
|
-
readonly
|
|
94
|
+
readonly inputArtifacts: readonly DiagnosticArtifactEvidence[];
|
|
95
|
+
readonly preparationArtifacts: readonly DiagnosticArtifactEvidence[];
|
|
96
|
+
readonly preparationLineage: readonly DiagnosticPreparationLineage[];
|
|
76
97
|
}
|
|
77
98
|
export declare function createDiagnosticRunIdentity(input: CreateDiagnosticRunIdentityInput): Promise<VerifiedDiagnosticRunProvenance>;
|
|
78
99
|
export declare function assertVerifiedDiagnosticRunProvenance(value: unknown): asserts value is VerifiedDiagnosticRunProvenance;
|
|
100
|
+
/** Verify serialized evidence by replaying the owning core/data public workflows. */
|
|
101
|
+
export declare function serializedDiagnosticRunMismatch(value: unknown, path?: string): string | null;
|
|
79
102
|
/** @internal Bundle authoring uses owner state rather than trusting the public snapshot. */
|
|
80
103
|
export declare function verifiedDefinitionForBundle(value: VerifiedDiagnosticRunProvenance): CompiledDiagnosticDefinition;
|
|
81
104
|
export declare function verifyDiagnosticRunIdentity(candidate: unknown, input: CreateDiagnosticRunIdentityInput): Promise<VerifiedDiagnosticRunProvenance>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diagnosticRun.d.ts","sourceRoot":"","sources":["../src/diagnosticRun.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"diagnosticRun.d.ts","sourceRoot":"","sources":["../src/diagnosticRun.ts"],"names":[],"mappings":"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"}
|