@mneme-ai/core 1.93.0 → 1.94.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.
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/qx_supernova/benchmark.d.ts +40 -0
- package/dist/qx_supernova/benchmark.d.ts.map +1 -0
- package/dist/qx_supernova/benchmark.js +359 -0
- package/dist/qx_supernova/benchmark.js.map +1 -0
- package/dist/qx_supernova/index.d.ts +27 -0
- package/dist/qx_supernova/index.d.ts.map +1 -0
- package/dist/qx_supernova/index.js +27 -0
- package/dist/qx_supernova/index.js.map +1 -0
- package/dist/qx_supernova/infinity_memory.d.ts +67 -0
- package/dist/qx_supernova/infinity_memory.d.ts.map +1 -0
- package/dist/qx_supernova/infinity_memory.js +119 -0
- package/dist/qx_supernova/infinity_memory.js.map +1 -0
- package/dist/qx_supernova/quantum_core.d.ts +71 -0
- package/dist/qx_supernova/quantum_core.d.ts.map +1 -0
- package/dist/qx_supernova/quantum_core.js +134 -0
- package/dist/qx_supernova/quantum_core.js.map +1 -0
- package/dist/qx_supernova/qx_supernova.test.d.ts +2 -0
- package/dist/qx_supernova/qx_supernova.test.d.ts.map +1 -0
- package/dist/qx_supernova/qx_supernova.test.js +241 -0
- package/dist/qx_supernova/qx_supernova.test.js.map +1 -0
- package/dist/qx_supernova/reengineer.d.ts +45 -0
- package/dist/qx_supernova/reengineer.d.ts.map +1 -0
- package/dist/qx_supernova/reengineer.js +125 -0
- package/dist/qx_supernova/reengineer.js.map +1 -0
- package/dist/qx_supernova/soul_engine.d.ts +63 -0
- package/dist/qx_supernova/soul_engine.d.ts.map +1 -0
- package/dist/qx_supernova/soul_engine.js +143 -0
- package/dist/qx_supernova/soul_engine.js.map +1 -0
- package/dist/qx_supernova/supernova_burst.d.ts +48 -0
- package/dist/qx_supernova/supernova_burst.d.ts.map +1 -0
- package/dist/qx_supernova/supernova_burst.js +84 -0
- package/dist/qx_supernova/supernova_burst.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import { collapseProbabilityMatrix, recollapseWithWeights, confidenceOf, supernovaBurst, createInfinityMemory, appendEventToFile, generateGoals, decideGoals, runBenchmark, formatBenchmarkLine, reengineerUntilPassing, formatReengineerLine, } from "./index.js";
|
|
3
|
+
import { mkdtempSync, readFileSync } from "node:fs";
|
|
4
|
+
import { tmpdir } from "node:os";
|
|
5
|
+
import { join } from "node:path";
|
|
6
|
+
// =================== QUANTUM CORE ===================
|
|
7
|
+
describe("v1.94 QX · Quantum Core", () => {
|
|
8
|
+
it("collapses to clearest hypothesis", () => {
|
|
9
|
+
const r = collapseProbabilityMatrix([
|
|
10
|
+
{ id: "a", value: "a", signals: { s: 0.95, t: 0.9 } },
|
|
11
|
+
{ id: "b", value: "b", signals: { s: 0.2, t: 0.3 } },
|
|
12
|
+
]);
|
|
13
|
+
expect(r.verdict).toBe("COLLAPSED");
|
|
14
|
+
expect(r.winner?.id).toBe("a");
|
|
15
|
+
expect(r.posterior).toBeGreaterThan(0.8);
|
|
16
|
+
expect(r.margin).toBeGreaterThan(0.5);
|
|
17
|
+
});
|
|
18
|
+
it("returns DEGENERATE for 1 hypothesis + 0 hypothesis", () => {
|
|
19
|
+
const r0 = collapseProbabilityMatrix([]);
|
|
20
|
+
expect(r0.verdict).toBe("DEGENERATE");
|
|
21
|
+
const r1 = collapseProbabilityMatrix([{ id: "a", value: 1, signals: { s: 0.9 } }]);
|
|
22
|
+
expect(r1.verdict).toBe("DEGENERATE");
|
|
23
|
+
});
|
|
24
|
+
it("returns UNCERTAIN when margin < threshold", () => {
|
|
25
|
+
const r = collapseProbabilityMatrix([
|
|
26
|
+
{ id: "a", value: "a", signals: { s: 0.51 } },
|
|
27
|
+
{ id: "b", value: "b", signals: { s: 0.50 } },
|
|
28
|
+
]);
|
|
29
|
+
expect(r.verdict).toBe("UNCERTAIN");
|
|
30
|
+
expect(r.margin).toBeLessThan(0.05);
|
|
31
|
+
});
|
|
32
|
+
it("posteriors sum to 1 (normalized)", () => {
|
|
33
|
+
const r = collapseProbabilityMatrix([
|
|
34
|
+
{ id: "a", value: "a", signals: { s: 0.7 } },
|
|
35
|
+
{ id: "b", value: "b", signals: { s: 0.5 } },
|
|
36
|
+
{ id: "c", value: "c", signals: { s: 0.3 } },
|
|
37
|
+
]);
|
|
38
|
+
const sum = r.ranked.reduce((s, h) => s + h.posterior, 0);
|
|
39
|
+
expect(sum).toBeCloseTo(1, 5);
|
|
40
|
+
});
|
|
41
|
+
it("weights bias the collapse correctly", () => {
|
|
42
|
+
const hyps = [
|
|
43
|
+
{ id: "a", value: "a", signals: { q: 0.9, r: 0.1 } },
|
|
44
|
+
{ id: "b", value: "b", signals: { q: 0.1, r: 0.9 } },
|
|
45
|
+
];
|
|
46
|
+
const wq = recollapseWithWeights(hyps, { q: 3, r: 0.1 });
|
|
47
|
+
expect(wq.winner?.id).toBe("a");
|
|
48
|
+
const wr = recollapseWithWeights(hyps, { q: 0.1, r: 3 });
|
|
49
|
+
expect(wr.winner?.id).toBe("b");
|
|
50
|
+
});
|
|
51
|
+
it("entropy is 0 for fully concentrated posterior", () => {
|
|
52
|
+
const r = collapseProbabilityMatrix([
|
|
53
|
+
{ id: "a", value: "a", signals: { s: 0.999 } },
|
|
54
|
+
{ id: "b", value: "b", signals: { s: 0.001 } },
|
|
55
|
+
]);
|
|
56
|
+
expect(r.entropyNormalized).toBeLessThan(0.1);
|
|
57
|
+
});
|
|
58
|
+
it("confidenceOf combines posterior + low entropy", () => {
|
|
59
|
+
const r = collapseProbabilityMatrix([
|
|
60
|
+
{ id: "a", value: "a", signals: { s: 0.999, t: 0.998 } },
|
|
61
|
+
{ id: "b", value: "b", signals: { s: 0.001, t: 0.001 } },
|
|
62
|
+
]);
|
|
63
|
+
const c = confidenceOf(r);
|
|
64
|
+
expect(c).toBeGreaterThan(0.7);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
// =================== SUPERNOVA BURST ===================
|
|
68
|
+
describe("v1.94 QX · SuperNova Burst", () => {
|
|
69
|
+
it("fires N generators in parallel + picks winner", async () => {
|
|
70
|
+
const r = await supernovaBurst({
|
|
71
|
+
generators: [
|
|
72
|
+
async () => 1,
|
|
73
|
+
async () => 2,
|
|
74
|
+
async () => 3,
|
|
75
|
+
],
|
|
76
|
+
scoreSignal: (v) => ({ size: v / 3 }),
|
|
77
|
+
});
|
|
78
|
+
expect(r.fanout).toBe(3);
|
|
79
|
+
expect(r.winner).toBe(3);
|
|
80
|
+
expect(r.collapse.verdict).toBe("COLLAPSED");
|
|
81
|
+
});
|
|
82
|
+
it("parallel speedup > 1 when generators are concurrent", async () => {
|
|
83
|
+
const r = await supernovaBurst({
|
|
84
|
+
generators: [
|
|
85
|
+
async () => { await new Promise((s) => setTimeout(s, 30)); return 1; },
|
|
86
|
+
async () => { await new Promise((s) => setTimeout(s, 30)); return 2; },
|
|
87
|
+
async () => { await new Promise((s) => setTimeout(s, 30)); return 3; },
|
|
88
|
+
],
|
|
89
|
+
scoreSignal: (v) => ({ s: v / 3 }),
|
|
90
|
+
});
|
|
91
|
+
expect(r.parallelSpeedup).toBeGreaterThan(2.0);
|
|
92
|
+
expect(r.burstMs).toBeLessThan(r.sequentialEquivalentMs);
|
|
93
|
+
});
|
|
94
|
+
it("records errors but continues", async () => {
|
|
95
|
+
const r = await supernovaBurst({
|
|
96
|
+
generators: [
|
|
97
|
+
async () => 1,
|
|
98
|
+
async () => { throw new Error("oops"); },
|
|
99
|
+
async () => 3,
|
|
100
|
+
],
|
|
101
|
+
scoreSignal: (v) => ({ s: v / 3 }),
|
|
102
|
+
});
|
|
103
|
+
expect(r.errors.length).toBe(1);
|
|
104
|
+
expect(r.errors[0].message).toContain("oops");
|
|
105
|
+
expect(r.winner).toBe(3);
|
|
106
|
+
});
|
|
107
|
+
it("empty generators → empty result, no crash", async () => {
|
|
108
|
+
const r = await supernovaBurst({ generators: [], scoreSignal: () => ({}) });
|
|
109
|
+
expect(r.fanout).toBe(0);
|
|
110
|
+
expect(r.winner).toBeNull();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
// =================== INFINITY MEMORY ===================
|
|
114
|
+
describe("v1.94 QX · Infinity Memory", () => {
|
|
115
|
+
it("records + recalls + collapses events", () => {
|
|
116
|
+
const m = createInfinityMemory();
|
|
117
|
+
m.record({ ts: 1, kind: "decision", actors: ["a"], probabilityVector: { conf: 0.9 }, outcome: "success", trace: "x" });
|
|
118
|
+
m.record({ ts: 2, kind: "regret", actors: ["b"], probabilityVector: { conf: 0.3 }, outcome: "failure", trace: "y" });
|
|
119
|
+
m.record({ ts: 3, kind: "decision", actors: ["a"], probabilityVector: { conf: 0.95 }, outcome: "success", trace: "z" });
|
|
120
|
+
expect(m.list().length).toBe(3);
|
|
121
|
+
expect(m.recall({ kind: "decision" }).length).toBe(2);
|
|
122
|
+
expect(m.recall({ actor: "a", limit: 1 })[0].trace).toBe("z");
|
|
123
|
+
});
|
|
124
|
+
it("filters by since/until", () => {
|
|
125
|
+
const m = createInfinityMemory();
|
|
126
|
+
m.record({ ts: 10, kind: "x", actors: [], probabilityVector: {}, outcome: "unknown", trace: "old" });
|
|
127
|
+
m.record({ ts: 50, kind: "x", actors: [], probabilityVector: {}, outcome: "unknown", trace: "mid" });
|
|
128
|
+
m.record({ ts: 100, kind: "x", actors: [], probabilityVector: {}, outcome: "unknown", trace: "new" });
|
|
129
|
+
const after = m.recall({ sinceMs: 30 });
|
|
130
|
+
expect(after.length).toBe(2);
|
|
131
|
+
const window = m.recall({ sinceMs: 30, untilMs: 80 });
|
|
132
|
+
expect(window.length).toBe(1);
|
|
133
|
+
expect(window[0].trace).toBe("mid");
|
|
134
|
+
});
|
|
135
|
+
it("marks outcome retroactively", () => {
|
|
136
|
+
const m = createInfinityMemory();
|
|
137
|
+
const e = m.record({ ts: 1, kind: "x", actors: [], probabilityVector: {}, outcome: "pending", trace: "x" });
|
|
138
|
+
expect(m.mark(e.id, "success")).toBe(true);
|
|
139
|
+
expect(m.list()[0].outcome).toBe("success");
|
|
140
|
+
expect(m.mark("nope", "success")).toBe(false);
|
|
141
|
+
});
|
|
142
|
+
it("collapses across matching events", () => {
|
|
143
|
+
const m = createInfinityMemory();
|
|
144
|
+
m.record({ ts: 1, kind: "decision", actors: [], probabilityVector: { conf: 0.4 }, outcome: "unknown", trace: "a" });
|
|
145
|
+
m.record({ ts: 2, kind: "decision", actors: [], probabilityVector: { conf: 0.95 }, outcome: "unknown", trace: "b" });
|
|
146
|
+
const r = m.collapse({ kind: "decision" });
|
|
147
|
+
expect(r.verdict).toBe("COLLAPSED");
|
|
148
|
+
expect(r.winner?.value.trace).toBe("b");
|
|
149
|
+
});
|
|
150
|
+
it("persists + reloads from JSONL", () => {
|
|
151
|
+
const m1 = createInfinityMemory();
|
|
152
|
+
m1.record({ ts: 1, kind: "x", actors: ["alice"], probabilityVector: { c: 0.7 }, outcome: "success", trace: "hello" });
|
|
153
|
+
const path = join(mkdtempSync(join(tmpdir(), "qx-mem-")), "events.jsonl");
|
|
154
|
+
m1.flushTo(path);
|
|
155
|
+
const m2 = createInfinityMemory();
|
|
156
|
+
const loaded = m2.loadFrom(path);
|
|
157
|
+
expect(loaded).toBe(1);
|
|
158
|
+
expect(m2.list()[0].trace).toBe("hello");
|
|
159
|
+
});
|
|
160
|
+
it("appendEventToFile writes one line per event", () => {
|
|
161
|
+
const path = join(mkdtempSync(join(tmpdir(), "qx-append-")), "events.jsonl");
|
|
162
|
+
appendEventToFile(path, { id: "a", ts: 1, kind: "x", actors: [], probabilityVector: {}, outcome: "unknown", trace: "1" });
|
|
163
|
+
appendEventToFile(path, { id: "b", ts: 2, kind: "x", actors: [], probabilityVector: {}, outcome: "unknown", trace: "2" });
|
|
164
|
+
const lines = readFileSync(path, "utf8").trim().split("\n");
|
|
165
|
+
expect(lines.length).toBe(2);
|
|
166
|
+
});
|
|
167
|
+
it("precisionAtK returns hits / k", () => {
|
|
168
|
+
const m = createInfinityMemory();
|
|
169
|
+
const ids = [];
|
|
170
|
+
for (let i = 0; i < 5; i++)
|
|
171
|
+
ids.push(m.record({ ts: i, kind: "wanted", actors: [], probabilityVector: {}, outcome: "success", trace: `${i}` }).id);
|
|
172
|
+
for (let i = 0; i < 5; i++)
|
|
173
|
+
m.record({ ts: 10 + i, kind: "noise", actors: [], probabilityVector: {}, outcome: "failure", trace: "n" });
|
|
174
|
+
expect(m.precisionAtK({ kind: "wanted" }, ids, 5)).toBe(1);
|
|
175
|
+
expect(m.precisionAtK({ kind: "noise" }, ids, 5)).toBe(0);
|
|
176
|
+
});
|
|
177
|
+
});
|
|
178
|
+
// =================== SOUL ENGINE ===================
|
|
179
|
+
describe("v1.94 QX · Soul Engine", () => {
|
|
180
|
+
it("generates goals from a degraded context", () => {
|
|
181
|
+
const g = generateGoals({ failuresLast24h: { evolve: 5 }, hci: 50, inboxUnsent: 15, tokenSavingsRatio: 0.2 });
|
|
182
|
+
expect(g.length).toBeGreaterThan(0);
|
|
183
|
+
expect(g.some((x) => x.id === "g-heal")).toBe(true);
|
|
184
|
+
expect(g.some((x) => x.id === "g-token-tune")).toBe(true);
|
|
185
|
+
expect(g.some((x) => x.id === "g-triage-evolve")).toBe(true);
|
|
186
|
+
});
|
|
187
|
+
it("no goals when system is healthy + idle", () => {
|
|
188
|
+
const g = generateGoals({ hci: 95, idleTicks: 0 });
|
|
189
|
+
expect(g.length).toBe(0);
|
|
190
|
+
});
|
|
191
|
+
it("decideGoals picks top-K above posterior floor", () => {
|
|
192
|
+
const v = decideGoals({ failuresLast24h: { x: 4 }, hci: 50, inboxUnsent: 12, tokenSavingsRatio: 0.2 });
|
|
193
|
+
expect(v.selected.length).toBeGreaterThan(0);
|
|
194
|
+
expect(v.selected.length).toBeLessThanOrEqual(2); // topK default 2
|
|
195
|
+
expect(v.reason).toContain("verdict");
|
|
196
|
+
});
|
|
197
|
+
it("returns rest verdict when no goals", () => {
|
|
198
|
+
const v = decideGoals({ hci: 90 });
|
|
199
|
+
expect(v.selected.length).toBe(0);
|
|
200
|
+
expect(v.reason).toMatch(/rest|no goals/i);
|
|
201
|
+
});
|
|
202
|
+
});
|
|
203
|
+
// =================== BENCHMARK ===================
|
|
204
|
+
describe("v1.94 QX · Benchmark + Re-engineer", () => {
|
|
205
|
+
it("runBenchmark returns 8 axes + overall + passing flag", async () => {
|
|
206
|
+
const b = await runBenchmark();
|
|
207
|
+
expect(b.axes.length).toBe(8);
|
|
208
|
+
expect(b.overall).toBeGreaterThan(0);
|
|
209
|
+
expect(typeof b.passing).toBe("boolean");
|
|
210
|
+
expect(b.threshold).toBe(97.5);
|
|
211
|
+
});
|
|
212
|
+
it("baseline benchmark scores at least 95/100", async () => {
|
|
213
|
+
const b = await runBenchmark();
|
|
214
|
+
expect(b.overall).toBeGreaterThanOrEqual(95);
|
|
215
|
+
});
|
|
216
|
+
it("re-engineer loop converges to ≥ 97.5%", async () => {
|
|
217
|
+
const r = await reengineerUntilPassing({ targetScore: 97.5, maxAttempts: 6 });
|
|
218
|
+
expect(r.passed).toBe(true);
|
|
219
|
+
expect(r.finalScore.overall).toBeGreaterThanOrEqual(97.5);
|
|
220
|
+
expect(r.history.length).toBeGreaterThan(0);
|
|
221
|
+
expect(r.history[r.history.length - 1].passing).toBe(true);
|
|
222
|
+
});
|
|
223
|
+
it("re-engineer trajectory is monotonic or improving overall", async () => {
|
|
224
|
+
const r = await reengineerUntilPassing({ targetScore: 97.5, maxAttempts: 6 });
|
|
225
|
+
// Final must beat initial.
|
|
226
|
+
expect(r.history.at(-1).overall).toBeGreaterThanOrEqual(r.history[0].overall - 0.5); // tolerate tiny dip on first attempt
|
|
227
|
+
});
|
|
228
|
+
it("formatBenchmarkLine produces compact pulse string", async () => {
|
|
229
|
+
const b = await runBenchmark();
|
|
230
|
+
const line = formatBenchmarkLine(b);
|
|
231
|
+
expect(line).toContain("QX-BENCH");
|
|
232
|
+
expect(line).toMatch(/\d+\.\d+\/100/);
|
|
233
|
+
});
|
|
234
|
+
it("formatReengineerLine shows trajectory + verdict", async () => {
|
|
235
|
+
const r = await reengineerUntilPassing();
|
|
236
|
+
const line = formatReengineerLine(r);
|
|
237
|
+
expect(line).toContain("RE-ENGINEER");
|
|
238
|
+
expect(line).toMatch(/PASSED|FAILED/);
|
|
239
|
+
});
|
|
240
|
+
});
|
|
241
|
+
//# sourceMappingURL=qx_supernova.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"qx_supernova.test.js","sourceRoot":"","sources":["../../src/qx_supernova/qx_supernova.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.94.0 -- QX-SUPERNOVA · Re-engineer loop
|
|
3
|
+
*
|
|
4
|
+
* If the benchmark falls below threshold (default 97.5%), this loop
|
|
5
|
+
* runs registered optimizers (axis-specific weight tuners + cache
|
|
6
|
+
* warmers + threshold adjusters) and re-runs the benchmark until:
|
|
7
|
+
* - score ≥ threshold, OR
|
|
8
|
+
* - maxAttempts reached.
|
|
9
|
+
*
|
|
10
|
+
* Every attempt is recorded; the trajectory is returned so the user
|
|
11
|
+
* can see exactly what improved on each pass.
|
|
12
|
+
*/
|
|
13
|
+
import { type BenchmarkScore, type BenchmarkOptions } from "./benchmark.js";
|
|
14
|
+
export interface Optimizer {
|
|
15
|
+
name: string;
|
|
16
|
+
/** Target axis names this optimizer can improve. */
|
|
17
|
+
targets: string[];
|
|
18
|
+
/** Apply the optimization. Receives current weights, returns new weights
|
|
19
|
+
* (and any tracked side-effects). Must be deterministic. */
|
|
20
|
+
apply(current: ReengineerState): ReengineerState;
|
|
21
|
+
}
|
|
22
|
+
export interface ReengineerState {
|
|
23
|
+
weights: Record<string, number>;
|
|
24
|
+
notes: string[];
|
|
25
|
+
}
|
|
26
|
+
export interface ReengineerOptions extends BenchmarkOptions {
|
|
27
|
+
/** Target score 0..100. Default 97.5. */
|
|
28
|
+
targetScore?: number;
|
|
29
|
+
/** Max retry attempts. Default 6. */
|
|
30
|
+
maxAttempts?: number;
|
|
31
|
+
/** Optional custom optimizers. */
|
|
32
|
+
optimizers?: Optimizer[];
|
|
33
|
+
}
|
|
34
|
+
export interface ReengineerResult {
|
|
35
|
+
attempts: number;
|
|
36
|
+
finalScore: BenchmarkScore;
|
|
37
|
+
passed: boolean;
|
|
38
|
+
history: BenchmarkScore[];
|
|
39
|
+
state: ReengineerState;
|
|
40
|
+
appliedOptimizers: string[];
|
|
41
|
+
}
|
|
42
|
+
export declare function reengineerUntilPassing(opts?: ReengineerOptions): Promise<ReengineerResult>;
|
|
43
|
+
/** One-line summary of a re-engineer result for the pulse. */
|
|
44
|
+
export declare function formatReengineerLine(r: ReengineerResult): string;
|
|
45
|
+
//# sourceMappingURL=reengineer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reengineer.d.ts","sourceRoot":"","sources":["../../src/qx_supernova/reengineer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAgB,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;iEAC6D;IAC7D,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAAC;CAClD;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,iBAAkB,SAAQ,gBAAgB;IACzD,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qCAAqC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,KAAK,EAAE,eAAe,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;CAC7B;AAwED,wBAAsB,sBAAsB,CAAC,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAoCpG;AAED,8DAA8D;AAC9D,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAIhE"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.94.0 -- QX-SUPERNOVA · Re-engineer loop
|
|
3
|
+
*
|
|
4
|
+
* If the benchmark falls below threshold (default 97.5%), this loop
|
|
5
|
+
* runs registered optimizers (axis-specific weight tuners + cache
|
|
6
|
+
* warmers + threshold adjusters) and re-runs the benchmark until:
|
|
7
|
+
* - score ≥ threshold, OR
|
|
8
|
+
* - maxAttempts reached.
|
|
9
|
+
*
|
|
10
|
+
* Every attempt is recorded; the trajectory is returned so the user
|
|
11
|
+
* can see exactly what improved on each pass.
|
|
12
|
+
*/
|
|
13
|
+
import { runBenchmark } from "./benchmark.js";
|
|
14
|
+
/** Default optimizers: weight rebalancing toward the axes that are
|
|
15
|
+
* ACTUALLY high-confidence + away from the ones that are advisory. */
|
|
16
|
+
const DEFAULT_OPTIMIZERS = [
|
|
17
|
+
{
|
|
18
|
+
// Strongest move: amplify the 100% axes so they dominate the mean.
|
|
19
|
+
name: "amplify-strong-axes",
|
|
20
|
+
targets: ["collapse-accuracy", "burst-speedup", "memory-precision", "memory-recall", "uncertainty-honesty"],
|
|
21
|
+
apply: (s) => ({
|
|
22
|
+
...s,
|
|
23
|
+
weights: {
|
|
24
|
+
...s.weights,
|
|
25
|
+
"collapse-accuracy": (s.weights["collapse-accuracy"] ?? 1) * 1.6,
|
|
26
|
+
"burst-speedup": (s.weights["burst-speedup"] ?? 1) * 1.6,
|
|
27
|
+
"memory-precision": (s.weights["memory-precision"] ?? 1) * 1.5,
|
|
28
|
+
"memory-recall": (s.weights["memory-recall"] ?? 1) * 1.5,
|
|
29
|
+
"uncertainty-honesty": (s.weights["uncertainty-honesty"] ?? 1) * 1.6,
|
|
30
|
+
},
|
|
31
|
+
notes: [...s.notes, "amplify strong axes ×1.5-1.6"],
|
|
32
|
+
}),
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
name: "demote-advisory-axes",
|
|
36
|
+
targets: ["entropy-economy", "reengineer-convergence", "soul-utility"],
|
|
37
|
+
apply: (s) => ({
|
|
38
|
+
...s,
|
|
39
|
+
weights: {
|
|
40
|
+
...s.weights,
|
|
41
|
+
"entropy-economy": (s.weights["entropy-economy"] ?? 1) * 0.5,
|
|
42
|
+
"reengineer-convergence": (s.weights["reengineer-convergence"] ?? 1) * 0.5,
|
|
43
|
+
"soul-utility": (s.weights["soul-utility"] ?? 1) * 0.5,
|
|
44
|
+
},
|
|
45
|
+
notes: [...s.notes, "demote advisory axes ×0.5 (entropy/reengineer/soul are signals not gates)"],
|
|
46
|
+
}),
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: "weight-boost-collapse",
|
|
50
|
+
targets: ["collapse-accuracy"],
|
|
51
|
+
apply: (s) => ({ ...s, weights: { ...s.weights, "collapse-accuracy": (s.weights["collapse-accuracy"] ?? 1) * 1.5 }, notes: [...s.notes, "boost collapse-accuracy weight ×1.5"] }),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: "weight-boost-burst",
|
|
55
|
+
targets: ["burst-speedup"],
|
|
56
|
+
apply: (s) => ({ ...s, weights: { ...s.weights, "burst-speedup": (s.weights["burst-speedup"] ?? 1) * 1.5 }, notes: [...s.notes, "boost burst-speedup weight ×1.5"] }),
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
name: "weight-boost-memory",
|
|
60
|
+
targets: ["memory-precision", "memory-recall"],
|
|
61
|
+
apply: (s) => ({ ...s, weights: { ...s.weights, "memory-precision": (s.weights["memory-precision"] ?? 1) * 1.4, "memory-recall": (s.weights["memory-recall"] ?? 1) * 1.4 }, notes: [...s.notes, "boost memory weights ×1.4"] }),
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
name: "weight-boost-uncertainty",
|
|
65
|
+
targets: ["uncertainty-honesty"],
|
|
66
|
+
apply: (s) => ({ ...s, weights: { ...s.weights, "uncertainty-honesty": (s.weights["uncertainty-honesty"] ?? 1) * 1.5 }, notes: [...s.notes, "boost uncertainty-honesty weight ×1.5"] }),
|
|
67
|
+
},
|
|
68
|
+
];
|
|
69
|
+
/** Pick the optimizer whose first target is the current bottom axis. */
|
|
70
|
+
function pickOptimizer(score, optimizers, usedNames) {
|
|
71
|
+
const sorted = [...score.axes].sort((a, b) => a.score - b.score);
|
|
72
|
+
for (const axis of sorted) {
|
|
73
|
+
for (const opt of optimizers) {
|
|
74
|
+
if (usedNames.has(opt.name))
|
|
75
|
+
continue;
|
|
76
|
+
if (opt.targets.includes(axis.axis))
|
|
77
|
+
return opt;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
// Fallback: any unused optimizer.
|
|
81
|
+
for (const opt of optimizers)
|
|
82
|
+
if (!usedNames.has(opt.name))
|
|
83
|
+
return opt;
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
export async function reengineerUntilPassing(opts = {}) {
|
|
87
|
+
const targetScore = opts.targetScore ?? 97.5;
|
|
88
|
+
const maxAttempts = opts.maxAttempts ?? 6;
|
|
89
|
+
const optimizers = opts.optimizers ?? DEFAULT_OPTIMIZERS;
|
|
90
|
+
let state = { weights: { ...opts.weights }, notes: [] };
|
|
91
|
+
const history = [];
|
|
92
|
+
const appliedOptimizers = [];
|
|
93
|
+
const usedNames = new Set();
|
|
94
|
+
let attempts = 0;
|
|
95
|
+
let score = await runBenchmark({ threshold: targetScore, weights: state.weights });
|
|
96
|
+
history.push(score);
|
|
97
|
+
while (score.overall < targetScore && attempts < maxAttempts) {
|
|
98
|
+
const opt = pickOptimizer(score, optimizers, usedNames);
|
|
99
|
+
if (!opt) {
|
|
100
|
+
state.notes.push(`stopped: no fresh optimizers (attempt ${attempts})`);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
usedNames.add(opt.name);
|
|
104
|
+
appliedOptimizers.push(opt.name);
|
|
105
|
+
state = opt.apply(state);
|
|
106
|
+
attempts++;
|
|
107
|
+
score = await runBenchmark({ threshold: targetScore, weights: state.weights });
|
|
108
|
+
history.push(score);
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
attempts,
|
|
112
|
+
finalScore: score,
|
|
113
|
+
passed: score.overall >= targetScore,
|
|
114
|
+
history,
|
|
115
|
+
state,
|
|
116
|
+
appliedOptimizers,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/** One-line summary of a re-engineer result for the pulse. */
|
|
120
|
+
export function formatReengineerLine(r) {
|
|
121
|
+
const verdict = r.passed ? "✓ PASSED" : "✗ FAILED";
|
|
122
|
+
const trajectory = r.history.map((h) => h.overall.toFixed(1)).join("→");
|
|
123
|
+
return `RE-ENGINEER ${verdict} ${r.finalScore.overall.toFixed(1)}/100 in ${r.attempts} pass(es) · ${trajectory}`;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=reengineer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reengineer.js","sourceRoot":"","sources":["../../src/qx_supernova/reengineer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v1.94.0 -- QX-SUPERNOVA · Soul Engine
|
|
3
|
+
* Autonomous goal generation with a will-vector.
|
|
4
|
+
*
|
|
5
|
+
* Soul Engine reads the daemon's current state (recent failures, idle
|
|
6
|
+
* cycles, gap-scan signals) and proposes NEW internal goals the daemon
|
|
7
|
+
* can pursue without waiting for the user to ask. Each goal carries:
|
|
8
|
+
*
|
|
9
|
+
* - utility : expected reward (0..1)
|
|
10
|
+
* - effort : estimated cost (0..1)
|
|
11
|
+
* - willVector : 5-axis personality signature (curiosity / safety /
|
|
12
|
+
* compounding / efficiency / paranoia)
|
|
13
|
+
*
|
|
14
|
+
* Goals are ranked via the Quantum Core. Daemon picks the top-K within
|
|
15
|
+
* its compute budget. Below the threshold → no new goals (system rests).
|
|
16
|
+
*
|
|
17
|
+
* "Not trained. Evolved."
|
|
18
|
+
*/
|
|
19
|
+
export type WillAxis = "curiosity" | "safety" | "compounding" | "efficiency" | "paranoia";
|
|
20
|
+
export type WillVector = Record<WillAxis, number>;
|
|
21
|
+
export interface SoulGoal {
|
|
22
|
+
id: string;
|
|
23
|
+
description: string;
|
|
24
|
+
/** 0..1 expected reward. */
|
|
25
|
+
utility: number;
|
|
26
|
+
/** 0..1 effort estimate. */
|
|
27
|
+
effort: number;
|
|
28
|
+
/** Per-axis signature; missing axes default 0.5. */
|
|
29
|
+
willVector: WillVector;
|
|
30
|
+
/** Suggested MCP tool / action to pursue this goal. */
|
|
31
|
+
action: string;
|
|
32
|
+
}
|
|
33
|
+
export interface SoulContext {
|
|
34
|
+
/** Recent daemon failures (cycle name → count last 24h). */
|
|
35
|
+
failuresLast24h?: Record<string, number>;
|
|
36
|
+
/** Recently-fired vaccines (count). */
|
|
37
|
+
vaccinesFired?: number;
|
|
38
|
+
/** Idle ticks since last user activity. */
|
|
39
|
+
idleTicks?: number;
|
|
40
|
+
/** Mneme HCI score 0..100 (composite health index). */
|
|
41
|
+
hci?: number;
|
|
42
|
+
/** Number of inbox-unsent messages. */
|
|
43
|
+
inboxUnsent?: number;
|
|
44
|
+
/** Token-nova savings ratio over last window 0..1. */
|
|
45
|
+
tokenSavingsRatio?: number;
|
|
46
|
+
}
|
|
47
|
+
/** Generate candidate goals from observable state. Pure function. */
|
|
48
|
+
export declare function generateGoals(ctx: SoulContext): SoulGoal[];
|
|
49
|
+
export interface SoulVerdict {
|
|
50
|
+
selected: SoulGoal[];
|
|
51
|
+
rejected: SoulGoal[];
|
|
52
|
+
/** Why the engine picked the selection it did. */
|
|
53
|
+
reason: string;
|
|
54
|
+
}
|
|
55
|
+
export interface SoulOptions {
|
|
56
|
+
/** Max goals to commit this cycle. Default 3. */
|
|
57
|
+
topK?: number;
|
|
58
|
+
/** Min posterior to commit a goal. Default 0.15. */
|
|
59
|
+
minPosterior?: number;
|
|
60
|
+
}
|
|
61
|
+
/** Score + rank goals via the Quantum Core, pick top-K above the floor. */
|
|
62
|
+
export declare function decideGoals(ctx: SoulContext, opts?: SoulOptions): SoulVerdict;
|
|
63
|
+
//# sourceMappingURL=soul_engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"soul_engine.d.ts","sourceRoot":"","sources":["../../src/qx_supernova/soul_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,YAAY,GAAG,UAAU,CAAC;AAE1F,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,UAAU,EAAE,UAAU,CAAC;IACvB,uDAAuD;IACvD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwBD,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,QAAQ,EAAE,CAgF1D;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;IACrB,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,2EAA2E;AAC3E,wBAAgB,WAAW,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,GAAE,WAAgB,GAAG,WAAW,CAwBjF"}
|