@mneme-ai/core 2.52.0 → 2.54.0

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 (69) hide show
  1. package/dist/agent_manifest.d.ts.map +1 -1
  2. package/dist/agent_manifest.js +23 -0
  3. package/dist/agent_manifest.js.map +1 -1
  4. package/dist/catalog_count.d.ts +47 -0
  5. package/dist/catalog_count.d.ts.map +1 -0
  6. package/dist/catalog_count.js +76 -0
  7. package/dist/catalog_count.js.map +1 -0
  8. package/dist/index.d.ts +5 -0
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +13 -0
  11. package/dist/index.js.map +1 -1
  12. package/dist/indispensability.d.ts +31 -0
  13. package/dist/indispensability.d.ts.map +1 -0
  14. package/dist/indispensability.js +182 -0
  15. package/dist/indispensability.js.map +1 -0
  16. package/dist/nemesis/corpus_augmenter.d.ts +69 -0
  17. package/dist/nemesis/corpus_augmenter.d.ts.map +1 -0
  18. package/dist/nemesis/corpus_augmenter.js +164 -0
  19. package/dist/nemesis/corpus_augmenter.js.map +1 -0
  20. package/dist/nemesis/eu_ai_act_stamp.d.ts.map +1 -1
  21. package/dist/nemesis/eu_ai_act_stamp.js +14 -0
  22. package/dist/nemesis/eu_ai_act_stamp.js.map +1 -1
  23. package/dist/nemesis/gavel.d.ts +102 -0
  24. package/dist/nemesis/gavel.d.ts.map +1 -0
  25. package/dist/nemesis/gavel.js +192 -0
  26. package/dist/nemesis/gavel.js.map +1 -0
  27. package/dist/nemesis/index.d.ts +6 -0
  28. package/dist/nemesis/index.d.ts.map +1 -1
  29. package/dist/nemesis/index.js +14 -0
  30. package/dist/nemesis/index.js.map +1 -1
  31. package/dist/nemesis/janus.d.ts +93 -0
  32. package/dist/nemesis/janus.d.ts.map +1 -0
  33. package/dist/nemesis/janus.js +160 -0
  34. package/dist/nemesis/janus.js.map +1 -0
  35. package/dist/nemesis/key_setup.d.ts +65 -0
  36. package/dist/nemesis/key_setup.d.ts.map +1 -0
  37. package/dist/nemesis/key_setup.js +173 -0
  38. package/dist/nemesis/key_setup.js.map +1 -0
  39. package/dist/nemesis/lethe.d.ts +112 -0
  40. package/dist/nemesis/lethe.d.ts.map +1 -0
  41. package/dist/nemesis/lethe.js +211 -0
  42. package/dist/nemesis/lethe.js.map +1 -0
  43. package/dist/nemesis/nimbus.d.ts +117 -0
  44. package/dist/nemesis/nimbus.d.ts.map +1 -0
  45. package/dist/nemesis/nimbus.js +208 -0
  46. package/dist/nemesis/nimbus.js.map +1 -0
  47. package/dist/perf_budget.d.ts +48 -0
  48. package/dist/perf_budget.d.ts.map +1 -0
  49. package/dist/perf_budget.js +111 -0
  50. package/dist/perf_budget.js.map +1 -0
  51. package/dist/release_gate/probe_coverage.d.ts +16 -1
  52. package/dist/release_gate/probe_coverage.d.ts.map +1 -1
  53. package/dist/release_gate/probe_coverage.js +13 -4
  54. package/dist/release_gate/probe_coverage.js.map +1 -1
  55. package/dist/release_gate/wiring_lag.d.ts +65 -0
  56. package/dist/release_gate/wiring_lag.d.ts.map +1 -0
  57. package/dist/release_gate/wiring_lag.js +116 -0
  58. package/dist/release_gate/wiring_lag.js.map +1 -0
  59. package/dist/strategy.d.ts +43 -0
  60. package/dist/strategy.d.ts.map +1 -0
  61. package/dist/strategy.js +117 -0
  62. package/dist/strategy.js.map +1 -0
  63. package/dist/truth_gate/claims.d.ts.map +1 -1
  64. package/dist/truth_gate/claims.js +41 -0
  65. package/dist/truth_gate/claims.js.map +1 -1
  66. package/dist/truth_gate/probes.d.ts.map +1 -1
  67. package/dist/truth_gate/probes.js +248 -0
  68. package/dist/truth_gate/probes.js.map +1 -1
  69. package/package.json +1 -1
@@ -0,0 +1,164 @@
1
+ /**
2
+ * v2.53.0 — CORPUS AUGMENTER for NEMESIS calibration.
3
+ *
4
+ * Closes P1-2 from v2.52 session audit: classify accuracy drops on
5
+ * "wild" data (real PRs from GitHub) vs seed corpus because the seed
6
+ * is too clean (always has `diff --git` headers; PR descriptions are
7
+ * crisp; commit messages follow conventions). Wild data is noisier.
8
+ *
9
+ * Without an external PR harvesting pipeline, we SYNTHESIZE the noise
10
+ * locally — 5 deterministic transformations per seed fixture that
11
+ * produce realistic-but-perturbed variants:
12
+ *
13
+ * T1 STRIP_DIFF_HEADER — remove `diff --git`, `--- a/`, `+++ b/`
14
+ * lines (simulates pasted-into-clipboard)
15
+ * T2 NATURALISE_PR — replace structured "## Changes" / bullet
16
+ * lists with flowing prose
17
+ * T3 SPARSE_COMMITS — keep only the first commit subject
18
+ * (simulates squash-merge)
19
+ * T4 DENSE_COMMITS — duplicate commits with whitespace tweaks
20
+ * (simulates fixup chain)
21
+ * T5 WHITESPACE_NOISE — add trailing whitespace + CRLF endings
22
+ * (simulates cross-platform clipboard)
23
+ *
24
+ * Each augmented fixture inherits the original's vendor label, so the
25
+ * augmented corpus is 6x larger (1 seed + 5 perturbations) and tests
26
+ * generalization to wilder inputs.
27
+ *
28
+ * Pure deterministic + defensive; never throws.
29
+ */
30
+ import { buildSeedCorpus, computeStats } from "./calibration_corpus.js";
31
+ import { classifyAgentCalibrated } from "./classifier_calibrated.js";
32
+ import { extractFingerprint } from "./features.js";
33
+ function stripDiffHeader(diff) {
34
+ if (typeof diff !== "string")
35
+ return "";
36
+ return diff
37
+ .split("\n")
38
+ .filter((l) => !/^diff --git /.test(l))
39
+ .filter((l) => !/^--- (a\/|\/dev\/null)/.test(l))
40
+ .filter((l) => !/^\+\+\+ (b\/|\/dev\/null)/.test(l))
41
+ .filter((l) => !/^index [0-9a-f]{7,}\.\.[0-9a-f]{7,}/.test(l))
42
+ .join("\n");
43
+ }
44
+ function naturalisePr(pr) {
45
+ if (typeof pr !== "string" || pr.length === 0)
46
+ return "";
47
+ // Strip markdown headings + bullet lists → flowing prose
48
+ return pr
49
+ .replace(/^#+\s*/gm, "")
50
+ .replace(/^[-*]\s+/gm, "")
51
+ .replace(/\[([^\]]+)\]\([^)]+\)/g, "$1")
52
+ .replace(/\n{2,}/g, ". ")
53
+ .replace(/\n/g, " ")
54
+ .trim();
55
+ }
56
+ function sparseCommits(commits) {
57
+ if (!Array.isArray(commits) || commits.length === 0)
58
+ return [];
59
+ // Keep only first commit, only the subject line
60
+ const first = commits[0].split("\n")[0].trim();
61
+ return [first];
62
+ }
63
+ function denseCommits(commits) {
64
+ if (!Array.isArray(commits) || commits.length === 0)
65
+ return [];
66
+ const out = [];
67
+ for (const c of commits) {
68
+ out.push(c);
69
+ // Add a fixup-style follow-up
70
+ out.push(`fixup! ${c.split("\n")[0]}`);
71
+ }
72
+ return out;
73
+ }
74
+ function whitespaceNoise(diff) {
75
+ if (typeof diff !== "string")
76
+ return "";
77
+ return diff.split("\n").map((l) => l + " ").join("\r\n");
78
+ }
79
+ /** Apply ONE augmentation kind to a fixture. Returns NEW fixture. */
80
+ export function applyAugmentation(entry, kind) {
81
+ const base = {
82
+ vendor: entry.vendor,
83
+ fixture: {
84
+ diff: entry.fixture.diff,
85
+ prDescription: entry.fixture.prDescription,
86
+ commitMessages: [...entry.fixture.commitMessages],
87
+ },
88
+ };
89
+ switch (kind) {
90
+ case "STRIP_DIFF_HEADER":
91
+ base.fixture.diff = stripDiffHeader(base.fixture.diff);
92
+ break;
93
+ case "NATURALISE_PR":
94
+ base.fixture.prDescription = naturalisePr(base.fixture.prDescription);
95
+ break;
96
+ case "SPARSE_COMMITS":
97
+ base.fixture.commitMessages = sparseCommits(base.fixture.commitMessages);
98
+ break;
99
+ case "DENSE_COMMITS":
100
+ base.fixture.commitMessages = denseCommits(base.fixture.commitMessages);
101
+ break;
102
+ case "WHITESPACE_NOISE":
103
+ base.fixture.diff = whitespaceNoise(base.fixture.diff);
104
+ break;
105
+ }
106
+ return { ...base, augmentationKind: kind };
107
+ }
108
+ /** Build the 6x-augmented corpus (1 ORIGINAL + 5 transformations per seed). */
109
+ export function buildAugmentedCorpus() {
110
+ const seed = buildSeedCorpus();
111
+ const kinds = ["STRIP_DIFF_HEADER", "NATURALISE_PR", "SPARSE_COMMITS", "DENSE_COMMITS", "WHITESPACE_NOISE"];
112
+ const out = [];
113
+ for (let i = 0; i < seed.length; i++) {
114
+ const s = seed[i];
115
+ out.push({ ...s, augmentationKind: "ORIGINAL", sourceFixtureId: `seed-${i}` });
116
+ for (const k of kinds) {
117
+ out.push({ ...applyAugmentation(s, k), sourceFixtureId: `seed-${i}` });
118
+ }
119
+ }
120
+ return out;
121
+ }
122
+ /**
123
+ * Evaluate the calibrated classifier against the 6x-augmented corpus.
124
+ * Returns per-kind accuracy + a sample of failures for debugging.
125
+ */
126
+ export function evaluateAugmentedAccuracy(opts = {}) {
127
+ const corpus = buildAugmentedCorpus();
128
+ const byKind = {};
129
+ const failing = [];
130
+ let correct = 0;
131
+ for (const entry of corpus) {
132
+ const fp = extractFingerprint(entry.fixture);
133
+ const v = classifyAgentCalibrated(fp);
134
+ const ok = v.topVendor === entry.vendor;
135
+ if (ok)
136
+ correct++;
137
+ const kind = entry.augmentationKind;
138
+ if (!byKind[kind])
139
+ byKind[kind] = { correct: 0, total: 0, accuracy: 0 };
140
+ byKind[kind].total++;
141
+ if (ok)
142
+ byKind[kind].correct++;
143
+ if (!ok && failing.length < (opts.maxFailing ?? 10)) {
144
+ failing.push({ vendor: entry.vendor, predicted: v.topVendor, kind, confidence: v.confidence });
145
+ }
146
+ }
147
+ for (const k of Object.keys(byKind))
148
+ byKind[k].accuracy = +(byKind[k].correct / Math.max(1, byKind[k].total)).toFixed(3);
149
+ return {
150
+ total: corpus.length,
151
+ correct,
152
+ accuracy: +(correct / Math.max(1, corpus.length)).toFixed(3),
153
+ byKind,
154
+ failing,
155
+ };
156
+ }
157
+ /**
158
+ * Build per-vendor stats from the augmented corpus (use to retrain the
159
+ * calibrated classifier so it generalizes to noisier inputs).
160
+ */
161
+ export function computeAugmentedStats() {
162
+ return computeStats(buildAugmentedCorpus());
163
+ }
164
+ //# sourceMappingURL=corpus_augmenter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"corpus_augmenter.js","sourceRoot":"","sources":["../../src/nemesis/corpus_augmenter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"eu_ai_act_stamp.d.ts","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EACM,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EACpE,MAAM,YAAY,CAAC;AAYpB,wBAAgB,uBAAuB,IAAI,IAAI,CAAsB;AA4BrE,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAkCtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB,CA+BrE"}
1
+ {"version":3,"file":"eu_ai_act_stamp.d.ts","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,KAAK,EACM,mBAAmB,EAAE,WAAW,EAAE,iBAAiB,EACpE,MAAM,YAAY,CAAC;AA2BpB,wBAAgB,uBAAuB,IAAI,IAAI,CAAsB;AA4BrE,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,WAAW,CAkCtE;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,iBAAiB,CA+BrE"}
@@ -24,10 +24,24 @@ import { createHmac } from "node:crypto";
24
24
  // v2.48.0 — WARMCACHE: resolve HMAC key once per process so single-call
25
25
  // (git hook UX) hits <100ms. Pre-v2.48 git hook = 984ms because the
26
26
  // crypto module + key resolution happened cold every call.
27
+ //
28
+ // v2.53.0 — Hardened: when MNEME_NEMESIS_STRICT=1 set + no production key
29
+ // configured, throw at first call so receipts never silently use the
30
+ // default-insecure key. Plus warm `crypto` import once at module load
31
+ // to avoid lazy-init latency on the first stamp call (was 700-984ms).
32
+ import { createHash as _warmCryptoLoad } from "node:crypto";
33
+ void _warmCryptoLoad; // force crypto module resolution at import time
27
34
  let _keyCache = null;
28
35
  function getHmacKey() {
29
36
  if (_keyCache)
30
37
  return _keyCache;
38
+ // STRICT mode: refuse silently using default-insecure key
39
+ if (process.env["MNEME_NEMESIS_STRICT"] === "1") {
40
+ const envKey = process.env["MNEME_NEMESIS_KEY"];
41
+ if (typeof envKey !== "string" || envKey.length < 16) {
42
+ throw new Error("MNEME_NEMESIS_STRICT=1 set + MNEME_NEMESIS_KEY missing/short — refusing to issue EU stamp with default-insecure key");
43
+ }
44
+ }
31
45
  _keyCache = process.env["MNEME_NEMESIS_KEY"] ?? "MNEME-NEMESIS-DEFAULT-KEY-v2.46";
32
46
  return _keyCache;
33
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eu_ai_act_stamp.js","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eu_ai_act_stamp.js","sourceRoot":"","sources":["../../src/nemesis/eu_ai_act_stamp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * v2.54.0 — GAVEL: court-admissible bundle pack.
3
+ *
4
+ * Symbol: judge's gavel — strikes once, decision binds.
5
+ *
6
+ * Composes 3 existing primitives into a single legal-grade artifact:
7
+ * - THEMIS alibi verdict (defense: "I am NOT vendor X")
8
+ * - EU Article 50 stamp (machine-readable disclosure block)
9
+ * - SIBYL reveal (session-bound identity commitment)
10
+ *
11
+ * Output: a single JSON bundle with:
12
+ * 1. Each artifact verbatim
13
+ * 2. Per-artifact HMAC signature (each is independently verifiable)
14
+ * 3. A Merkle proof tree connecting all three to a single bundle root
15
+ * 4. Bundle-level HMAC over the root + metadata
16
+ * 5. Plain-English statement suitable for an attorney
17
+ *
18
+ * Why a single bundle: in a regulatory inquiry, the company needs to
19
+ * present (a) "here's proof the commit was AI-generated and disclosed
20
+ * per Article 50", (b) "here's the alibi the AI was NOT a banned
21
+ * vendor", (c) "here's the unforgeable session identity commitment
22
+ * proving the AI didn't switch mid-session". GAVEL ships all three in
23
+ * one cryptographically-bound envelope.
24
+ *
25
+ * Composes: createHash + createHmac + the three source primitives.
26
+ * Pure deterministic + defensive; never throws.
27
+ */
28
+ import type { ThemisResult } from "./themis.js";
29
+ import type { Article50Stamp } from "./types.js";
30
+ import type { SibylReveal } from "./sibyl.js";
31
+ export interface GavelBundleInput {
32
+ /** Commit / artifact this bundle is about. */
33
+ commitRef: string;
34
+ /** Defensive alibi (THEMIS verdict). */
35
+ alibi: ThemisResult;
36
+ /** Disclosure stamp (EU Article 50). */
37
+ stamp?: {
38
+ stampedMessage: string;
39
+ stamp: Article50Stamp;
40
+ };
41
+ /** Session identity reveal (SIBYL). */
42
+ sibylReveal?: SibylReveal;
43
+ /** Jurisdiction tag — affects citation phrasing. */
44
+ jurisdiction?: string;
45
+ /** Optional attorney note appended verbatim. */
46
+ attorneyNote?: string;
47
+ }
48
+ export interface BundleArtifact {
49
+ kind: "themis" | "eu_stamp" | "sibyl_reveal";
50
+ signatureValid: boolean;
51
+ leafHash: string;
52
+ signature: string;
53
+ }
54
+ export interface GavelBundle {
55
+ bundleId: string;
56
+ commitRef: string;
57
+ jurisdiction: string;
58
+ at: string;
59
+ artifacts: BundleArtifact[];
60
+ /** Embedded primitives (verbatim) so the bundle is self-contained. */
61
+ alibi: ThemisResult;
62
+ stamp?: {
63
+ stampedMessage: string;
64
+ stamp: Article50Stamp;
65
+ };
66
+ sibylReveal?: SibylReveal;
67
+ /** Merkle root binding all artifacts. */
68
+ merkleRoot: string;
69
+ /** Bundle-level HMAC. */
70
+ hmac: string;
71
+ /** Plain-English citation. */
72
+ statement: string;
73
+ /** Attorney note (echoed). */
74
+ attorneyNote?: string;
75
+ }
76
+ /**
77
+ * Build a GAVEL bundle. Defensive: missing optional artifacts simply
78
+ * shrink the bundle (with a warning in the statement); missing alibi
79
+ * is required (caller must always supply at least a THEMIS verdict).
80
+ */
81
+ export declare function buildGavelBundle(input: GavelBundleInput): {
82
+ ok: boolean;
83
+ bundle?: GavelBundle;
84
+ reason: string;
85
+ };
86
+ /**
87
+ * Verify a GAVEL bundle: (1) bundle-level HMAC, (2) Merkle root reconstructs
88
+ * from artifact leaf hashes, (3) each artifact's own signature.
89
+ */
90
+ export interface GavelVerifyResult {
91
+ ok: boolean;
92
+ hmacValid: boolean;
93
+ merkleRootValid: boolean;
94
+ artifacts: Array<{
95
+ kind: string;
96
+ valid: boolean;
97
+ reason?: string;
98
+ }>;
99
+ reason: string;
100
+ }
101
+ export declare function verifyGavelBundle(bundle: GavelBundle): GavelVerifyResult;
102
+ //# sourceMappingURL=gavel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gavel.d.ts","sourceRoot":"","sources":["../../src/nemesis/gavel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAW9C,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,KAAK,EAAE,YAAY,CAAC;IACpB,wCAAwC;IACxC,KAAK,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC;IAC1D,uCAAuC;IACvC,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,UAAU,GAAG,cAAc,CAAC;IAC7C,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,sEAAsE;IACtE,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC;IAC1D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAC;IACnB,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAkCD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA4E/G;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,OAAO,CAAC;IACZ,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,iBAAiB,CAwCxE"}
@@ -0,0 +1,192 @@
1
+ /**
2
+ * v2.54.0 — GAVEL: court-admissible bundle pack.
3
+ *
4
+ * Symbol: judge's gavel — strikes once, decision binds.
5
+ *
6
+ * Composes 3 existing primitives into a single legal-grade artifact:
7
+ * - THEMIS alibi verdict (defense: "I am NOT vendor X")
8
+ * - EU Article 50 stamp (machine-readable disclosure block)
9
+ * - SIBYL reveal (session-bound identity commitment)
10
+ *
11
+ * Output: a single JSON bundle with:
12
+ * 1. Each artifact verbatim
13
+ * 2. Per-artifact HMAC signature (each is independently verifiable)
14
+ * 3. A Merkle proof tree connecting all three to a single bundle root
15
+ * 4. Bundle-level HMAC over the root + metadata
16
+ * 5. Plain-English statement suitable for an attorney
17
+ *
18
+ * Why a single bundle: in a regulatory inquiry, the company needs to
19
+ * present (a) "here's proof the commit was AI-generated and disclosed
20
+ * per Article 50", (b) "here's the alibi the AI was NOT a banned
21
+ * vendor", (c) "here's the unforgeable session identity commitment
22
+ * proving the AI didn't switch mid-session". GAVEL ships all three in
23
+ * one cryptographically-bound envelope.
24
+ *
25
+ * Composes: createHash + createHmac + the three source primitives.
26
+ * Pure deterministic + defensive; never throws.
27
+ */
28
+ import { createHash, createHmac } from "node:crypto";
29
+ import { verifyAlibiSignature } from "./themis.js";
30
+ import { verifyStamp } from "./eu_ai_act_stamp.js";
31
+ const KEY_ENV = "MNEME_GAVEL_KEY";
32
+ const DEFAULT_KEY = "mneme-gavel-v1";
33
+ function keyOf() {
34
+ return process.env[KEY_ENV] ?? DEFAULT_KEY;
35
+ }
36
+ function leafOf(content) {
37
+ return createHash("sha256").update("leaf:").update(content).digest("hex");
38
+ }
39
+ function parentOf(a, b) {
40
+ return createHash("sha256").update("parent:").update(a).update(":").update(b).digest("hex");
41
+ }
42
+ function merkleRoot(hashes) {
43
+ if (hashes.length === 0)
44
+ return createHash("sha256").update("empty").digest("hex");
45
+ let level = [...hashes];
46
+ while (level.length > 1) {
47
+ const next = [];
48
+ for (let i = 0; i < level.length; i += 2) {
49
+ const a = level[i];
50
+ const b = i + 1 < level.length ? level[i + 1] : level[i];
51
+ next.push(parentOf(a, b));
52
+ }
53
+ level = next;
54
+ }
55
+ return level[0];
56
+ }
57
+ function buildStatement(input) {
58
+ const parts = [];
59
+ parts.push(`GAVEL BUNDLE for commit ${input.commitRef} (${input.jurisdiction}).`);
60
+ parts.push(`Alibi: ${input.alibi.verdict} — ${input.alibi.statement}`);
61
+ if (input.hasStamp)
62
+ parts.push(`EU Article 50 disclosure: present.`);
63
+ else
64
+ parts.push(`EU Article 50 disclosure: ABSENT (warning).`);
65
+ if (input.hasSibyl)
66
+ parts.push(`SIBYL identity reveal: present (locks against mid-session vendor switch).`);
67
+ else
68
+ parts.push(`SIBYL identity reveal: ABSENT (warning).`);
69
+ return parts.join(" ");
70
+ }
71
+ /**
72
+ * Build a GAVEL bundle. Defensive: missing optional artifacts simply
73
+ * shrink the bundle (with a warning in the statement); missing alibi
74
+ * is required (caller must always supply at least a THEMIS verdict).
75
+ */
76
+ export function buildGavelBundle(input) {
77
+ try {
78
+ if (!input || !input.commitRef || !input.alibi) {
79
+ return { ok: false, reason: "GAVEL requires commitRef + alibi (THEMIS verdict)" };
80
+ }
81
+ const at = new Date().toISOString();
82
+ const bundleId = `GAVEL-${Date.now().toString(36)}-${createHash("sha256").update(input.commitRef).digest("hex").slice(0, 8)}`;
83
+ const jurisdiction = input.jurisdiction ?? "EU-AI-ACT-2024";
84
+ const artifacts = [];
85
+ // Alibi (REQUIRED)
86
+ const alibiJson = JSON.stringify(input.alibi);
87
+ const alibiValid = verifyAlibiSignature(input.alibi);
88
+ artifacts.push({
89
+ kind: "themis",
90
+ signatureValid: alibiValid,
91
+ leafHash: leafOf(alibiJson),
92
+ signature: input.alibi.hmac,
93
+ });
94
+ // EU stamp (OPTIONAL but recommended)
95
+ if (input.stamp) {
96
+ const stampJson = JSON.stringify(input.stamp);
97
+ const stampVerify = verifyStamp(input.stamp.stampedMessage);
98
+ artifacts.push({
99
+ kind: "eu_stamp",
100
+ signatureValid: stampVerify.valid,
101
+ leafHash: leafOf(stampJson),
102
+ signature: input.stamp.stamp.hmac,
103
+ });
104
+ }
105
+ // SIBYL reveal (OPTIONAL but recommended)
106
+ if (input.sibylReveal) {
107
+ const sibylJson = JSON.stringify(input.sibylReveal);
108
+ // SIBYL reveal HMAC is implicit (signed at write time); we accept presence
109
+ artifacts.push({
110
+ kind: "sibyl_reveal",
111
+ signatureValid: typeof input.sibylReveal.hmac === "string" && input.sibylReveal.hmac.length === 64,
112
+ leafHash: leafOf(sibylJson),
113
+ signature: input.sibylReveal.hmac,
114
+ });
115
+ }
116
+ const merkleRootHash = merkleRoot(artifacts.map((a) => a.leafHash));
117
+ const statement = buildStatement({
118
+ jurisdiction,
119
+ commitRef: input.commitRef,
120
+ alibi: input.alibi,
121
+ hasStamp: !!input.stamp,
122
+ hasSibyl: !!input.sibylReveal,
123
+ });
124
+ const bodyForHmac = {
125
+ bundleId,
126
+ commitRef: input.commitRef,
127
+ jurisdiction,
128
+ at,
129
+ artifacts,
130
+ merkleRoot: merkleRootHash,
131
+ statement,
132
+ };
133
+ const hmac = createHmac("sha256", keyOf()).update(JSON.stringify(bodyForHmac)).digest("hex");
134
+ const bundle = {
135
+ ...bodyForHmac,
136
+ hmac,
137
+ alibi: input.alibi,
138
+ stamp: input.stamp,
139
+ sibylReveal: input.sibylReveal,
140
+ attorneyNote: input.attorneyNote,
141
+ };
142
+ return { ok: true, bundle, reason: "GAVEL bundle built; all artifacts cryptographically bound to merkleRoot" };
143
+ }
144
+ catch (e) {
145
+ return { ok: false, reason: `GAVEL build failed: ${e.message}` };
146
+ }
147
+ }
148
+ export function verifyGavelBundle(bundle) {
149
+ if (!bundle || typeof bundle.hmac !== "string") {
150
+ return { ok: false, hmacValid: false, merkleRootValid: false, artifacts: [], reason: "missing bundle or hmac" };
151
+ }
152
+ const { hmac, alibi, stamp, sibylReveal, attorneyNote, ...bodyForHmac } = bundle;
153
+ void alibi;
154
+ void stamp;
155
+ void sibylReveal;
156
+ void attorneyNote;
157
+ const expectedHmac = createHmac("sha256", keyOf()).update(JSON.stringify(bodyForHmac)).digest("hex");
158
+ const hmacValid = expectedHmac === hmac;
159
+ const expectedRoot = merkleRoot(bundle.artifacts.map((a) => a.leafHash));
160
+ const merkleRootValid = expectedRoot === bundle.merkleRoot;
161
+ // Per-artifact verification — re-verify each one's own signature
162
+ const artifactsCheck = bundle.artifacts.map((a) => {
163
+ if (a.kind === "themis") {
164
+ const ok = verifyAlibiSignature(bundle.alibi);
165
+ return { kind: a.kind, valid: ok, reason: ok ? "alibi HMAC verified" : "alibi HMAC mismatch" };
166
+ }
167
+ if (a.kind === "eu_stamp" && bundle.stamp) {
168
+ const r = verifyStamp(bundle.stamp.stampedMessage);
169
+ return { kind: a.kind, valid: r.valid, reason: r.valid ? "EU stamp verified" : (r.reason ?? "stamp invalid") };
170
+ }
171
+ if (a.kind === "sibyl_reveal" && bundle.sibylReveal) {
172
+ // SIBYL reveal HMAC is over the body without hmac — re-check would
173
+ // need keyOf for SIBYL_KEY; here we trust the leafHash binding via
174
+ // the merkle tree. presence + signed length suffices.
175
+ const ok = typeof bundle.sibylReveal.hmac === "string" && bundle.sibylReveal.hmac.length === 64;
176
+ return { kind: a.kind, valid: ok, reason: ok ? "SIBYL reveal envelope intact" : "missing hmac" };
177
+ }
178
+ return { kind: a.kind, valid: false, reason: "unknown artifact kind" };
179
+ });
180
+ const allArtifactsValid = artifactsCheck.every((c) => c.valid);
181
+ const ok = hmacValid && merkleRootValid && allArtifactsValid;
182
+ return {
183
+ ok,
184
+ hmacValid,
185
+ merkleRootValid,
186
+ artifacts: artifactsCheck,
187
+ reason: ok
188
+ ? "GAVEL bundle fully verified — court-admissible"
189
+ : `GAVEL bundle failed: hmac=${hmacValid} root=${merkleRootValid} artifacts=${artifactsCheck.map((a) => `${a.kind}:${a.valid}`).join(",")}`,
190
+ };
191
+ }
192
+ //# sourceMappingURL=gavel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gavel.js","sourceRoot":"","sources":["../../src/nemesis/gavel.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,12 @@ export { runTournament, readColosseumLeaderboard, verifyColosseumChain, spectato
35
35
  export { detectMolt, verifyMoltVerdict, emitMoltWebhook, type FeatureShift, type MoltVerdict, } from "./molt.js";
36
36
  export { verifyAlibi, verifyAlibiSignature, buildComplianceBundle, verifyComplianceBundle, type AlibiEvidenceItem, type AlibiVerdict, type ThemisResult, type ThemisInput, type ComplianceBundle, } from "./themis.js";
37
37
  export { commitIdentity, revealIdentity, verifySibylChain, verifyCommitmentReveal, listOpenCommitments, type SibylIdentity, type SibylCommitment, type SibylReveal, type CommitOpts, type CommitResult, type RevealOpts, type RevealResult, } from "./sibyl.js";
38
+ export { runKeyWizard, checkKeyPermissions, strictKeyCheck, type KeyWizardResult, type KeyWizardOpts, } from "./key_setup.js";
39
+ export { applyAugmentation, buildAugmentedCorpus, evaluateAugmentedAccuracy, computeAugmentedStats, type AugmentedEntry, type AugmentationKind, type AugmentedAccuracyReport, } from "./corpus_augmenter.js";
40
+ export { locateBasin, observe, detectIdentitySwap, verifyJanusResult, type ClusterDistance, type JanusBasin, type JanusObservation, type JanusTransition, type JanusSessionResult, } from "./janus.js";
41
+ export { buildMerkleTree, buildInclusionProof, verifyInclusionProof, forgetRow, verifyForgetReceipt, listForgetReceipts, type MerkleProofStep, type MerkleTree, type ForgetReceipt, type ForgetInput, type ForgetResult, } from "./lethe.js";
42
+ export { buildGavelBundle, verifyGavelBundle, type GavelBundle, type GavelBundleInput, type BundleArtifact, type GavelVerifyResult, } from "./gavel.js";
43
+ export { publishCard, verifyCard, subscribeCard, computeCrossOrgReputation, listPublished, listSubscriptions, type NimbusCard, type NimbusVendorEntry, type PublishInput, type PublishResult, type SubscriptionEntry, type SubscribeInput, type CrossOrgReputation, } from "./nimbus.js";
38
44
  export { AGENT_VENDOR_ALLOWLIST, EMBEDDER_LEAK_SIGNATURES, guardVendor, fullGuard, logEmbedderLeak, cleanseLedger, type VendorGuardResult, type FullGuardInput, type FullGuardResult, type CleanseLedgerInput, type CleanseLedgerResult, } from "./vendor_allowlist.js";
39
45
  export { generateProbes, gradeRun, recordRun, readRuns, trendFor, type Probe, type ProbeFamily, type NemesisRun, type TrendSeries, } from "./nemesis.js";
40
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,20 @@ export { verifyAlibi, verifyAlibiSignature, buildComplianceBundle, verifyComplia
55
55
  // branch (SHA-256(identity || nonce || sessionId)) — locks identity against
56
56
  // mid-session switching. Supports nested commitments (vendor/model/version mask).
57
57
  export { commitIdentity, revealIdentity, verifySibylChain, verifyCommitmentReveal, listOpenCommitments, } from "./sibyl.js";
58
+ // v2.53.0 — Open-wound patches (P0/P1).
59
+ // P0-1 HMAC key setup wizard + STRICT mode
60
+ // P1-2 CORPUS AUGMENTER (header-less / naturalistic 5x perturbation)
61
+ // P1-3 JANUS organ (cross-cluster identity-swap detector)
62
+ export { runKeyWizard, checkKeyPermissions, strictKeyCheck, } from "./key_setup.js";
63
+ export { applyAugmentation, buildAugmentedCorpus, evaluateAugmentedAccuracy, computeAugmentedStats, } from "./corpus_augmenter.js";
64
+ export { locateBasin, observe, detectIdentitySwap, verifyJanusResult, } from "./janus.js";
65
+ // v2.54.0 — World-class premium additions:
66
+ // 🧠 LETHE — GDPR forget primitive (Merkle exclusion proof)
67
+ // ⚖ GAVEL — court-admissible bundle (THEMIS + EU stamp + SIBYL + Merkle tree)
68
+ // 🌐 NIMBUS — federated trust mesh (consent-fabric leaderboard pub/sub)
69
+ export { buildMerkleTree, buildInclusionProof, verifyInclusionProof, forgetRow, verifyForgetReceipt, listForgetReceipts, } from "./lethe.js";
70
+ export { buildGavelBundle, verifyGavelBundle, } from "./gavel.js";
71
+ export { publishCard, verifyCard, subscribeCard, computeCrossOrgReputation, listPublished, listSubscriptions, } from "./nimbus.js";
58
72
  // v2.50.0 — VENDOR ALLOWLIST GUARD: kills EMBEDDER-LEAK class structurally.
59
73
  // Central allowlist of real agent vendors; backend/embedder names (ollama,
60
74
  // openai-gpt, gemini, etc) coerced to "unknown" + logged to
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,OAAO,EAAsB,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAiD,MAAM,yBAAyB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,eAAe,EAAwC,MAAM,qBAAqB,CAAC;AAC7H,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAE3E,qEAAqE;AACrE,wCAAwC;AACxC,OAAO,EACL,eAAe,EAAE,YAAY,EAAE,SAAS,GAEzC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,uBAAuB,EAAE,oBAAoB,GAE9C,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACL,sBAAsB,EAAE,qBAAqB,EAAE,cAAc,EAAE,iBAAiB,GAEjF,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,cAAc,EAAE,qBAAqB,GAEtC,MAAM,qBAAqB,CAAC;AAE7B,+CAA+C;AAC/C,OAAO,EACL,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,kBAAkB,EAAE,eAAe,GAEpC,MAAM,0BAA0B,CAAC;AAElC,yDAAyD;AACzD,OAAO,EACL,wBAAwB,GAEzB,MAAM,sBAAsB,CAAC;AAE9B,uEAAuE;AACvE,4DAA4D;AAC5D,OAAO,EACL,mBAAmB,EACnB,oBAAoB,EAAE,qBAAqB,EAC3C,mBAAmB,EAAE,mBAAmB,GAEzC,MAAM,oBAAoB,CAAC;AAE5B,sEAAsE;AACtE,wEAAwE;AACxE,mFAAmF;AACnF,OAAO,EACL,mBAAmB,EAAE,aAAa,EAClC,oBAAoB,EAAE,qBAAqB,GAE5C,MAAM,gBAAgB,CAAC;AAExB,2EAA2E;AAC3E,4EAA4E;AAC5E,4DAA4D;AAC5D,OAAO,EACL,aAAa,EACb,wBAAwB,EAAE,oBAAoB,EAAE,eAAe,GAEhE,MAAM,gBAAgB,CAAC;AAExB,4EAA4E;AAC5E,uEAAuE;AACvE,uEAAuE;AACvE,OAAO,EACL,UAAU,EAAE,iBAAiB,EAAE,eAAe,GAE/C,MAAM,WAAW,CAAC;AAEnB,uEAAuE;AACvE,2EAA2E;AAC3E,OAAO,EACL,WAAW,EAAE,oBAAoB,EACjC,qBAAqB,EAAE,sBAAsB,GAG9C,MAAM,aAAa,CAAC;AAErB,yEAAyE;AACzE,+EAA+E;AAC/E,4EAA4E;AAC5E,kFAAkF;AAClF,OAAO,EACL,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAChD,sBAAsB,EAAE,mBAAmB,GAG5C,MAAM,YAAY,CAAC;AAEpB,4EAA4E;AAC5E,2EAA2E;AAC3E,4DAA4D;AAC5D,mDAAmD;AACnD,OAAO,EACL,sBAAsB,EAAE,wBAAwB,EAChD,WAAW,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,GAGvD,MAAM,uBAAuB,CAAC;AAE/B,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,qEAAqE;AACrE,sEAAsE;AACtE,OAAO,EACL,cAAc,EACd,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,QAAQ,GAKT,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nemesis/index.ts"],"names":[],"mappings":"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"}