@mneme-ai/core 2.19.9 → 2.19.11
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/cosmic/aurelian_v1910.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1910.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1910.test.js +46 -0
- package/dist/cosmic/aurelian_v1910.test.js.map +1 -0
- package/dist/cosmic/aurelian_v1911.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1911.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1911.test.js +34 -0
- package/dist/cosmic/aurelian_v1911.test.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/mortal_wrappers/index.d.ts +182 -0
- package/dist/mortal_wrappers/index.d.ts.map +1 -0
- package/dist/mortal_wrappers/index.js +360 -0
- package/dist/mortal_wrappers/index.js.map +1 -0
- package/dist/mortal_wrappers/mortal_wrappers.test.d.ts +2 -0
- package/dist/mortal_wrappers/mortal_wrappers.test.d.ts.map +1 -0
- package/dist/mortal_wrappers/mortal_wrappers.test.js +372 -0
- package/dist/mortal_wrappers/mortal_wrappers.test.js.map +1 -0
- package/dist/proof_carrying/index.d.ts +100 -0
- package/dist/proof_carrying/index.d.ts.map +1 -0
- package/dist/proof_carrying/index.js +184 -0
- package/dist/proof_carrying/index.js.map +1 -0
- package/dist/proof_carrying/proof_carrying.test.d.ts +2 -0
- package/dist/proof_carrying/proof_carrying.test.d.ts.map +1 -0
- package/dist/proof_carrying/proof_carrying.test.js +179 -0
- package/dist/proof_carrying/proof_carrying.test.js.map +1 -0
- package/dist/reverse_wrapper/index.d.ts +137 -0
- package/dist/reverse_wrapper/index.d.ts.map +1 -0
- package/dist/reverse_wrapper/index.js +245 -0
- package/dist/reverse_wrapper/index.js.map +1 -0
- package/dist/reverse_wrapper/reverse_wrapper.test.d.ts +2 -0
- package/dist/reverse_wrapper/reverse_wrapper.test.d.ts.map +1 -0
- package/dist/reverse_wrapper/reverse_wrapper.test.js +199 -0
- package/dist/reverse_wrapper/reverse_wrapper.test.js.map +1 -0
- package/dist/whats_new.d.ts.map +1 -1
- package/dist/whats_new.js +16 -0
- package/dist/whats_new.js.map +1 -1
- package/dist/wrapper_genesis/index.d.ts.map +1 -1
- package/dist/wrapper_genesis/index.js +14 -0
- package/dist/wrapper_genesis/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.10 — MNEME REVERSE-WRAPPER (tool suggests next tool)
|
|
3
|
+
*
|
|
4
|
+
* "MCP spec is pull-only — clients ask, servers answer. Mneme bends
|
|
5
|
+
* the contract (without breaking it): every wrapper response can
|
|
6
|
+
* attach an OPTIONAL `__suggested_next_call` field with the tool
|
|
7
|
+
* name + reasoning + confidence + cost estimate. The AI agent's
|
|
8
|
+
* planner sees the suggestion; if it's smart, it follows. If it
|
|
9
|
+
* isn't, nothing breaks. Pure additive layer over MCP.
|
|
10
|
+
*
|
|
11
|
+
* Bonus: telemetry. We log every suggestion + whether the AI
|
|
12
|
+
* followed within N calls. Follow-through rate measures BOTH:
|
|
13
|
+
* • the quality of the suggestion (high follow → good tool design)
|
|
14
|
+
* • the calibration of the AI (high follow → AI listens to hints)
|
|
15
|
+
* Loop detection: refuses to suggest a tool that was in the last K
|
|
16
|
+
* invocations of the current session."
|
|
17
|
+
*
|
|
18
|
+
* Honest scope:
|
|
19
|
+
* - The suggestion is ADVISORY. The AI agent's planner makes the
|
|
20
|
+
* final decision. We never auto-invoke anything.
|
|
21
|
+
* - Loop detection is per-session (caller supplies session id) and
|
|
22
|
+
* uses a sliding window (default last 8 invocations).
|
|
23
|
+
* - Suggestion rules can be hand-written OR mined from test corpus
|
|
24
|
+
* by AUTO-GENESIS (we expose the rule shape; the mining is left
|
|
25
|
+
* to the caller / future v2.20).
|
|
26
|
+
*
|
|
27
|
+
* Composes onto every MCP tool + v2.19.9 GENESPLICING (chimera's
|
|
28
|
+
* sequential mode follows the suggestion chain) + v2.19.10
|
|
29
|
+
* PROOF-CARRYING (the suggestion can carry a proof of where it came
|
|
30
|
+
* from). Pure additive layer.
|
|
31
|
+
*/
|
|
32
|
+
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
33
|
+
const PROTOCOL_VERSION = 1;
|
|
34
|
+
const DEFAULT_LOOP_WINDOW = 8;
|
|
35
|
+
function canon(v) {
|
|
36
|
+
if (v === null || typeof v !== "object")
|
|
37
|
+
return JSON.stringify(v);
|
|
38
|
+
if (Array.isArray(v))
|
|
39
|
+
return "[" + v.map(canon).join(",") + "]";
|
|
40
|
+
const keys = Object.keys(v).sort();
|
|
41
|
+
return "{" + keys.map((k) => JSON.stringify(k) + ":" + canon(v[k])).join(",") + "}";
|
|
42
|
+
}
|
|
43
|
+
function defaultSecret() {
|
|
44
|
+
return process.env["MNEME_REVERSE_WRAPPER_SECRET"] || `mneme-reverse-wrapper-v${PROTOCOL_VERSION}`;
|
|
45
|
+
}
|
|
46
|
+
function hmac(body, secret) {
|
|
47
|
+
return createHmac("sha256", secret).update(canon(body)).digest("hex");
|
|
48
|
+
}
|
|
49
|
+
function safeEqHex(a, b) {
|
|
50
|
+
try {
|
|
51
|
+
return timingSafeEqual(Buffer.from(a, "hex"), Buffer.from(b, "hex"));
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// ─── Session call history (for loop detection + follow-through) ─────────
|
|
58
|
+
export class ReverseWrapperSession {
|
|
59
|
+
callHistory = [];
|
|
60
|
+
pendingSuggestions = [];
|
|
61
|
+
followEvents = [];
|
|
62
|
+
secret;
|
|
63
|
+
sessionId;
|
|
64
|
+
loopWindow;
|
|
65
|
+
constructor(opts) {
|
|
66
|
+
this.sessionId = opts.sessionId;
|
|
67
|
+
this.loopWindow = opts.loopWindow ?? DEFAULT_LOOP_WINDOW;
|
|
68
|
+
this.secret = opts.secret ?? defaultSecret();
|
|
69
|
+
}
|
|
70
|
+
/** Record that a tool was just called. Updates loop-detection state + checks pending suggestions. */
|
|
71
|
+
recordCall(toolName, nowMs) {
|
|
72
|
+
const ts = nowMs ?? Date.now();
|
|
73
|
+
this.callHistory.push({ tool: toolName, ts });
|
|
74
|
+
// Check any pending suggestions: did this call satisfy them?
|
|
75
|
+
const currentIdx = this.callHistory.length - 1;
|
|
76
|
+
for (const ps of this.pendingSuggestions) {
|
|
77
|
+
const between = currentIdx - ps.emittedAtIdx;
|
|
78
|
+
if (between > this.loopWindow) {
|
|
79
|
+
// Expired without follow-through
|
|
80
|
+
this.followEvents.push({
|
|
81
|
+
sessionId: this.sessionId,
|
|
82
|
+
suggestion: ps.suggestion,
|
|
83
|
+
followed: false,
|
|
84
|
+
invocationsBetween: between,
|
|
85
|
+
recordedAt: new Date(ts).toISOString(),
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
else if (ps.suggestion.tool === toolName) {
|
|
89
|
+
// Followed!
|
|
90
|
+
this.followEvents.push({
|
|
91
|
+
sessionId: this.sessionId,
|
|
92
|
+
suggestion: ps.suggestion,
|
|
93
|
+
followed: true,
|
|
94
|
+
invocationsBetween: between,
|
|
95
|
+
recordedAt: new Date(ts).toISOString(),
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Prune pending: keep only ones not yet resolved
|
|
100
|
+
this.pendingSuggestions = this.pendingSuggestions.filter((ps) => {
|
|
101
|
+
const between = currentIdx - ps.emittedAtIdx;
|
|
102
|
+
const expired = between > this.loopWindow;
|
|
103
|
+
const followed = ps.suggestion.tool === toolName;
|
|
104
|
+
return !expired && !followed;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Apply suggestion rules to a (currentTool, output) pair. Returns a
|
|
109
|
+
* SuggestedNext if any rule fires AND it doesn't trigger loop detection.
|
|
110
|
+
*/
|
|
111
|
+
suggestNext(input) {
|
|
112
|
+
const ts = input.nowMs ?? Date.now();
|
|
113
|
+
// Find first matching rule
|
|
114
|
+
const matched = input.rules.find((r) => r.forTool === input.currentTool && (!r.predicate || r.predicate(input.output)));
|
|
115
|
+
if (!matched)
|
|
116
|
+
return null;
|
|
117
|
+
// Build the suggestion
|
|
118
|
+
const buildId = () => "sn-" + createHmac("sha256", "mneme-reverse-sn-id")
|
|
119
|
+
.update(`${this.sessionId}|${matched.suggestTool}|${ts}`)
|
|
120
|
+
.digest("hex").slice(0, 14);
|
|
121
|
+
const suggestedNextId = buildId();
|
|
122
|
+
const baseBody = {
|
|
123
|
+
v: PROTOCOL_VERSION,
|
|
124
|
+
suggestedNextId,
|
|
125
|
+
tool: matched.suggestTool,
|
|
126
|
+
why: matched.why,
|
|
127
|
+
confidence: matched.confidence,
|
|
128
|
+
...(matched.costEstimateUsd !== undefined ? { costEstimateUsd: matched.costEstimateUsd } : {}),
|
|
129
|
+
...(matched.buildArgs ? { suggestedArgs: matched.buildArgs(input.output) } : {}),
|
|
130
|
+
ts: new Date(ts).toISOString(),
|
|
131
|
+
};
|
|
132
|
+
// Loop detection: is suggestTool in the recent window?
|
|
133
|
+
const recentTools = this.callHistory.slice(-this.loopWindow).map((c) => c.tool);
|
|
134
|
+
if (recentTools.includes(matched.suggestTool)) {
|
|
135
|
+
const suppressed = {
|
|
136
|
+
...baseBody,
|
|
137
|
+
suppressedReason: `loop guard: '${matched.suggestTool}' called within last ${this.loopWindow} invocations`,
|
|
138
|
+
};
|
|
139
|
+
const sig = hmac(suppressed, this.secret);
|
|
140
|
+
return { ...suppressed, sig };
|
|
141
|
+
}
|
|
142
|
+
const sig = hmac(baseBody, this.secret);
|
|
143
|
+
const suggestion = { ...baseBody, sig };
|
|
144
|
+
// Track as pending so we can measure follow-through
|
|
145
|
+
this.pendingSuggestions.push({ suggestion, emittedAtIdx: this.callHistory.length - 1 });
|
|
146
|
+
return suggestion;
|
|
147
|
+
}
|
|
148
|
+
/** Attach a suggestion to a wrapper output (mutation-free). */
|
|
149
|
+
attachSuggestion(input) {
|
|
150
|
+
const sn = this.suggestNext({
|
|
151
|
+
currentTool: input.currentTool,
|
|
152
|
+
output: input.output,
|
|
153
|
+
rules: input.rules,
|
|
154
|
+
...(input.nowMs !== undefined ? { nowMs: input.nowMs } : {}),
|
|
155
|
+
});
|
|
156
|
+
if (!sn)
|
|
157
|
+
return { data: input.output };
|
|
158
|
+
return { data: input.output, __suggested_next: sn };
|
|
159
|
+
}
|
|
160
|
+
followThroughStats() {
|
|
161
|
+
const totalSuggestions = this.followEvents.length + this.pendingSuggestions.length;
|
|
162
|
+
const followed = this.followEvents.filter((e) => e.followed).length;
|
|
163
|
+
const expired = this.followEvents.filter((e) => !e.followed).length;
|
|
164
|
+
const decided = followed + expired;
|
|
165
|
+
const followRate = decided === 0 ? 0 : Math.round((followed / decided) * 1000) / 1000;
|
|
166
|
+
const perToolMap = new Map();
|
|
167
|
+
for (const e of this.followEvents) {
|
|
168
|
+
const m = perToolMap.get(e.suggestion.tool) ?? { suggested: 0, followed: 0 };
|
|
169
|
+
m.suggested++;
|
|
170
|
+
if (e.followed)
|
|
171
|
+
m.followed++;
|
|
172
|
+
perToolMap.set(e.suggestion.tool, m);
|
|
173
|
+
}
|
|
174
|
+
const perToolBreakdown = Array.from(perToolMap.entries()).map(([tool, m]) => ({
|
|
175
|
+
tool, suggested: m.suggested, followed: m.followed,
|
|
176
|
+
rate: m.suggested === 0 ? 0 : Math.round((m.followed / m.suggested) * 1000) / 1000,
|
|
177
|
+
})).sort((a, b) => b.rate - a.rate);
|
|
178
|
+
return {
|
|
179
|
+
totalSuggestions, followed, expired, followRate,
|
|
180
|
+
pendingNow: this.pendingSuggestions.length,
|
|
181
|
+
perToolBreakdown,
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
recentHistory(n = 8) {
|
|
185
|
+
return this.callHistory.slice(-n);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
export function verifySuggestion(s, secret) {
|
|
189
|
+
const { sig, ...body } = s;
|
|
190
|
+
return safeEqHex(hmac(body, secret ?? defaultSecret()), sig);
|
|
191
|
+
}
|
|
192
|
+
export function formatSuggestionLine(s) {
|
|
193
|
+
const icon = s.suppressedReason ? "🔁" : "🪂";
|
|
194
|
+
return `${icon} SUGGEST · ${s.tool} · conf=${s.confidence}${s.costEstimateUsd ? ` · $${s.costEstimateUsd}` : ""}${s.suppressedReason ? " · SUPPRESSED" : ""}`;
|
|
195
|
+
}
|
|
196
|
+
/** Built-in suggestion rules shipped with v2.19.10. Extensible. */
|
|
197
|
+
export const BUILTIN_RULES = [
|
|
198
|
+
{
|
|
199
|
+
forTool: "mneme.inverse.audit",
|
|
200
|
+
predicate: (out) => {
|
|
201
|
+
const data = out ?? {};
|
|
202
|
+
const v = ("data" in data ? data.data?.verdict : data.verdict) ?? "";
|
|
203
|
+
return v === "rejected";
|
|
204
|
+
},
|
|
205
|
+
suggestTool: "mneme.chronostasis.tick",
|
|
206
|
+
why: "Rejected output should trigger CHRONOSTASIS witness pool to rewind dependents.",
|
|
207
|
+
confidence: 0.92,
|
|
208
|
+
costEstimateUsd: 0.003,
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
forTool: "mneme.confessional.audit",
|
|
212
|
+
predicate: (out) => {
|
|
213
|
+
const data = out ?? {};
|
|
214
|
+
const v = ("data" in data ? data.data?.verdict : data.verdict) ?? "";
|
|
215
|
+
return v === "block" || v === "flag";
|
|
216
|
+
},
|
|
217
|
+
suggestTool: "mneme.inverse.audit",
|
|
218
|
+
why: "Flagged/blocked diff should be re-audited by the rarer output→input direction.",
|
|
219
|
+
confidence: 0.78,
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
forTool: "mneme.chronostasis.propose",
|
|
223
|
+
suggestTool: "mneme.chronostasis.witness_prompt",
|
|
224
|
+
why: "Newly proposed claim should immediately get a witness panel summons.",
|
|
225
|
+
confidence: 0.85,
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
forTool: "mneme.agreement.compile",
|
|
229
|
+
suggestTool: "mneme.agreement.pre_commit_hook",
|
|
230
|
+
why: "Compiled agreement should be wired into the pre-commit gate.",
|
|
231
|
+
confidence: 0.88,
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
forTool: "mneme.dream.run",
|
|
235
|
+
predicate: (out) => {
|
|
236
|
+
const r = out;
|
|
237
|
+
const c = "data" in r ? r.data?.candidatesEmitted : r.candidatesEmitted;
|
|
238
|
+
return (c ?? 0) > 0;
|
|
239
|
+
},
|
|
240
|
+
suggestTool: "mneme.dream.review",
|
|
241
|
+
why: "Dream cycle emitted candidates — parent should review (confirm or refute).",
|
|
242
|
+
confidence: 0.90,
|
|
243
|
+
},
|
|
244
|
+
];
|
|
245
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/reverse_wrapper/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse_wrapper.test.d.ts","sourceRoot":"","sources":["../../src/reverse_wrapper/reverse_wrapper.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach } from "vitest";
|
|
2
|
+
import { ReverseWrapperSession, verifySuggestion, formatSuggestionLine, BUILTIN_RULES, } from "./index.js";
|
|
3
|
+
describe("v2.19.10 · REVERSE-WRAPPER", () => {
|
|
4
|
+
let s;
|
|
5
|
+
beforeEach(() => { s = new ReverseWrapperSession({ sessionId: "test-session", loopWindow: 4 }); });
|
|
6
|
+
// ── suggestNext ─────────────────────────────────────────────────
|
|
7
|
+
describe("suggestNext", () => {
|
|
8
|
+
it("emits a signed SuggestedNext when a rule fires", () => {
|
|
9
|
+
const rules = [
|
|
10
|
+
{ forTool: "X", suggestTool: "Y", why: "always after X", confidence: 0.8 },
|
|
11
|
+
];
|
|
12
|
+
const sn = s.suggestNext({ currentTool: "X", output: {}, rules });
|
|
13
|
+
expect(sn).not.toBeNull();
|
|
14
|
+
expect(sn.tool).toBe("Y");
|
|
15
|
+
expect(sn.confidence).toBe(0.8);
|
|
16
|
+
expect(sn.sig).toMatch(/^[0-9a-f]{64}$/);
|
|
17
|
+
expect(verifySuggestion(sn)).toBe(true);
|
|
18
|
+
});
|
|
19
|
+
it("returns null when no rule matches", () => {
|
|
20
|
+
expect(s.suggestNext({ currentTool: "X", output: {}, rules: [] })).toBeNull();
|
|
21
|
+
});
|
|
22
|
+
it("respects predicate (rule doesn't fire if predicate false)", () => {
|
|
23
|
+
const rules = [
|
|
24
|
+
{ forTool: "X", suggestTool: "Y", why: "x", confidence: 0.9, predicate: (o) => o.trigger === true },
|
|
25
|
+
];
|
|
26
|
+
const noFire = s.suggestNext({ currentTool: "X", output: { trigger: false }, rules });
|
|
27
|
+
const fire = s.suggestNext({ currentTool: "X", output: { trigger: true }, rules });
|
|
28
|
+
expect(noFire).toBeNull();
|
|
29
|
+
expect(fire).not.toBeNull();
|
|
30
|
+
});
|
|
31
|
+
it("buildArgs populates suggestedArgs", () => {
|
|
32
|
+
const rules = [
|
|
33
|
+
{ forTool: "X", suggestTool: "Y", why: "", confidence: 0.5, buildArgs: (o) => ({ from: o.v }) },
|
|
34
|
+
];
|
|
35
|
+
const sn = s.suggestNext({ currentTool: "X", output: { v: 42 }, rules });
|
|
36
|
+
expect(sn.suggestedArgs).toEqual({ from: 42 });
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
// ── loop detection ──────────────────────────────────────────────
|
|
40
|
+
describe("loop detection", () => {
|
|
41
|
+
it("suppresses suggestion when target tool was called within loopWindow", () => {
|
|
42
|
+
const rules = [
|
|
43
|
+
{ forTool: "X", suggestTool: "Y", why: "x", confidence: 0.9 },
|
|
44
|
+
];
|
|
45
|
+
// Pretend Y was called recently
|
|
46
|
+
s.recordCall("Y");
|
|
47
|
+
const sn = s.suggestNext({ currentTool: "X", output: {}, rules });
|
|
48
|
+
expect(sn).not.toBeNull();
|
|
49
|
+
expect(sn.suppressedReason).toContain("loop guard");
|
|
50
|
+
});
|
|
51
|
+
it("doesn't suppress when target tool is OUTSIDE loopWindow", () => {
|
|
52
|
+
const s2 = new ReverseWrapperSession({ sessionId: "x", loopWindow: 2 });
|
|
53
|
+
const rules = [
|
|
54
|
+
{ forTool: "X", suggestTool: "Y", why: "x", confidence: 0.9 },
|
|
55
|
+
];
|
|
56
|
+
// Y called 3 ago; window=2 → outside
|
|
57
|
+
s2.recordCall("Y");
|
|
58
|
+
s2.recordCall("A");
|
|
59
|
+
s2.recordCall("B");
|
|
60
|
+
const sn = s2.suggestNext({ currentTool: "X", output: {}, rules });
|
|
61
|
+
expect(sn.suppressedReason).toBeUndefined();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
// ── attachSuggestion ────────────────────────────────────────────
|
|
65
|
+
describe("attachSuggestion", () => {
|
|
66
|
+
it("wraps output with __suggested_next when a rule fires", () => {
|
|
67
|
+
const rules = [{ forTool: "X", suggestTool: "Y", why: "x", confidence: 0.7 }];
|
|
68
|
+
const wrapped = s.attachSuggestion({ output: { real: "data" }, currentTool: "X", rules });
|
|
69
|
+
expect(wrapped.data).toEqual({ real: "data" });
|
|
70
|
+
expect(wrapped.__suggested_next?.tool).toBe("Y");
|
|
71
|
+
});
|
|
72
|
+
it("returns output un-wrapped when no rule fires", () => {
|
|
73
|
+
const wrapped = s.attachSuggestion({ output: { real: "data" }, currentTool: "ZZZ", rules: [] });
|
|
74
|
+
expect(wrapped.data).toEqual({ real: "data" });
|
|
75
|
+
expect(wrapped.__suggested_next).toBeUndefined();
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
// ── follow-through telemetry ────────────────────────────────────
|
|
79
|
+
describe("follow-through telemetry", () => {
|
|
80
|
+
it("counts a suggestion as 'followed' when next call matches", () => {
|
|
81
|
+
const rules = [{ forTool: "X", suggestTool: "Y", why: "", confidence: 0.9 }];
|
|
82
|
+
s.recordCall("X");
|
|
83
|
+
s.suggestNext({ currentTool: "X", output: {}, rules });
|
|
84
|
+
s.recordCall("Y"); // followed
|
|
85
|
+
const stats = s.followThroughStats();
|
|
86
|
+
expect(stats.followed).toBe(1);
|
|
87
|
+
expect(stats.expired).toBe(0);
|
|
88
|
+
expect(stats.followRate).toBe(1);
|
|
89
|
+
});
|
|
90
|
+
it("counts a suggestion as 'expired' when window passes without match", () => {
|
|
91
|
+
const s3 = new ReverseWrapperSession({ sessionId: "x", loopWindow: 2 });
|
|
92
|
+
const rules = [{ forTool: "X", suggestTool: "Y", why: "", confidence: 0.9 }];
|
|
93
|
+
s3.recordCall("X");
|
|
94
|
+
s3.suggestNext({ currentTool: "X", output: {}, rules });
|
|
95
|
+
// 3 calls without Y → suggestion expires
|
|
96
|
+
s3.recordCall("A");
|
|
97
|
+
s3.recordCall("B");
|
|
98
|
+
s3.recordCall("C");
|
|
99
|
+
const stats = s3.followThroughStats();
|
|
100
|
+
expect(stats.expired).toBeGreaterThanOrEqual(1);
|
|
101
|
+
expect(stats.followRate).toBe(0);
|
|
102
|
+
});
|
|
103
|
+
it("perToolBreakdown aggregates across many suggestions (when not loop-suppressed)", () => {
|
|
104
|
+
// Use a small loopWindow so we can deliberately space the suggestions out.
|
|
105
|
+
const s2 = new ReverseWrapperSession({ sessionId: "agg-test", loopWindow: 2 });
|
|
106
|
+
const rules = [
|
|
107
|
+
{ forTool: "X", suggestTool: "Y", why: "", confidence: 0.9 },
|
|
108
|
+
];
|
|
109
|
+
// Suggestion #1
|
|
110
|
+
s2.recordCall("X");
|
|
111
|
+
s2.suggestNext({ currentTool: "X", output: {}, rules });
|
|
112
|
+
s2.recordCall("Y"); // followed → tracked
|
|
113
|
+
// Push Y out of the loop window before suggesting again
|
|
114
|
+
s2.recordCall("A");
|
|
115
|
+
s2.recordCall("B");
|
|
116
|
+
// Suggestion #2
|
|
117
|
+
s2.recordCall("X");
|
|
118
|
+
s2.suggestNext({ currentTool: "X", output: {}, rules });
|
|
119
|
+
// Expire #2 by calling many non-Y tools
|
|
120
|
+
s2.recordCall("P");
|
|
121
|
+
s2.recordCall("Q");
|
|
122
|
+
s2.recordCall("R");
|
|
123
|
+
const stats = s2.followThroughStats();
|
|
124
|
+
const yRow = stats.perToolBreakdown.find((r) => r.tool === "Y");
|
|
125
|
+
expect(yRow.suggested).toBe(2);
|
|
126
|
+
expect(yRow.followed).toBe(1);
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
// ── BUILTIN_RULES ───────────────────────────────────────────────
|
|
130
|
+
describe("BUILTIN_RULES", () => {
|
|
131
|
+
it("ships >= 5 default rules", () => {
|
|
132
|
+
expect(BUILTIN_RULES.length).toBeGreaterThanOrEqual(5);
|
|
133
|
+
});
|
|
134
|
+
it("inverse.audit rejected → chronostasis.tick suggestion", () => {
|
|
135
|
+
const sn = s.suggestNext({
|
|
136
|
+
currentTool: "mneme.inverse.audit",
|
|
137
|
+
output: { data: { verdict: "rejected" } },
|
|
138
|
+
rules: BUILTIN_RULES,
|
|
139
|
+
});
|
|
140
|
+
expect(sn).not.toBeNull();
|
|
141
|
+
expect(sn.tool).toBe("mneme.chronostasis.tick");
|
|
142
|
+
});
|
|
143
|
+
it("inverse.audit trusted → NO suggestion (predicate filters)", () => {
|
|
144
|
+
const sn = s.suggestNext({
|
|
145
|
+
currentTool: "mneme.inverse.audit",
|
|
146
|
+
output: { data: { verdict: "trusted" } },
|
|
147
|
+
rules: BUILTIN_RULES,
|
|
148
|
+
});
|
|
149
|
+
expect(sn).toBeNull();
|
|
150
|
+
});
|
|
151
|
+
it("agreement.compile → suggests pre_commit_hook (no predicate)", () => {
|
|
152
|
+
const sn = s.suggestNext({
|
|
153
|
+
currentTool: "mneme.agreement.compile",
|
|
154
|
+
output: {},
|
|
155
|
+
rules: BUILTIN_RULES,
|
|
156
|
+
});
|
|
157
|
+
expect(sn.tool).toBe("mneme.agreement.pre_commit_hook");
|
|
158
|
+
});
|
|
159
|
+
it("dream.run with candidates → suggests dream.review", () => {
|
|
160
|
+
const sn = s.suggestNext({
|
|
161
|
+
currentTool: "mneme.dream.run",
|
|
162
|
+
output: { data: { candidatesEmitted: 3 } },
|
|
163
|
+
rules: BUILTIN_RULES,
|
|
164
|
+
});
|
|
165
|
+
expect(sn.tool).toBe("mneme.dream.review");
|
|
166
|
+
});
|
|
167
|
+
it("dream.run with NO candidates → no suggestion", () => {
|
|
168
|
+
const sn = s.suggestNext({
|
|
169
|
+
currentTool: "mneme.dream.run",
|
|
170
|
+
output: { data: { candidatesEmitted: 0 } },
|
|
171
|
+
rules: BUILTIN_RULES,
|
|
172
|
+
});
|
|
173
|
+
expect(sn).toBeNull();
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
// ── HMAC tamper ─────────────────────────────────────────────────
|
|
177
|
+
describe("HMAC + tamper detection", () => {
|
|
178
|
+
it("verifySuggestion detects tampered confidence", () => {
|
|
179
|
+
const rules = [{ forTool: "X", suggestTool: "Y", why: "", confidence: 0.5 }];
|
|
180
|
+
const sn = s.suggestNext({ currentTool: "X", output: {}, rules });
|
|
181
|
+
const tampered = { ...sn, confidence: 0.99 };
|
|
182
|
+
expect(verifySuggestion(tampered)).toBe(false);
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
// ── formatter ───────────────────────────────────────────────────
|
|
186
|
+
describe("formatter", () => {
|
|
187
|
+
it("formatSuggestionLine emits short summary with right icon", () => {
|
|
188
|
+
const rules = [{ forTool: "X", suggestTool: "Y", why: "", confidence: 0.5 }];
|
|
189
|
+
const sn = s.suggestNext({ currentTool: "X", output: {}, rules });
|
|
190
|
+
expect(formatSuggestionLine(sn)).toContain("SUGGEST");
|
|
191
|
+
expect(formatSuggestionLine(sn)).toContain("🪂");
|
|
192
|
+
// Triggered suppression
|
|
193
|
+
s.recordCall("Y");
|
|
194
|
+
const sn2 = s.suggestNext({ currentTool: "X", output: {}, rules });
|
|
195
|
+
expect(formatSuggestionLine(sn2)).toContain("🔁");
|
|
196
|
+
});
|
|
197
|
+
});
|
|
198
|
+
});
|
|
199
|
+
//# sourceMappingURL=reverse_wrapper.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reverse_wrapper.test.js","sourceRoot":"","sources":["../../src/reverse_wrapper/reverse_wrapper.test.ts"],"names":[],"mappings":"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"}
|
package/dist/whats_new.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whats_new.d.ts","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;oCAEoC;AACpC,eAAO,MAAM,UAAU,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"whats_new.d.ts","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,WAAW,iBAAiB;IAChC,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;oCAEoC;AACpC,eAAO,MAAM,UAAU,EAAE,iBAAiB,EA0OzC,CAAC;AAEF,MAAM,WAAW,cAAc;IAC7B,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB;kCAC8B;IAC9B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,gEAAgE;IAChE,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,cAAc,EAAE,MAAM,CAAC;IACvB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;CACjB;AAoBD;sEACsE;AACtE,wBAAgB,WAAW,CAAC,IAAI,GAAE;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAA2B,GAAG,cAAc,CAkB5I;AAED;yEACyE;AACzE,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAwB3E"}
|
package/dist/whats_new.js
CHANGED
|
@@ -20,6 +20,22 @@ import { fileURLToPath } from "node:url";
|
|
|
20
20
|
* user-visible behavior. Keep `body` plain English so the AI can quote
|
|
21
21
|
* it verbatim to non-engineers. */
|
|
22
22
|
export const HIGHLIGHTS = [
|
|
23
|
+
{
|
|
24
|
+
version: "2.19.11",
|
|
25
|
+
date: "2026-05-16",
|
|
26
|
+
headline: "LIVING MCP -- MORTAL + REINCARNATING WRAPPERS (the first MCP layer where wrappers are born, mutate, deprecate, die on a TTL)",
|
|
27
|
+
body: "🧬 Every MCP server today is a static API: register once, schema frozen forever. AI agents memorise the schema in session 1 and never re-read tools.list -- six months later they hit silent bugs from stale signatures. Mneme breaks the assumption: a mortal wrapper is BORN with a TTL (24h default), REPRODUCES with a slightly drifted signature on tick (3 mutation kinds: rename_optional_field / add_optional_param / swap_arg_order), and the previous generation stays alive for one DEPRECATION GRAVITY cycle (1h default) before disappearing. AI agents that re-read mneme.mortal.list every turn = adapt automatically (verdict: world_class). AI agents that bake the schema into their planner prompt = break + log + lose adaptiveness score (verdict: over_fit). Honest scope: the mortal layer lives in mneme.mortal.* ONLY -- real Mneme tools stay backwards-compatible forever; this is an OPT-IN calibration tripwire. 23 deep tests cover birth / mutation / tick / deprecation gravity / max-generations loop guard / HMAC integrity / drift-bonus param tripwires / 4-band verdict (world_class/good/drifting/over_fit). 8 new MCP tools (birth/list/tick/resolve/invoke/calibration/stats/verify). AURELIAN SHIP.",
|
|
28
|
+
suggestedAction: "Tell the AI: 'birth a mortal wrapper around arena.judge and see if I can adapt over 24h of mutations' (mneme.mortal.birth) -- then 'show me my adaptiveness score' (mneme.mortal.calibration).",
|
|
29
|
+
tags: ["living-mcp", "mortal-wrapper", "reincarnation", "calibration", "mcp-spec-bend"],
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
version: "2.19.10",
|
|
33
|
+
date: "2026-05-16",
|
|
34
|
+
headline: "PROOF-CARRYING WRAPPER (zero-trust tool chain) + REVERSE-WRAPPER (tool suggests next tool); two MCP-spec-bending primitives nobody else ships",
|
|
35
|
+
body: "🔐 PROOF -- every wrapper output can carry an HMAC-signed certificate (toolName + inputSha + outputSha + callerKey + chainParent + ts). Downstream tools with requiresParentProof refuse input lacking valid proof. Kills prompt-injection via fake tool outputs structurally. Loop detection (chainDepth cap 32) + chain integrity verification. Foundation for regulator-grade audit. 17 deep tests. 🪂 REVERSE -- wrapper response carries optional __suggested_next field with tool + why + confidence + costEstimateUsd. AI planner sees hint, LIKELY follows. Loop-detected sliding window (default 8); ships 5 BUILTIN_RULES (audit-rejected -> chronostasis tick, agreement-compiled -> pre-commit hook, etc.). Follow-through telemetry measures BOTH suggestion quality + AI calibration. 19 deep tests. 8 new MCP tools (4 proof + 4 suggest). AURELIAN SHIP both. Both fix the static, stateless-MCP-call assumption cleanly without breaking the protocol.",
|
|
36
|
+
suggestedAction: "Tell the AI: 'verify the chain of proofs on this tool sequence' (mneme.proof.verify_chain) or 'what should I call next' (mneme.suggest.next).",
|
|
37
|
+
tags: ["proof-carrying", "reverse-wrapper", "zero-trust", "mcp-spec-bend", "chain-of-custody"],
|
|
38
|
+
},
|
|
23
39
|
{
|
|
24
40
|
version: "2.19.9",
|
|
25
41
|
date: "2026-05-16",
|
package/dist/whats_new.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whats_new.js","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"whats_new.js","sourceRoot":"","sources":["../src/whats_new.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wrapper_genesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH,QAAA,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAgBpC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/wrapper_genesis/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAMH,QAAA,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAgBpC;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,aAehC,CAAC;AAUH,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,GAAG,gBAAgB,GAAG,OAAO,GAAG,OAAO,CAAC;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,CAAC;IACzB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,2DAA2D;IAC3D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wCAAwC;IACxC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,qCAAqC;IACrC,EAAE,EAAE,OAAO,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAgCD,4EAA4E;AAC5E,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,UAAU,EAAE,CAgChE;AAED,4EAA4E;AAC5E,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW,EAAE,CAkBnE;AAyGD,wBAAgB,WAAW,CAAC,KAAK,EAAE;IACjC,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB,GAAG,aAAa,EAAE,CAmClB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CA2B9D;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAGvE;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAGrD;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAiBrD"}
|
|
@@ -69,6 +69,9 @@ export const ENFORCE_FULL_COVERAGE = new Set([
|
|
|
69
69
|
"dream_consolidation", "colony_mind", "honey_decision", "retroactive_compile", "genetic_patch",
|
|
70
70
|
"wrapper_genesis",
|
|
71
71
|
"wrapper_genesplicing",
|
|
72
|
+
"proof_carrying",
|
|
73
|
+
"reverse_wrapper",
|
|
74
|
+
"mortal_wrappers",
|
|
72
75
|
"jackpot",
|
|
73
76
|
]);
|
|
74
77
|
const EXCLUDED_MODULES = new Set([
|
|
@@ -185,6 +188,9 @@ function familyAliases(moduleName) {
|
|
|
185
188
|
// Common aliases between core module dir names and MCP family prefixes.
|
|
186
189
|
const map = {
|
|
187
190
|
wrapper_genesplicing: ["genome"],
|
|
191
|
+
proof_carrying: ["proof"],
|
|
192
|
+
reverse_wrapper: ["suggest"],
|
|
193
|
+
mortal_wrappers: ["mortal"],
|
|
188
194
|
arena: ["arena"],
|
|
189
195
|
verified_badge: ["badge"],
|
|
190
196
|
oracle_liability: ["oracle"],
|
|
@@ -267,6 +273,14 @@ const ALWAYS_INTERNAL_EXPORTS = new Set([
|
|
|
267
273
|
"encode", "decode",
|
|
268
274
|
// v2.19.9 genesplicing — class instance methods reached via singleton
|
|
269
275
|
"defaultGenesplicing",
|
|
276
|
+
// v2.19.10 proof-carrying — decorator helper that wraps inner handler,
|
|
277
|
+
// paired with attachProof (which IS exposed as mneme.proof.attach).
|
|
278
|
+
"requireParentProof",
|
|
279
|
+
// v2.19.11 mortal-wrappers — internal building blocks for the surfaced tools
|
|
280
|
+
// (mutateSignature is exercised via mneme.mortal.tick; recordCalibration is
|
|
281
|
+
// exercised via mneme.mortal.resolve/invoke; emptyState is a constructor;
|
|
282
|
+
// birthMortalWrapper IS exposed as mneme.mortal.birth via aliasing).
|
|
283
|
+
"mutateSignature", "recordCalibration", "emptyState",
|
|
270
284
|
]);
|
|
271
285
|
export function findOrphans(input) {
|
|
272
286
|
const out = [];
|