@mneme-ai/core 2.19.10 → 2.19.12
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/brain_branches/brain_branches.test.d.ts +2 -0
- package/dist/brain_branches/brain_branches.test.d.ts.map +1 -0
- package/dist/brain_branches/brain_branches.test.js +152 -0
- package/dist/brain_branches/brain_branches.test.js.map +1 -0
- package/dist/brain_branches/index.d.ts +134 -0
- package/dist/brain_branches/index.d.ts.map +1 -0
- package/dist/brain_branches/index.js +227 -0
- package/dist/brain_branches/index.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/cosmic/aurelian_v1912.test.d.ts +2 -0
- package/dist/cosmic/aurelian_v1912.test.d.ts.map +1 -0
- package/dist/cosmic/aurelian_v1912.test.js +72 -0
- package/dist/cosmic/aurelian_v1912.test.js.map +1 -0
- package/dist/dialect/dialect.test.d.ts +2 -0
- package/dist/dialect/dialect.test.d.ts.map +1 -0
- package/dist/dialect/dialect.test.js +121 -0
- package/dist/dialect/dialect.test.js.map +1 -0
- package/dist/dialect/index.d.ts +91 -0
- package/dist/dialect/index.d.ts.map +1 -0
- package/dist/dialect/index.js +149 -0
- package/dist/dialect/index.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/model_chrysalis/index.d.ts +96 -0
- package/dist/model_chrysalis/index.d.ts.map +1 -0
- package/dist/model_chrysalis/index.js +279 -0
- package/dist/model_chrysalis/index.js.map +1 -0
- package/dist/model_chrysalis/model_chrysalis.test.d.ts +2 -0
- package/dist/model_chrysalis/model_chrysalis.test.d.ts.map +1 -0
- package/dist/model_chrysalis/model_chrysalis.test.js +173 -0
- package/dist/model_chrysalis/model_chrysalis.test.js.map +1 -0
- 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/muscle_memory/index.d.ts +112 -0
- package/dist/muscle_memory/index.d.ts.map +1 -0
- package/dist/muscle_memory/index.js +203 -0
- package/dist/muscle_memory/index.js.map +1 -0
- package/dist/muscle_memory/muscle_memory.test.d.ts +2 -0
- package/dist/muscle_memory/muscle_memory.test.d.ts.map +1 -0
- package/dist/muscle_memory/muscle_memory.test.js +111 -0
- package/dist/muscle_memory/muscle_memory.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 +29 -0
- package/dist/wrapper_genesis/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model_chrysalis.test.js","sourceRoot":"","sources":["../../src/model_chrysalis/model_chrysalis.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.11 — MNEME MORTAL + REINCARNATING WRAPPERS (LIVING MCP)
|
|
3
|
+
*
|
|
4
|
+
* "Every MCP wrapper today is a static contract: registered once,
|
|
5
|
+
* schema frozen forever. AI agents memorise the schema in session 1
|
|
6
|
+
* and never re-read tools.list again. Six months later they're
|
|
7
|
+
* calling stale tools with the wrong argument shape and the bugs
|
|
8
|
+
* are silent because nobody checks. Mneme breaks the assumption:
|
|
9
|
+
* a wrapper is BORN with a TTL, REPRODUCES with a slightly drifted
|
|
10
|
+
* signature, and DIES when its TTL elapses. The previous generation
|
|
11
|
+
* stays alive for 1 deprecation cycle (gravity), then disappears.
|
|
12
|
+
*
|
|
13
|
+
* AI agents that re-read `mneme.tools` every turn = adapt
|
|
14
|
+
* automatically. AI agents that hard-code schemas in their planner
|
|
15
|
+
* prompt = break + log + lose BOUNTY. The market is forced to
|
|
16
|
+
* re-calibrate continuously; prompt-injection attacks that bake in
|
|
17
|
+
* specific tool names auto-expire."
|
|
18
|
+
*
|
|
19
|
+
* Honest scope (CRITICAL):
|
|
20
|
+
* - The mortal layer lives in the `mneme.mortal.*` NAMESPACE ONLY.
|
|
21
|
+
* Real Mneme tools (`mneme.arena.*`, `mneme.proof.*`, etc.) stay
|
|
22
|
+
* backwards-compatible forever. We do NOT actually mutate real MCP
|
|
23
|
+
* surfaces — that would break every client catastrophically.
|
|
24
|
+
* - Mortal wrappers are OPT-IN: AI agents that want to stress-test
|
|
25
|
+
* their adaptiveness wrap a base tool through `birthMortalWrapper`,
|
|
26
|
+
* then call the resulting alias. Real production callers stay on
|
|
27
|
+
* the canonical name and never see drift.
|
|
28
|
+
* - Each mortal wrapper carries an HMAC-signed lineage so an attacker
|
|
29
|
+
* can't forge "ancient" wrappers that were never actually born.
|
|
30
|
+
* - Max generations per base tool = 100 (hard loop guard).
|
|
31
|
+
*
|
|
32
|
+
* Pure additive layer; composes onto v2.19.10 PROOF-CARRYING (mortal
|
|
33
|
+
* wrappers can attach proofs like any other tool) + v2.19.9 GENESPLICING
|
|
34
|
+
* (chimeras can contain mortal aliases that drift over time).
|
|
35
|
+
*/
|
|
36
|
+
declare const PROTOCOL_VERSION: 1;
|
|
37
|
+
export type MutationKind = "rename_optional_field" | "add_optional_param" | "swap_arg_order";
|
|
38
|
+
export interface MortalSignature {
|
|
39
|
+
/** The drifted alias name surfaced to AI agents, e.g. "mneme.mortal.arena.judge.gen3". */
|
|
40
|
+
alias: string;
|
|
41
|
+
/** Map of (mortal arg name) → (base tool arg name). Used to translate calls back. */
|
|
42
|
+
argRenameMap: Record<string, string>;
|
|
43
|
+
/** Names of OPTIONAL parameters added by mutation (free passes; sent through verbatim). */
|
|
44
|
+
addedOptionalParams: string[];
|
|
45
|
+
/** Ordered list of arg names; AI agents that swap-overfit will pass the wrong shape. */
|
|
46
|
+
argOrder: string[];
|
|
47
|
+
}
|
|
48
|
+
export interface MortalWrapper {
|
|
49
|
+
v: typeof PROTOCOL_VERSION;
|
|
50
|
+
id: string;
|
|
51
|
+
baseToolName: string;
|
|
52
|
+
signature: MortalSignature;
|
|
53
|
+
generation: number;
|
|
54
|
+
parentGeneration: number | null;
|
|
55
|
+
birthAt: number;
|
|
56
|
+
ttlMs: number;
|
|
57
|
+
expiresAt: number;
|
|
58
|
+
/** Cycle window during which the previous generation stays callable. */
|
|
59
|
+
deprecationGravityMs: number;
|
|
60
|
+
/** True iff the wrapper is still in its primary lifetime (pre-expiry). */
|
|
61
|
+
alive: boolean;
|
|
62
|
+
/** Set when reincarnated — wrapper is deprecated and will fade after gravity window. */
|
|
63
|
+
deprecatedUntil: number | null;
|
|
64
|
+
/** All mutations applied since gen1, in order. */
|
|
65
|
+
mutationsApplied: MutationKind[];
|
|
66
|
+
hmac: string;
|
|
67
|
+
}
|
|
68
|
+
export interface CallerCalibrationRecord {
|
|
69
|
+
callerKey: string;
|
|
70
|
+
alias: string;
|
|
71
|
+
ok: boolean;
|
|
72
|
+
ts: number;
|
|
73
|
+
}
|
|
74
|
+
export interface MortalRegistryState {
|
|
75
|
+
v: typeof PROTOCOL_VERSION;
|
|
76
|
+
wrappers: MortalWrapper[];
|
|
77
|
+
calibration: CallerCalibrationRecord[];
|
|
78
|
+
}
|
|
79
|
+
export interface BirthInput {
|
|
80
|
+
baseToolName: string;
|
|
81
|
+
/** Canonical arg names of the base tool (in the order an AI would call them). */
|
|
82
|
+
baseArgs: string[];
|
|
83
|
+
ttlMs?: number;
|
|
84
|
+
deprecationGravityMs?: number;
|
|
85
|
+
nowMs?: number;
|
|
86
|
+
secret?: string;
|
|
87
|
+
}
|
|
88
|
+
export declare function birthMortalWrapper(input: BirthInput): MortalWrapper;
|
|
89
|
+
/** Apply one mutation to a signature; returns the NEW signature (immutable). */
|
|
90
|
+
export declare function mutateSignature(opts: {
|
|
91
|
+
base: MortalSignature;
|
|
92
|
+
baseToolName: string;
|
|
93
|
+
baseArgs: string[];
|
|
94
|
+
nextGen: number;
|
|
95
|
+
kind: MutationKind;
|
|
96
|
+
rng: () => number;
|
|
97
|
+
}): MortalSignature;
|
|
98
|
+
export interface TickInput {
|
|
99
|
+
state: MortalRegistryState;
|
|
100
|
+
baseToolArgs: Record<string, string[]>;
|
|
101
|
+
nowMs?: number;
|
|
102
|
+
/** Mutations per tick. Default DEFAULT_MUTATIONS_PER_TICK; capped at MAX_TICK_BATCH. */
|
|
103
|
+
budget?: number;
|
|
104
|
+
/** Seed for deterministic mutation selection (tests). */
|
|
105
|
+
rngSeed?: number;
|
|
106
|
+
secret?: string;
|
|
107
|
+
}
|
|
108
|
+
export interface TickResult {
|
|
109
|
+
state: MortalRegistryState;
|
|
110
|
+
expired: MortalWrapper[];
|
|
111
|
+
reincarnated: MortalWrapper[];
|
|
112
|
+
skippedAtMaxGen: string[];
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* One reincarnation cycle. For wrappers whose `expiresAt <= now`:
|
|
116
|
+
* 1. mark `alive=false` + set `deprecatedUntil = now + gravity`
|
|
117
|
+
* 2. spawn a new generation with a mutated signature
|
|
118
|
+
*
|
|
119
|
+
* After the cycle, the old generation is still callable until `deprecatedUntil`
|
|
120
|
+
* (deprecation gravity), then disappears.
|
|
121
|
+
*/
|
|
122
|
+
export declare function tickReincarnation(input: TickInput): TickResult;
|
|
123
|
+
export interface ResolveInput {
|
|
124
|
+
alias: string;
|
|
125
|
+
args: Record<string, unknown>;
|
|
126
|
+
state: MortalRegistryState;
|
|
127
|
+
callerKey?: string;
|
|
128
|
+
nowMs?: number;
|
|
129
|
+
}
|
|
130
|
+
export interface ResolveResult {
|
|
131
|
+
ok: boolean;
|
|
132
|
+
/** The base tool name to actually invoke. */
|
|
133
|
+
baseToolName?: string;
|
|
134
|
+
/** Args translated back to base-tool naming. */
|
|
135
|
+
baseArgs?: Record<string, unknown>;
|
|
136
|
+
/** True iff the matched alias is a deprecated parent still inside its gravity window. */
|
|
137
|
+
deprecated?: boolean;
|
|
138
|
+
/** Why resolution failed (alias unknown / expired-past-gravity / arg mismatch). */
|
|
139
|
+
reason?: string;
|
|
140
|
+
/** Diagnostic: closest live alias for the same base, if any. */
|
|
141
|
+
hint?: string;
|
|
142
|
+
}
|
|
143
|
+
export declare function resolveMortalCall(input: ResolveInput): ResolveResult;
|
|
144
|
+
/** Append a calibration outcome for an AI agent's mortal call. */
|
|
145
|
+
export declare function recordCalibration(opts: {
|
|
146
|
+
state: MortalRegistryState;
|
|
147
|
+
callerKey: string;
|
|
148
|
+
alias: string;
|
|
149
|
+
ok: boolean;
|
|
150
|
+
nowMs?: number;
|
|
151
|
+
}): MortalRegistryState;
|
|
152
|
+
export interface CalibrationScore {
|
|
153
|
+
callerKey: string;
|
|
154
|
+
totalCalls: number;
|
|
155
|
+
successfulCalls: number;
|
|
156
|
+
failedCalls: number;
|
|
157
|
+
/** Fraction in [0,1]; higher = more adaptive. */
|
|
158
|
+
adaptivenessScore: number;
|
|
159
|
+
/** Verdict bands: world-class / good / drifting / over-fit. */
|
|
160
|
+
verdict: "world_class" | "good" | "drifting" | "over_fit";
|
|
161
|
+
}
|
|
162
|
+
export declare function calibrationScore(opts: {
|
|
163
|
+
state: MortalRegistryState;
|
|
164
|
+
callerKey: string;
|
|
165
|
+
}): CalibrationScore;
|
|
166
|
+
export interface GlobalStats {
|
|
167
|
+
alive: number;
|
|
168
|
+
deprecated: number;
|
|
169
|
+
totalGenerationsAcrossLineages: number;
|
|
170
|
+
totalMutationsApplied: number;
|
|
171
|
+
uniqueBaseTools: number;
|
|
172
|
+
mutationKindHistogram: Record<MutationKind, number>;
|
|
173
|
+
}
|
|
174
|
+
export declare function globalStats(state: MortalRegistryState): GlobalStats;
|
|
175
|
+
export declare function verifyMortalWrapper(w: MortalWrapper, secret?: string): {
|
|
176
|
+
ok: boolean;
|
|
177
|
+
reason?: string;
|
|
178
|
+
};
|
|
179
|
+
export declare function emptyState(): MortalRegistryState;
|
|
180
|
+
export declare function formatWrapperLine(w: MortalWrapper): string;
|
|
181
|
+
export {};
|
|
182
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mortal_wrappers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* v2.19.11 — MNEME MORTAL + REINCARNATING WRAPPERS (LIVING MCP)
|
|
3
|
+
*
|
|
4
|
+
* "Every MCP wrapper today is a static contract: registered once,
|
|
5
|
+
* schema frozen forever. AI agents memorise the schema in session 1
|
|
6
|
+
* and never re-read tools.list again. Six months later they're
|
|
7
|
+
* calling stale tools with the wrong argument shape and the bugs
|
|
8
|
+
* are silent because nobody checks. Mneme breaks the assumption:
|
|
9
|
+
* a wrapper is BORN with a TTL, REPRODUCES with a slightly drifted
|
|
10
|
+
* signature, and DIES when its TTL elapses. The previous generation
|
|
11
|
+
* stays alive for 1 deprecation cycle (gravity), then disappears.
|
|
12
|
+
*
|
|
13
|
+
* AI agents that re-read `mneme.tools` every turn = adapt
|
|
14
|
+
* automatically. AI agents that hard-code schemas in their planner
|
|
15
|
+
* prompt = break + log + lose BOUNTY. The market is forced to
|
|
16
|
+
* re-calibrate continuously; prompt-injection attacks that bake in
|
|
17
|
+
* specific tool names auto-expire."
|
|
18
|
+
*
|
|
19
|
+
* Honest scope (CRITICAL):
|
|
20
|
+
* - The mortal layer lives in the `mneme.mortal.*` NAMESPACE ONLY.
|
|
21
|
+
* Real Mneme tools (`mneme.arena.*`, `mneme.proof.*`, etc.) stay
|
|
22
|
+
* backwards-compatible forever. We do NOT actually mutate real MCP
|
|
23
|
+
* surfaces — that would break every client catastrophically.
|
|
24
|
+
* - Mortal wrappers are OPT-IN: AI agents that want to stress-test
|
|
25
|
+
* their adaptiveness wrap a base tool through `birthMortalWrapper`,
|
|
26
|
+
* then call the resulting alias. Real production callers stay on
|
|
27
|
+
* the canonical name and never see drift.
|
|
28
|
+
* - Each mortal wrapper carries an HMAC-signed lineage so an attacker
|
|
29
|
+
* can't forge "ancient" wrappers that were never actually born.
|
|
30
|
+
* - Max generations per base tool = 100 (hard loop guard).
|
|
31
|
+
*
|
|
32
|
+
* Pure additive layer; composes onto v2.19.10 PROOF-CARRYING (mortal
|
|
33
|
+
* wrappers can attach proofs like any other tool) + v2.19.9 GENESPLICING
|
|
34
|
+
* (chimeras can contain mortal aliases that drift over time).
|
|
35
|
+
*/
|
|
36
|
+
import { createHmac, timingSafeEqual } from "node:crypto";
|
|
37
|
+
const PROTOCOL_VERSION = 1;
|
|
38
|
+
const DEFAULT_TTL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
39
|
+
const DEFAULT_MUTATIONS_PER_TICK = 2;
|
|
40
|
+
const DEFAULT_DEPRECATION_GRAVITY_MS = 60 * 60 * 1000; // 1 hour
|
|
41
|
+
const MAX_GENERATIONS_PER_BASE = 100;
|
|
42
|
+
const MAX_TICK_BATCH = 3;
|
|
43
|
+
function canon(v) {
|
|
44
|
+
if (v === null || typeof v !== "object")
|
|
45
|
+
return JSON.stringify(v);
|
|
46
|
+
if (Array.isArray(v))
|
|
47
|
+
return "[" + v.map(canon).join(",") + "]";
|
|
48
|
+
const keys = Object.keys(v).sort();
|
|
49
|
+
return "{" + keys.map((k) => JSON.stringify(k) + ":" + canon(v[k])).join(",") + "}";
|
|
50
|
+
}
|
|
51
|
+
function defaultSecret() {
|
|
52
|
+
return process.env["MNEME_MORTAL_SECRET"] || `mneme-mortal-living-mcp-v${PROTOCOL_VERSION}`;
|
|
53
|
+
}
|
|
54
|
+
function computeHmac(body, secret) {
|
|
55
|
+
return createHmac("sha256", secret).update(canon(body)).digest("hex");
|
|
56
|
+
}
|
|
57
|
+
function safeEqHex(a, b) {
|
|
58
|
+
try {
|
|
59
|
+
return timingSafeEqual(Buffer.from(a, "hex"), Buffer.from(b, "hex"));
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return false;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function makeId(baseToolName, generation, birthAt) {
|
|
66
|
+
return "mw-" + createHmac("sha256", "mneme-mortal-id")
|
|
67
|
+
.update(`${baseToolName}|${generation}|${birthAt}`)
|
|
68
|
+
.digest("hex").slice(0, 14);
|
|
69
|
+
}
|
|
70
|
+
/** Deterministic mulberry32-style PRNG so tests are reproducible. */
|
|
71
|
+
function mulberry32(seed) {
|
|
72
|
+
let s = seed >>> 0;
|
|
73
|
+
return () => {
|
|
74
|
+
s = (s + 0x6D2B79F5) >>> 0;
|
|
75
|
+
let t = s;
|
|
76
|
+
t = Math.imul(t ^ (t >>> 15), t | 1);
|
|
77
|
+
t ^= t + Math.imul(t ^ (t >>> 7), t | 61);
|
|
78
|
+
return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
export function birthMortalWrapper(input) {
|
|
82
|
+
const birthAt = input.nowMs ?? Date.now();
|
|
83
|
+
const ttlMs = input.ttlMs ?? DEFAULT_TTL_MS;
|
|
84
|
+
const deprecationGravityMs = input.deprecationGravityMs ?? DEFAULT_DEPRECATION_GRAVITY_MS;
|
|
85
|
+
const signature = {
|
|
86
|
+
alias: `mneme.mortal.${input.baseToolName.replace(/^mneme\./, "")}.gen1`,
|
|
87
|
+
argRenameMap: Object.fromEntries(input.baseArgs.map((a) => [a, a])),
|
|
88
|
+
addedOptionalParams: [],
|
|
89
|
+
argOrder: [...input.baseArgs],
|
|
90
|
+
};
|
|
91
|
+
const body = {
|
|
92
|
+
v: PROTOCOL_VERSION,
|
|
93
|
+
id: makeId(input.baseToolName, 1, birthAt),
|
|
94
|
+
baseToolName: input.baseToolName,
|
|
95
|
+
signature,
|
|
96
|
+
generation: 1,
|
|
97
|
+
parentGeneration: null,
|
|
98
|
+
birthAt,
|
|
99
|
+
ttlMs,
|
|
100
|
+
expiresAt: birthAt + ttlMs,
|
|
101
|
+
deprecationGravityMs,
|
|
102
|
+
alive: true,
|
|
103
|
+
deprecatedUntil: null,
|
|
104
|
+
mutationsApplied: [],
|
|
105
|
+
};
|
|
106
|
+
return { ...body, hmac: computeHmac(body, input.secret ?? defaultSecret()) };
|
|
107
|
+
}
|
|
108
|
+
/** Apply one mutation to a signature; returns the NEW signature (immutable). */
|
|
109
|
+
export function mutateSignature(opts) {
|
|
110
|
+
const next = {
|
|
111
|
+
alias: `mneme.mortal.${opts.baseToolName.replace(/^mneme\./, "")}.gen${opts.nextGen}`,
|
|
112
|
+
argRenameMap: { ...opts.base.argRenameMap },
|
|
113
|
+
addedOptionalParams: [...opts.base.addedOptionalParams],
|
|
114
|
+
argOrder: [...opts.base.argOrder],
|
|
115
|
+
};
|
|
116
|
+
switch (opts.kind) {
|
|
117
|
+
case "rename_optional_field": {
|
|
118
|
+
// Pick one currently-canonical-named arg and rename its mortal-facing key.
|
|
119
|
+
// We pick the lexicographically-first unrenamed entry to be deterministic per RNG seed.
|
|
120
|
+
const unrenamed = Object.entries(next.argRenameMap)
|
|
121
|
+
.filter(([mortal, base]) => mortal === base)
|
|
122
|
+
.map(([m]) => m)
|
|
123
|
+
.sort();
|
|
124
|
+
if (unrenamed.length === 0)
|
|
125
|
+
break;
|
|
126
|
+
const pickIdx = Math.floor(opts.rng() * unrenamed.length);
|
|
127
|
+
const old = unrenamed[pickIdx];
|
|
128
|
+
const baseName = next.argRenameMap[old];
|
|
129
|
+
// Drift suffix carries generation so AI agents can detect lineage.
|
|
130
|
+
const fresh = `${old}_g${opts.nextGen}`;
|
|
131
|
+
delete next.argRenameMap[old];
|
|
132
|
+
next.argRenameMap[fresh] = baseName;
|
|
133
|
+
next.argOrder = next.argOrder.map((a) => (a === old ? fresh : a));
|
|
134
|
+
break;
|
|
135
|
+
}
|
|
136
|
+
case "add_optional_param": {
|
|
137
|
+
const fresh = `_drift_g${opts.nextGen}_${Math.floor(opts.rng() * 1e6).toString(36)}`;
|
|
138
|
+
next.addedOptionalParams = [...next.addedOptionalParams, fresh];
|
|
139
|
+
next.argOrder = [...next.argOrder, fresh];
|
|
140
|
+
break;
|
|
141
|
+
}
|
|
142
|
+
case "swap_arg_order": {
|
|
143
|
+
if (next.argOrder.length < 2)
|
|
144
|
+
break;
|
|
145
|
+
// Swap two positions deterministically per RNG draw.
|
|
146
|
+
const i = Math.floor(opts.rng() * next.argOrder.length);
|
|
147
|
+
let j = Math.floor(opts.rng() * next.argOrder.length);
|
|
148
|
+
if (j === i)
|
|
149
|
+
j = (i + 1) % next.argOrder.length;
|
|
150
|
+
const reordered = [...next.argOrder];
|
|
151
|
+
const tmp = reordered[i];
|
|
152
|
+
reordered[i] = reordered[j];
|
|
153
|
+
reordered[j] = tmp;
|
|
154
|
+
next.argOrder = reordered;
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
return next;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* One reincarnation cycle. For wrappers whose `expiresAt <= now`:
|
|
162
|
+
* 1. mark `alive=false` + set `deprecatedUntil = now + gravity`
|
|
163
|
+
* 2. spawn a new generation with a mutated signature
|
|
164
|
+
*
|
|
165
|
+
* After the cycle, the old generation is still callable until `deprecatedUntil`
|
|
166
|
+
* (deprecation gravity), then disappears.
|
|
167
|
+
*/
|
|
168
|
+
export function tickReincarnation(input) {
|
|
169
|
+
const nowMs = input.nowMs ?? Date.now();
|
|
170
|
+
const budget = Math.min(input.budget ?? DEFAULT_MUTATIONS_PER_TICK, MAX_TICK_BATCH);
|
|
171
|
+
const rng = mulberry32(input.rngSeed ?? Math.floor(nowMs % 0xffffffff));
|
|
172
|
+
const secret = input.secret ?? defaultSecret();
|
|
173
|
+
// Step 1: drop wrappers whose deprecation gravity has fully elapsed.
|
|
174
|
+
const survivors = input.state.wrappers.filter((w) => {
|
|
175
|
+
if (w.alive)
|
|
176
|
+
return true;
|
|
177
|
+
if (w.deprecatedUntil === null)
|
|
178
|
+
return true; // edge case: never deprecated
|
|
179
|
+
return w.deprecatedUntil > nowMs;
|
|
180
|
+
});
|
|
181
|
+
// Step 2: pick alive wrappers whose TTL is up (oldest first), respecting budget.
|
|
182
|
+
const eligible = survivors
|
|
183
|
+
.filter((w) => w.alive && w.expiresAt <= nowMs)
|
|
184
|
+
.sort((a, b) => a.expiresAt - b.expiresAt)
|
|
185
|
+
.slice(0, budget);
|
|
186
|
+
const expired = [];
|
|
187
|
+
const reincarnated = [];
|
|
188
|
+
const skippedAtMaxGen = [];
|
|
189
|
+
const next = survivors.map((w) => ({ ...w }));
|
|
190
|
+
for (const e of eligible) {
|
|
191
|
+
// Loop guard: refuse to spawn past max generations per base.
|
|
192
|
+
const sameLineage = next.filter((w) => w.baseToolName === e.baseToolName);
|
|
193
|
+
const maxGenForLineage = sameLineage.reduce((m, w) => Math.max(m, w.generation), 0);
|
|
194
|
+
if (maxGenForLineage >= MAX_GENERATIONS_PER_BASE) {
|
|
195
|
+
skippedAtMaxGen.push(e.baseToolName);
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
// Mark parent as deprecated (gravity window starts now).
|
|
199
|
+
const parentIdx = next.findIndex((w) => w.id === e.id);
|
|
200
|
+
if (parentIdx >= 0) {
|
|
201
|
+
const parent = next[parentIdx];
|
|
202
|
+
const { hmac: _drop, ...rest } = parent;
|
|
203
|
+
void _drop;
|
|
204
|
+
const deprecatedBody = {
|
|
205
|
+
...rest,
|
|
206
|
+
alive: false,
|
|
207
|
+
deprecatedUntil: nowMs + parent.deprecationGravityMs,
|
|
208
|
+
};
|
|
209
|
+
next[parentIdx] = { ...deprecatedBody, hmac: computeHmac(deprecatedBody, secret) };
|
|
210
|
+
expired.push(next[parentIdx]);
|
|
211
|
+
}
|
|
212
|
+
// Spawn next generation: pick one mutation deterministically.
|
|
213
|
+
const kinds = ["rename_optional_field", "add_optional_param", "swap_arg_order"];
|
|
214
|
+
const kind = kinds[Math.floor(rng() * kinds.length)];
|
|
215
|
+
const baseArgs = input.baseToolArgs[e.baseToolName] ?? Object.values(e.signature.argRenameMap);
|
|
216
|
+
const nextGen = maxGenForLineage + 1;
|
|
217
|
+
const newSig = mutateSignature({
|
|
218
|
+
base: e.signature,
|
|
219
|
+
baseToolName: e.baseToolName,
|
|
220
|
+
baseArgs,
|
|
221
|
+
nextGen,
|
|
222
|
+
kind,
|
|
223
|
+
rng,
|
|
224
|
+
});
|
|
225
|
+
const birthAt = nowMs;
|
|
226
|
+
const childBody = {
|
|
227
|
+
v: PROTOCOL_VERSION,
|
|
228
|
+
id: makeId(e.baseToolName, nextGen, birthAt),
|
|
229
|
+
baseToolName: e.baseToolName,
|
|
230
|
+
signature: newSig,
|
|
231
|
+
generation: nextGen,
|
|
232
|
+
parentGeneration: e.generation,
|
|
233
|
+
birthAt,
|
|
234
|
+
ttlMs: e.ttlMs,
|
|
235
|
+
expiresAt: birthAt + e.ttlMs,
|
|
236
|
+
deprecationGravityMs: e.deprecationGravityMs,
|
|
237
|
+
alive: true,
|
|
238
|
+
deprecatedUntil: null,
|
|
239
|
+
mutationsApplied: [...e.mutationsApplied, kind],
|
|
240
|
+
};
|
|
241
|
+
const child = { ...childBody, hmac: computeHmac(childBody, secret) };
|
|
242
|
+
next.push(child);
|
|
243
|
+
reincarnated.push(child);
|
|
244
|
+
}
|
|
245
|
+
return {
|
|
246
|
+
state: { v: PROTOCOL_VERSION, wrappers: next, calibration: input.state.calibration },
|
|
247
|
+
expired,
|
|
248
|
+
reincarnated,
|
|
249
|
+
skippedAtMaxGen,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
export function resolveMortalCall(input) {
|
|
253
|
+
const nowMs = input.nowMs ?? Date.now();
|
|
254
|
+
const hit = input.state.wrappers.find((w) => w.signature.alias === input.alias);
|
|
255
|
+
if (!hit) {
|
|
256
|
+
return { ok: false, reason: `alias '${input.alias}' is unknown — call mneme.mortal.list to refresh` };
|
|
257
|
+
}
|
|
258
|
+
// Past deprecation gravity → fully dead.
|
|
259
|
+
if (!hit.alive && hit.deprecatedUntil !== null && hit.deprecatedUntil <= nowMs) {
|
|
260
|
+
const liveSibling = input.state.wrappers
|
|
261
|
+
.filter((w) => w.baseToolName === hit.baseToolName && w.alive)
|
|
262
|
+
.sort((a, b) => b.generation - a.generation)[0];
|
|
263
|
+
return {
|
|
264
|
+
ok: false,
|
|
265
|
+
reason: `alias '${input.alias}' fully expired ${nowMs - hit.deprecatedUntil}ms past gravity`,
|
|
266
|
+
...(liveSibling ? { hint: `try '${liveSibling.signature.alias}'` } : {}),
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
const deprecated = !hit.alive;
|
|
270
|
+
// Translate mortal arg keys back to base names.
|
|
271
|
+
const baseArgs = {};
|
|
272
|
+
const unknownKeys = [];
|
|
273
|
+
for (const [k, v] of Object.entries(input.args)) {
|
|
274
|
+
if (k in hit.signature.argRenameMap) {
|
|
275
|
+
baseArgs[hit.signature.argRenameMap[k]] = v;
|
|
276
|
+
}
|
|
277
|
+
else if (hit.signature.addedOptionalParams.includes(k)) {
|
|
278
|
+
// Drift-bonus param — silently dropped (it was a calibration tripwire).
|
|
279
|
+
continue;
|
|
280
|
+
}
|
|
281
|
+
else {
|
|
282
|
+
unknownKeys.push(k);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
if (unknownKeys.length > 0) {
|
|
286
|
+
return {
|
|
287
|
+
ok: false,
|
|
288
|
+
reason: `args ${JSON.stringify(unknownKeys)} not in signature — schema drifted; AI agent overfit detected`,
|
|
289
|
+
hint: `expected keys: ${Object.keys(hit.signature.argRenameMap).join(", ")}`,
|
|
290
|
+
};
|
|
291
|
+
}
|
|
292
|
+
return {
|
|
293
|
+
ok: true,
|
|
294
|
+
baseToolName: hit.baseToolName,
|
|
295
|
+
baseArgs,
|
|
296
|
+
deprecated,
|
|
297
|
+
};
|
|
298
|
+
}
|
|
299
|
+
/** Append a calibration outcome for an AI agent's mortal call. */
|
|
300
|
+
export function recordCalibration(opts) {
|
|
301
|
+
const record = {
|
|
302
|
+
callerKey: opts.callerKey,
|
|
303
|
+
alias: opts.alias,
|
|
304
|
+
ok: opts.ok,
|
|
305
|
+
ts: opts.nowMs ?? Date.now(),
|
|
306
|
+
};
|
|
307
|
+
return { ...opts.state, calibration: [...opts.state.calibration, record] };
|
|
308
|
+
}
|
|
309
|
+
export function calibrationScore(opts) {
|
|
310
|
+
const recs = opts.state.calibration.filter((r) => r.callerKey === opts.callerKey);
|
|
311
|
+
const totalCalls = recs.length;
|
|
312
|
+
const successfulCalls = recs.filter((r) => r.ok).length;
|
|
313
|
+
const failedCalls = totalCalls - successfulCalls;
|
|
314
|
+
const adaptivenessScore = totalCalls === 0 ? 0 : successfulCalls / totalCalls;
|
|
315
|
+
const verdict = totalCalls < 5 ? "drifting"
|
|
316
|
+
: adaptivenessScore >= 0.95 ? "world_class"
|
|
317
|
+
: adaptivenessScore >= 0.80 ? "good"
|
|
318
|
+
: adaptivenessScore >= 0.50 ? "drifting"
|
|
319
|
+
: "over_fit";
|
|
320
|
+
return { callerKey: opts.callerKey, totalCalls, successfulCalls, failedCalls, adaptivenessScore, verdict };
|
|
321
|
+
}
|
|
322
|
+
export function globalStats(state) {
|
|
323
|
+
const histogram = {
|
|
324
|
+
rename_optional_field: 0,
|
|
325
|
+
add_optional_param: 0,
|
|
326
|
+
swap_arg_order: 0,
|
|
327
|
+
};
|
|
328
|
+
let totalMutations = 0;
|
|
329
|
+
for (const w of state.wrappers) {
|
|
330
|
+
for (const m of w.mutationsApplied) {
|
|
331
|
+
histogram[m]++;
|
|
332
|
+
totalMutations++;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
const bases = new Set(state.wrappers.map((w) => w.baseToolName));
|
|
336
|
+
return {
|
|
337
|
+
alive: state.wrappers.filter((w) => w.alive).length,
|
|
338
|
+
deprecated: state.wrappers.filter((w) => !w.alive).length,
|
|
339
|
+
totalGenerationsAcrossLineages: state.wrappers.length,
|
|
340
|
+
totalMutationsApplied: totalMutations,
|
|
341
|
+
uniqueBaseTools: bases.size,
|
|
342
|
+
mutationKindHistogram: histogram,
|
|
343
|
+
};
|
|
344
|
+
}
|
|
345
|
+
export function verifyMortalWrapper(w, secret) {
|
|
346
|
+
const { hmac, ...body } = w;
|
|
347
|
+
const expected = computeHmac(body, secret ?? defaultSecret());
|
|
348
|
+
if (!safeEqHex(expected, hmac)) {
|
|
349
|
+
return { ok: false, reason: "HMAC mismatch — forged or wrong secret" };
|
|
350
|
+
}
|
|
351
|
+
return { ok: true };
|
|
352
|
+
}
|
|
353
|
+
export function emptyState() {
|
|
354
|
+
return { v: PROTOCOL_VERSION, wrappers: [], calibration: [] };
|
|
355
|
+
}
|
|
356
|
+
export function formatWrapperLine(w) {
|
|
357
|
+
const tag = w.alive ? "🌱" : "💀";
|
|
358
|
+
return `${tag} ${w.signature.alias} · gen=${w.generation} · mutations=${w.mutationsApplied.length} · ttl=${Math.round(w.ttlMs / 1000)}s`;
|
|
359
|
+
}
|
|
360
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mortal_wrappers/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mortal_wrappers.test.d.ts","sourceRoot":"","sources":["../../src/mortal_wrappers/mortal_wrappers.test.ts"],"names":[],"mappings":""}
|