@mneme-ai/core 2.88.0 → 2.89.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.
@@ -0,0 +1,175 @@
1
+ /**
2
+ * v2.89.0 — 💎 AXIOM LATTICE tests (ALETHEIA's living proof graph).
3
+ *
4
+ * L1 record + read round-trip; node is signed + hash-chained
5
+ * L2 contradiction: opposite-verdict (same subject, TRUE vs FALSE)
6
+ * L3 contradiction: negation-pair (X vs not-X, both TRUE)
7
+ * L4 contradiction: value-conflict (subject = two different values, both TRUE)
8
+ * L5 no false contradiction across DIFFERENT subjects / against UNKNOWN
9
+ * L6 whyTrue walks the proof to bedrock (deterministic) through dependencies
10
+ * L7 retract CASCADE — dependents → PENDING_REVERIFY + signed frame
11
+ * L8 verifyLattice OFFLINE — clean chain ok; tamper the body → caught; forge a
12
+ * receipt verdict → caught; break the chain (delete a middle node) → caught
13
+ * L9 latticeStatus counts (active/retracted/pending) + open contradictions
14
+ * L10 QUAN — never throws over fuzz; chain stays valid across N random records
15
+ * L11 assertClaim({record}) persists + surfaces contradictions end-to-end
16
+ */
17
+ import { describe, it, expect } from "vitest";
18
+ import { mkdtempSync, writeFileSync } from "node:fs";
19
+ import { tmpdir } from "node:os";
20
+ import { join } from "node:path";
21
+ import { recordAssertion, detectContradictions, whyTrue, retract, latticeStatus, verifyLattice, readLattice, normalizeSubject, } from "./lattice.js";
22
+ import { assertClaim } from "./aletheia.js";
23
+ function repo() { return mkdtempSync(join(tmpdir(), "lattice-")); }
24
+ const T = 1_700_000_000_000;
25
+ function latPath(r) { return join(r, ".mneme", "aletheia", "lattice.jsonl"); }
26
+ describe("v2.89.0 💎 AXIOM LATTICE — ALETHEIA's living proof graph", () => {
27
+ it("L1 record + read round-trip; node is signed + hash-chained", () => {
28
+ const r = repo();
29
+ const a = recordAssertion(r, { claim: "2+2=4", verdict: "TRUE", pTrue: 1, lineageSummary: ["arithmetic"] }, { issuedAt: T });
30
+ expect(a.node.verdict).toBe("TRUE");
31
+ expect(a.node.receipt).not.toBeNull();
32
+ expect(a.node.prev).toBeNull(); // first node = root
33
+ const b = recordAssertion(r, { claim: "10*10=100", verdict: "TRUE", pTrue: 1, lineageSummary: ["arithmetic"] }, { issuedAt: T });
34
+ expect(b.node.prev).toBe(a.node.receipt.receiptId); // chained
35
+ expect(readLattice(r).length).toBe(2);
36
+ });
37
+ it("L2 contradiction: opposite-verdict", () => {
38
+ const r = repo();
39
+ recordAssertion(r, { claim: "2+2=4", verdict: "TRUE", pTrue: 1, lineageSummary: ["arithmetic"] }, { issuedAt: T });
40
+ const c = recordAssertion(r, { claim: "2+2=4", verdict: "FALSE", pTrue: 0, lineageSummary: ["arithmetic"] }, { issuedAt: T });
41
+ expect(c.contradictions.map((x) => x.kind)).toContain("opposite-verdict");
42
+ });
43
+ it("L3 contradiction: negation-pair", () => {
44
+ const r = repo();
45
+ recordAssertion(r, { claim: "mneme is written in TypeScript", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
46
+ const c = recordAssertion(r, { claim: "mneme is not written in TypeScript", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
47
+ expect(c.contradictions.map((x) => x.kind)).toContain("negation-pair");
48
+ });
49
+ it("L4 contradiction: value-conflict", () => {
50
+ const r = repo();
51
+ recordAssertion(r, { claim: "the project version is 1.2", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
52
+ const c = recordAssertion(r, { claim: "the project version is 1.3", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
53
+ expect(c.contradictions.map((x) => x.kind)).toContain("value-conflict");
54
+ });
55
+ it("L5 no false contradiction across different subjects / against UNKNOWN", () => {
56
+ const r = repo();
57
+ recordAssertion(r, { claim: "the sky is blue", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
58
+ expect(detectContradictions(r, "the grass is green", "TRUE").length).toBe(0); // different subject
59
+ expect(detectContradictions(r, "the sky is blue", "UNKNOWN").length).toBe(0); // UNKNOWN asserts nothing
60
+ // re-affirming the SAME claim+verdict is not a contradiction
61
+ expect(detectContradictions(r, "the sky is blue", "TRUE").length).toBe(0);
62
+ });
63
+ it("L6 whyTrue walks the proof to bedrock through dependencies", () => {
64
+ const r = repo();
65
+ const a = recordAssertion(r, { claim: "2+2=4", verdict: "TRUE", pTrue: 1, lineageSummary: ["arithmetic"] }, { issuedAt: T });
66
+ const b = recordAssertion(r, { claim: "the sum check passes", verdict: "TRUE", pTrue: 0.9, lineageSummary: ["apoptosis"] }, { issuedAt: T, dependsOn: [a.node.id] });
67
+ const w = whyTrue(r, b.node.id);
68
+ expect(w.found).toBe(true);
69
+ expect(w.proof.length).toBeGreaterThanOrEqual(2);
70
+ expect(w.proof.some((l) => l.includes("bedrock"))).toBe(true); // reaches the deterministic axiom
71
+ expect(whyTrue(r, "no such claim").found).toBe(false);
72
+ });
73
+ it("L7 retract CASCADE — dependents → PENDING_REVERIFY + signed frame", () => {
74
+ const r = repo();
75
+ const a = recordAssertion(r, { claim: "base fact", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
76
+ const b = recordAssertion(r, { claim: "derived from base", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T, dependsOn: [a.node.id] });
77
+ const c = recordAssertion(r, { claim: "derived from derived", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T, dependsOn: [b.node.id] });
78
+ const res = retract(r, a.node.id, "refuted", { issuedAt: T });
79
+ expect(res.retracted).toContain(a.node.id);
80
+ expect(res.cascade).toContain(b.node.id); // direct dependent
81
+ expect(res.cascade).toContain(c.node.id); // transitive dependent
82
+ expect(res.retractionReceiptId).not.toBeNull();
83
+ const nodes = readLattice(r);
84
+ expect(nodes.find((n) => n.id === a.node.id).status).toBe("RETRACTED");
85
+ expect(nodes.find((n) => n.id === b.node.id).status).toBe("PENDING_REVERIFY");
86
+ expect(nodes.find((n) => n.id === c.node.id).status).toBe("PENDING_REVERIFY");
87
+ });
88
+ it("L8 verifyLattice OFFLINE — clean ok; body-tamper / forged-receipt / broken-chain all caught", () => {
89
+ const mk = () => {
90
+ const r = repo();
91
+ recordAssertion(r, { claim: "alpha is true", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
92
+ recordAssertion(r, { claim: "beta is true", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
93
+ recordAssertion(r, { claim: "gamma is true", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
94
+ return r;
95
+ };
96
+ // clean
97
+ expect(verifyLattice(mk()).ok).toBe(true);
98
+ // (a) tamper the NODE BODY (flip a verdict in the jsonl) → mismatch vs signed payload
99
+ {
100
+ const r = mk();
101
+ const nodes = readLattice(r);
102
+ nodes[1].verdict = "FALSE";
103
+ writeFileSync(latPath(r), nodes.map((n) => JSON.stringify(n)).join("\n") + "\n", "utf8");
104
+ const v = verifyLattice(r);
105
+ expect(v.ok).toBe(false);
106
+ expect(v.badSignatures).toContain(nodes[1].id);
107
+ }
108
+ // (b) forge the VERDICT inside the signed receipt payload → Ed25519 sig breaks
109
+ {
110
+ const r = mk();
111
+ const nodes = readLattice(r);
112
+ nodes[1].receipt.payload.verdict = "FALSE";
113
+ nodes[1].verdict = "FALSE"; // keep body consistent so only the sig check fails
114
+ writeFileSync(latPath(r), nodes.map((n) => JSON.stringify(n)).join("\n") + "\n", "utf8");
115
+ expect(verifyLattice(r).ok).toBe(false);
116
+ }
117
+ // (c) break the CHAIN — delete the middle node so prev no longer matches
118
+ {
119
+ const r = mk();
120
+ const nodes = readLattice(r);
121
+ const without = [nodes[0], nodes[2]];
122
+ writeFileSync(latPath(r), without.map((n) => JSON.stringify(n)).join("\n") + "\n", "utf8");
123
+ const v = verifyLattice(r);
124
+ expect(v.ok).toBe(false);
125
+ expect(v.brokenAt).toBe(nodes[2].seq);
126
+ }
127
+ });
128
+ it("L9 latticeStatus counts + open contradictions among ACTIVE truths only", () => {
129
+ const r = repo();
130
+ recordAssertion(r, { claim: "x is red", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
131
+ recordAssertion(r, { claim: "x is not red", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T }); // contradiction
132
+ const a = recordAssertion(r, { claim: "y is fine", verdict: "TRUE", pTrue: 0.9 }, { issuedAt: T });
133
+ let s = latticeStatus(r);
134
+ expect(s.nodes).toBe(3);
135
+ expect(s.active).toBe(3);
136
+ expect(s.openContradictions).toBe(1);
137
+ expect(s.chainValid).toBe(true);
138
+ // retracting one side closes the contradiction
139
+ retract(r, a.node.id, "n/a", { issuedAt: T });
140
+ retract(r, readLattice(r)[1].id, "resolved", { issuedAt: T });
141
+ s = latticeStatus(r);
142
+ expect(s.openContradictions).toBe(0);
143
+ expect(s.retracted).toBe(2);
144
+ });
145
+ it("L10 QUAN — never throws over fuzz; chain stays valid across random records", () => {
146
+ const r = repo();
147
+ for (let i = 0; i < 50; i++) {
148
+ const claim = ["", " ", `fact ${i}`, `v = ${i}`, `${i}+${i}=${i * 2}`, "weird chars", `${i} is not ${i}`][i % 7];
149
+ const verdict = ["TRUE", "FALSE", "UNKNOWN"][i % 3];
150
+ expect(() => recordAssertion(r, { claim, verdict, pTrue: (i % 10) / 10 }, { issuedAt: T })).not.toThrow();
151
+ }
152
+ expect(verifyLattice(r).ok).toBe(true);
153
+ expect(() => latticeStatus(r)).not.toThrow();
154
+ expect(() => normalizeSubject("")).not.toThrow();
155
+ expect(() => whyTrue(r, "nothing")).not.toThrow();
156
+ expect(() => retract(r, "nothing", "x", { issuedAt: T })).not.toThrow();
157
+ });
158
+ it("L11 assertClaim({record}) persists + surfaces contradictions end-to-end", async () => {
159
+ const r = repo();
160
+ const t1 = await assertClaim(r, "2+2=4", { record: true, issuedAt: T });
161
+ expect(t1.verdict).toBe("TRUE");
162
+ expect(t1.latticeNodeId).toBeTruthy();
163
+ expect(t1.contradictions).toEqual([]);
164
+ // assert the SAME subject with the opposite truth → contradiction surfaced inline
165
+ // (force it via custom sensor so we get a definite FALSE on the same subject)
166
+ const t2 = await assertClaim(r, "2+2=4", {
167
+ record: true, issuedAt: T,
168
+ sensors: [{ id: "forced", weight: 2, run: () => ({ sensor: "forced", verdict: "FALSE", confidence: 1 }) }],
169
+ });
170
+ expect(t2.verdict).toBe("FALSE");
171
+ expect(t2.contradictions?.some((c) => c.kind === "opposite-verdict")).toBe(true);
172
+ expect(verifyLattice(r).ok).toBe(true);
173
+ });
174
+ });
175
+ //# sourceMappingURL=lattice.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lattice.test.js","sourceRoot":"","sources":["../../src/truth_kernel/lattice.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.88.0",
3
+ "version": "2.89.0",
4
4
  "description": "Core indexing, retrieval, and graph engine for Mneme",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",