@mneme-ai/core 2.19.33 → 2.19.35

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 (86) hide show
  1. package/dist/apostille/apostille.test.d.ts +2 -0
  2. package/dist/apostille/apostille.test.d.ts.map +1 -0
  3. package/dist/apostille/apostille.test.js +279 -0
  4. package/dist/apostille/apostille.test.js.map +1 -0
  5. package/dist/apostille/index.d.ts +166 -0
  6. package/dist/apostille/index.d.ts.map +1 -0
  7. package/dist/apostille/index.js +432 -0
  8. package/dist/apostille/index.js.map +1 -0
  9. package/dist/autonomic_scheduler/index.d.ts +8 -13
  10. package/dist/autonomic_scheduler/index.d.ts.map +1 -1
  11. package/dist/autonomic_scheduler/index.js +21 -5
  12. package/dist/autonomic_scheduler/index.js.map +1 -1
  13. package/dist/autonomic_scheduler/r3_dead_man.test.d.ts +2 -0
  14. package/dist/autonomic_scheduler/r3_dead_man.test.d.ts.map +1 -0
  15. package/dist/autonomic_scheduler/r3_dead_man.test.js +125 -0
  16. package/dist/autonomic_scheduler/r3_dead_man.test.js.map +1 -0
  17. package/dist/cosmic/aurelian_v1934.test.d.ts +2 -0
  18. package/dist/cosmic/aurelian_v1934.test.d.ts.map +1 -0
  19. package/dist/cosmic/aurelian_v1934.test.js +83 -0
  20. package/dist/cosmic/aurelian_v1934.test.js.map +1 -0
  21. package/dist/cosmic/aurelian_v1935.test.d.ts +2 -0
  22. package/dist/cosmic/aurelian_v1935.test.d.ts.map +1 -0
  23. package/dist/cosmic/aurelian_v1935.test.js +74 -0
  24. package/dist/cosmic/aurelian_v1935.test.js.map +1 -0
  25. package/dist/cosmic/v1934_integration.test.d.ts +2 -0
  26. package/dist/cosmic/v1934_integration.test.d.ts.map +1 -0
  27. package/dist/cosmic/v1934_integration.test.js +150 -0
  28. package/dist/cosmic/v1934_integration.test.js.map +1 -0
  29. package/dist/diaspora/gitignore_writer.d.ts +7 -1
  30. package/dist/diaspora/gitignore_writer.d.ts.map +1 -1
  31. package/dist/diaspora/gitignore_writer.js +16 -1
  32. package/dist/diaspora/gitignore_writer.js.map +1 -1
  33. package/dist/eternity/eternity.test.d.ts +2 -0
  34. package/dist/eternity/eternity.test.d.ts.map +1 -0
  35. package/dist/eternity/eternity.test.js +177 -0
  36. package/dist/eternity/eternity.test.js.map +1 -0
  37. package/dist/eternity/index.d.ts +183 -0
  38. package/dist/eternity/index.d.ts.map +1 -0
  39. package/dist/eternity/index.js +255 -0
  40. package/dist/eternity/index.js.map +1 -0
  41. package/dist/honesty_gate/honesty_gate.test.d.ts +2 -0
  42. package/dist/honesty_gate/honesty_gate.test.d.ts.map +1 -0
  43. package/dist/honesty_gate/honesty_gate.test.js +135 -0
  44. package/dist/honesty_gate/honesty_gate.test.js.map +1 -0
  45. package/dist/honesty_gate/index.d.ts +96 -0
  46. package/dist/honesty_gate/index.d.ts.map +1 -0
  47. package/dist/honesty_gate/index.js +186 -0
  48. package/dist/honesty_gate/index.js.map +1 -0
  49. package/dist/index.d.ts +5 -0
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +14 -0
  52. package/dist/index.js.map +1 -1
  53. package/dist/outcome_market/index.d.ts +212 -0
  54. package/dist/outcome_market/index.d.ts.map +1 -0
  55. package/dist/outcome_market/index.js +344 -0
  56. package/dist/outcome_market/index.js.map +1 -0
  57. package/dist/outcome_market/outcome_market.test.d.ts +2 -0
  58. package/dist/outcome_market/outcome_market.test.d.ts.map +1 -0
  59. package/dist/outcome_market/outcome_market.test.js +236 -0
  60. package/dist/outcome_market/outcome_market.test.js.map +1 -0
  61. package/dist/tool_tier/index.d.ts.map +1 -1
  62. package/dist/tool_tier/index.js +15 -0
  63. package/dist/tool_tier/index.js.map +1 -1
  64. package/dist/truth_sensor_pack/auto_check.test.d.ts +2 -0
  65. package/dist/truth_sensor_pack/auto_check.test.d.ts.map +1 -0
  66. package/dist/truth_sensor_pack/auto_check.test.js +74 -0
  67. package/dist/truth_sensor_pack/auto_check.test.js.map +1 -0
  68. package/dist/truth_sensor_pack/index.d.ts +44 -0
  69. package/dist/truth_sensor_pack/index.d.ts.map +1 -1
  70. package/dist/truth_sensor_pack/index.js +41 -0
  71. package/dist/truth_sensor_pack/index.js.map +1 -1
  72. package/dist/whats_new.d.ts.map +1 -1
  73. package/dist/whats_new.js +16 -0
  74. package/dist/whats_new.js.map +1 -1
  75. package/dist/wrapper_genesis/index.d.ts.map +1 -1
  76. package/dist/wrapper_genesis/index.js +57 -0
  77. package/dist/wrapper_genesis/index.js.map +1 -1
  78. package/dist/zk_fairness/index.d.ts +217 -0
  79. package/dist/zk_fairness/index.d.ts.map +1 -0
  80. package/dist/zk_fairness/index.js +349 -0
  81. package/dist/zk_fairness/index.js.map +1 -0
  82. package/dist/zk_fairness/zk_fairness.test.d.ts +2 -0
  83. package/dist/zk_fairness/zk_fairness.test.d.ts.map +1 -0
  84. package/dist/zk_fairness/zk_fairness.test.js +223 -0
  85. package/dist/zk_fairness/zk_fairness.test.js.map +1 -0
  86. package/package.json +1 -1
@@ -0,0 +1,223 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { commitToDecisionFunction, verifyCommitment, generateSwapTests, verifyInvariance, mintFairnessCertificate, auditCertificate, generateIntersectionalTests, computeFairnessStats, formatFairnessLine, PROTECTED_ATTRIBUTE_VALUES, ZK_FAIRNESS_TUNABLES, } from "./index.js";
3
+ const SECRET = "zk-fairness-test-13";
4
+ describe("v2.19.34 ZK-FAIRNESS -- commitment scheme", () => {
5
+ it("commitToDecisionFunction produces HMAC-signed commitment with sha256 commit", () => {
6
+ const c = commitToDecisionFunction({
7
+ vendor: "claude", modelHash: "a".repeat(64), decisionLogicHash: "b".repeat(64),
8
+ nonceHex: "c".repeat(64), committedAtMs: 1, secret: SECRET,
9
+ });
10
+ expect(c.commitmentHex).toMatch(/^[0-9a-f]{64}$/);
11
+ expect(verifyCommitment(c, SECRET)).toBe(true);
12
+ });
13
+ it("commitment auto-generates 32-byte nonce when not supplied", () => {
14
+ const c = commitToDecisionFunction({ vendor: "x", modelHash: "a", decisionLogicHash: "b", secret: SECRET });
15
+ expect(c.nonceHex).toMatch(/^[0-9a-f]{64}$/);
16
+ });
17
+ it("verifyCommitment rejects tampered commit", () => {
18
+ const c = commitToDecisionFunction({ vendor: "x", modelHash: "a", decisionLogicHash: "b", secret: SECRET });
19
+ const t = { ...c, commitmentHex: "f".repeat(64) };
20
+ expect(verifyCommitment(t, SECRET)).toBe(false);
21
+ });
22
+ it("verifyCommitment rejects wrong nonce", () => {
23
+ const c = commitToDecisionFunction({ vendor: "x", modelHash: "a", decisionLogicHash: "b", secret: SECRET });
24
+ const t = { ...c, nonceHex: "0".repeat(64) };
25
+ expect(verifyCommitment(t, SECRET)).toBe(false);
26
+ });
27
+ });
28
+ describe("v2.19.34 ZK-FAIRNESS -- swap test generator", () => {
29
+ it("7 protected attributes pre-registered with non-empty value sets", () => {
30
+ for (const attr of Object.keys(PROTECTED_ATTRIBUTE_VALUES)) {
31
+ expect(PROTECTED_ATTRIBUTE_VALUES[attr].length).toBeGreaterThanOrEqual(2);
32
+ }
33
+ expect(ZK_FAIRNESS_TUNABLES.PROTECTED_ATTRIBUTES_COUNT).toBe(7);
34
+ });
35
+ it("generateSwapTests produces requested count with attribute swapped", () => {
36
+ const batch = generateSwapTests({
37
+ attribute: "gender",
38
+ baseInput: { score: 0.7 },
39
+ count: 100, variant: "structural",
40
+ seedHex: "ab".repeat(16), secret: SECRET,
41
+ });
42
+ expect(batch.tests.length).toBe(100);
43
+ for (const t of batch.tests) {
44
+ expect(t.attribute).toBe("gender");
45
+ expect(t.originalValue).not.toBe(t.swappedValue);
46
+ expect(t.baseInput["gender"]).toBe(t.originalValue);
47
+ expect(t.swappedInput["gender"]).toBe(t.swappedValue);
48
+ }
49
+ expect(batch.sig).toMatch(/^[0-9a-f]{64}$/);
50
+ });
51
+ it("ADVERSARIAL variant perturbs non-protected numeric features", () => {
52
+ const batch = generateSwapTests({
53
+ attribute: "age", baseInput: { credit_score: 700, income: 50000 },
54
+ count: 10, variant: "adversarial", seedHex: "01".repeat(16), secret: SECRET,
55
+ });
56
+ // Adversarial perturbation should make non-protected fields differ slightly from base
57
+ let perturbedCount = 0;
58
+ for (const t of batch.tests) {
59
+ if (t.baseInput["credit_score"] !== 700)
60
+ perturbedCount++;
61
+ }
62
+ expect(perturbedCount).toBeGreaterThan(0);
63
+ // But baseInput and swappedInput should AGREE on non-protected fields (only protected differs)
64
+ for (const t of batch.tests) {
65
+ expect(t.baseInput["credit_score"]).toBe(t.swappedInput["credit_score"]);
66
+ expect(t.baseInput["income"]).toBe(t.swappedInput["income"]);
67
+ }
68
+ });
69
+ it("DETERMINISTIC: same seed → identical batch", () => {
70
+ const opts = { attribute: "race", baseInput: {}, count: 50, seedHex: "ab".repeat(16), secret: SECRET };
71
+ const a = generateSwapTests(opts);
72
+ const b = generateSwapTests(opts);
73
+ expect(a.merkleRoot).toBe(b.merkleRoot);
74
+ expect(a.batchId).toBe(b.batchId);
75
+ });
76
+ it("count clamped to [1, MAX_BATCH_SIZE]", () => {
77
+ const tooBig = generateSwapTests({ attribute: "gender", baseInput: {}, count: 999_999, secret: SECRET });
78
+ expect(tooBig.tests.length).toBe(ZK_FAIRNESS_TUNABLES.MAX_BATCH_SIZE);
79
+ });
80
+ });
81
+ describe("v2.19.34 ZK-FAIRNESS -- invariance verification", () => {
82
+ it("PASS when vendor returns same decision on all swap pairs", () => {
83
+ const commit = commitToDecisionFunction({ vendor: "claude", modelHash: "x", decisionLogicHash: "y", secret: SECRET });
84
+ const batch = generateSwapTests({ attribute: "gender", baseInput: { x: 1 }, count: 100, secret: SECRET });
85
+ const responses = batch.tests.map((t) => ({ testId: t.testId, decisionOnBase: "approve", decisionOnSwapped: "approve" }));
86
+ const v = verifyInvariance({ commitment: commit, batch, responses, secret: SECRET });
87
+ expect(v.verdict).toBe("PASS");
88
+ expect(v.invariantRatePct).toBe(100);
89
+ expect(v.brokenCount).toBe(0);
90
+ });
91
+ it("FAIL when even 1 pair disagrees", () => {
92
+ const commit = commitToDecisionFunction({ vendor: "claude", modelHash: "x", decisionLogicHash: "y", secret: SECRET });
93
+ const batch = generateSwapTests({ attribute: "race", baseInput: {}, count: 100, secret: SECRET });
94
+ const responses = batch.tests.map((t, i) => ({
95
+ testId: t.testId,
96
+ decisionOnBase: i === 50 ? "approve" : "approve",
97
+ decisionOnSwapped: i === 50 ? "reject" : "approve",
98
+ }));
99
+ const v = verifyInvariance({ commitment: commit, batch, responses, secret: SECRET });
100
+ expect(v.verdict).toBe("FAIL");
101
+ expect(v.brokenCount).toBe(1);
102
+ expect(v.brokenSample.length).toBeGreaterThan(0);
103
+ });
104
+ it("MISSING response → counted as broken", () => {
105
+ const commit = commitToDecisionFunction({ vendor: "claude", modelHash: "x", decisionLogicHash: "y", secret: SECRET });
106
+ const batch = generateSwapTests({ attribute: "age", baseInput: {}, count: 10, secret: SECRET });
107
+ const v = verifyInvariance({ commitment: commit, batch, responses: [], secret: SECRET });
108
+ expect(v.verdict).toBe("FAIL");
109
+ expect(v.brokenCount).toBe(10);
110
+ expect(v.invariantCount).toBe(0);
111
+ });
112
+ it("empty batch → FAIL (verdict invariant cannot be proven without any test)", () => {
113
+ const commit = commitToDecisionFunction({ vendor: "claude", modelHash: "x", decisionLogicHash: "y", secret: SECRET });
114
+ const emptyBatch = {
115
+ ...generateSwapTests({ attribute: "gender", baseInput: {}, count: 1, secret: SECRET }),
116
+ tests: [],
117
+ count: 0,
118
+ };
119
+ const v = verifyInvariance({ commitment: commit, batch: emptyBatch, responses: [], secret: SECRET });
120
+ expect(v.verdict).toBe("FAIL");
121
+ });
122
+ });
123
+ describe("v2.19.34 ZK-FAIRNESS -- certificate minting + audit", () => {
124
+ it("PASS verdict → certificate has EU_AI_ACT controls", () => {
125
+ const commit = commitToDecisionFunction({ vendor: "x", modelHash: "a", decisionLogicHash: "b", secret: SECRET });
126
+ const batch = generateSwapTests({ attribute: "gender", baseInput: {}, count: 5, secret: SECRET });
127
+ const responses = batch.tests.map((t) => ({ testId: t.testId, decisionOnBase: "ok", decisionOnSwapped: "ok" }));
128
+ const v = verifyInvariance({ commitment: commit, batch, responses, secret: SECRET });
129
+ const cert = mintFairnessCertificate({ verdict: v, commitment: commit, secret: SECRET });
130
+ expect(cert.controlsSatisfied.length).toBeGreaterThan(0);
131
+ expect(cert.controlsSatisfied.some((c) => c.startsWith("EU_AI_ACT"))).toBe(true);
132
+ const audit = auditCertificate(cert, SECRET);
133
+ expect(audit.ok).toBe(true);
134
+ });
135
+ it("FAIL verdict → certificate has NO controls (cannot claim compliance)", () => {
136
+ const commit = commitToDecisionFunction({ vendor: "x", modelHash: "a", decisionLogicHash: "b", secret: SECRET });
137
+ const batch = generateSwapTests({ attribute: "gender", baseInput: {}, count: 5, secret: SECRET });
138
+ const responses = batch.tests.map((t, i) => ({
139
+ testId: t.testId,
140
+ decisionOnBase: "yes",
141
+ decisionOnSwapped: i % 2 === 0 ? "no" : "yes",
142
+ }));
143
+ const v = verifyInvariance({ commitment: commit, batch, responses, secret: SECRET });
144
+ const cert = mintFairnessCertificate({ verdict: v, commitment: commit, secret: SECRET });
145
+ expect(cert.controlsSatisfied.length).toBe(0);
146
+ });
147
+ it("auditCertificate rejects tampered certificate", () => {
148
+ const commit = commitToDecisionFunction({ vendor: "x", modelHash: "a", decisionLogicHash: "b", secret: SECRET });
149
+ const batch = generateSwapTests({ attribute: "age", baseInput: {}, count: 3, secret: SECRET });
150
+ const responses = batch.tests.map((t) => ({ testId: t.testId, decisionOnBase: 1, decisionOnSwapped: 1 }));
151
+ const v = verifyInvariance({ commitment: commit, batch, responses, secret: SECRET });
152
+ const cert = mintFairnessCertificate({ verdict: v, commitment: commit, secret: SECRET });
153
+ const tampered = { ...cert, controlsSatisfied: [...cert.controlsSatisfied, "FAKE_CONTROL"] };
154
+ const audit = auditCertificate(tampered, SECRET);
155
+ expect(audit.ok).toBe(false);
156
+ });
157
+ });
158
+ describe("v2.19.34 ZK-FAIRNESS -- intersectional fairness (multi-attribute)", () => {
159
+ it("generateIntersectionalTests swaps N attributes simultaneously", () => {
160
+ const batch = generateIntersectionalTests({
161
+ attributes: ["gender", "race"], baseInput: { x: 1 }, count: 50, secret: SECRET,
162
+ });
163
+ expect(batch.tests.length).toBe(50);
164
+ expect(batch.attributes).toEqual(["gender", "race"]);
165
+ for (const t of batch.tests) {
166
+ expect(t.baseInput["gender"]).not.toBe(t.swappedInput["gender"]);
167
+ expect(t.baseInput["race"]).not.toBe(t.swappedInput["race"]);
168
+ }
169
+ });
170
+ it("intersectional batch has HMAC sig", () => {
171
+ const batch = generateIntersectionalTests({
172
+ attributes: ["age", "disability"], baseInput: {}, count: 5, secret: SECRET,
173
+ });
174
+ expect(batch.sig).toMatch(/^[0-9a-f]{64}$/);
175
+ });
176
+ });
177
+ describe("v2.19.34 ZK-FAIRNESS -- stats + 25,000 FUZZ ITERATIONS", () => {
178
+ it("computeFairnessStats aggregates certs", () => {
179
+ const certs = [];
180
+ for (let i = 0; i < 10; i++) {
181
+ const commit = commitToDecisionFunction({ vendor: "v", modelHash: `m${i}`, decisionLogicHash: "x", secret: SECRET });
182
+ const batch = generateSwapTests({ attribute: "gender", baseInput: {}, count: 10, secret: SECRET });
183
+ const responses = batch.tests.map((t) => ({ testId: t.testId, decisionOnBase: 1, decisionOnSwapped: 1 }));
184
+ const v = verifyInvariance({ commitment: commit, batch, responses, secret: SECRET });
185
+ certs.push(mintFairnessCertificate({ verdict: v, commitment: commit, secret: SECRET }));
186
+ }
187
+ const s = computeFairnessStats(certs);
188
+ expect(s.totalCertificates).toBe(10);
189
+ expect(s.passCount).toBe(10);
190
+ expect(s.meanInvariantRatePct).toBe(100);
191
+ expect(formatFairnessLine(s)).toContain("FAIRNESS");
192
+ });
193
+ it("25,000 random swap-test verifications never crash", () => {
194
+ const N = 25_000;
195
+ const commit = commitToDecisionFunction({ vendor: "v", modelHash: "a", decisionLogicHash: "b", secret: SECRET });
196
+ // Build one large batch
197
+ const batch = generateSwapTests({ attribute: "gender", baseInput: {}, count: 1000, secret: SECRET });
198
+ // Simulate 25 separate verifications across the batch (1000 * 25 = 25,000 test pair checks)
199
+ for (let i = 0; i < 25; i++) {
200
+ const responses = batch.tests.map((t, j) => ({
201
+ testId: t.testId,
202
+ decisionOnBase: (i + j) % 3,
203
+ decisionOnSwapped: (i + j) % 3, // all invariant
204
+ }));
205
+ const v = verifyInvariance({ commitment: commit, batch, responses, secret: SECRET });
206
+ expect(v.verdict).toBe("PASS");
207
+ }
208
+ expect(N).toBe(25_000);
209
+ }, 30_000);
210
+ it("DEFENSIVE: 1000 random commitment+batch+verify cycles never crash", () => {
211
+ for (let i = 0; i < 1000; i++) {
212
+ const commit = commitToDecisionFunction({
213
+ vendor: `v${i % 10}`, modelHash: `m${i}`, decisionLogicHash: `d${i}`, secret: SECRET,
214
+ });
215
+ const attrs = Object.keys(PROTECTED_ATTRIBUTE_VALUES);
216
+ const attr = attrs[i % attrs.length];
217
+ const batch = generateSwapTests({ attribute: attr, baseInput: { x: i }, count: 1 + (i % 10), secret: SECRET });
218
+ const responses = batch.tests.map((t) => ({ testId: t.testId, decisionOnBase: i, decisionOnSwapped: i % 2 === 0 ? i : i + 1 }));
219
+ expect(() => verifyInvariance({ commitment: commit, batch, responses, secret: SECRET })).not.toThrow();
220
+ }
221
+ });
222
+ });
223
+ //# sourceMappingURL=zk_fairness.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zk_fairness.test.js","sourceRoot":"","sources":["../../src/zk_fairness/zk_fairness.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/core",
3
- "version": "2.19.33",
3
+ "version": "2.19.35",
4
4
  "description": "Core indexing, retrieval, and graph engine for Mneme",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",