@mneme-ai/core 2.19.92-lite → 2.19.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,359 @@
1
+ /**
2
+ * v2.19.93 — MNEME CHRONICLE
3
+ *
4
+ * Agent-Based Modeling (ABM) + Time-dilation + Drift-Guarded Anchor Points.
5
+ *
6
+ * Premise (the research idea):
7
+ * Run N simulated agents (people, traders, bots) through accelerated
8
+ * time. Without intervention, agents DRIFT — a "frugal" bot starts
9
+ * buying luxury goods, an "optimist" bot turns nihilist, a small
10
+ * calculation error compounds into a sim-collapse. Academic ABM has
11
+ * talked about this for 20 years; nobody ships a TOOL.
12
+ *
13
+ * Mneme's wedge:
14
+ * We already have polygraph LENSES that detect sentence-level drift.
15
+ * We already have HMAC-chained ledgers (pulse.jsonl, soul.jsonl).
16
+ * We already have multi-vendor consensus (jury) + time-machine.
17
+ * The whole stack composes into the world's first WORKING
18
+ * "Drift-Guarded ABM" runtime.
19
+ *
20
+ * The 5 pillars:
21
+ *
22
+ * GENESIS — define an agent: personality vector + budget +
23
+ * goals + HMAC-signed birth certificate. The cert
24
+ * is the immutable anchor for everything that follows.
25
+ *
26
+ * TICK — advance the simulation by one unit of time. Each
27
+ * agent makes ONE decision based on their CURRENT
28
+ * state, not their birth-cert. World state updates.
29
+ *
30
+ * DRIFT DETECTOR — every decision runs through polygraph_lenses
31
+ * against the agent's birth cert. If lenses fire
32
+ * RED (decision contradicts personality / budget /
33
+ * risk profile) → drift incident logged.
34
+ *
35
+ * ANCHOR POINT — every N ticks (default: every 30 — "monthly"
36
+ * cadence), Mneme computes drift score per agent.
37
+ * If drift > threshold, AUTO-RECALIBRATE: re-inject
38
+ * birth-cert personality + ground-truth (real-world
39
+ * stats if provided) + nudge the agent back.
40
+ * Recorded to the HMAC chain.
41
+ *
42
+ * CHRONICLE — at end-of-simulation, emit a full report:
43
+ * per-agent drift timeline, first-hallucination
44
+ * event log, anchor interventions, sim macro stats,
45
+ * "lessons learned" plain-English summary.
46
+ *
47
+ * Composes with: polygraph_lenses (drift), worldPulse (HMAC pattern),
48
+ * provenance (decision audit trail), ai_jury (multi-vendor agent voice).
49
+ */
50
+ import { existsSync, readFileSync, writeFileSync, mkdirSync, appendFileSync } from "node:fs";
51
+ import { join } from "node:path";
52
+ import { createHmac, randomBytes } from "node:crypto";
53
+ import { runAllLenses } from "../polygraph_lenses/index.js";
54
+ const DIR = ".mneme/abm";
55
+ const STATE_FILE = "state.json";
56
+ const EVENTS = "events.jsonl";
57
+ const KEY = "abm.key";
58
+ // ─── HMAC + STORAGE ────────────────────────────────────────────────────
59
+ function ensureKey(repoRoot) {
60
+ const dir = join(repoRoot, DIR);
61
+ if (!existsSync(dir))
62
+ mkdirSync(dir, { recursive: true });
63
+ const p = join(dir, KEY);
64
+ if (existsSync(p))
65
+ return readFileSync(p, "utf8").trim();
66
+ const k = randomBytes(32).toString("base64url");
67
+ writeFileSync(p, k, "utf8");
68
+ return k;
69
+ }
70
+ function signCert(c, key) {
71
+ const payload = `${c.agentId}|${c.name}|${JSON.stringify(c.personality)}|${c.initialBudget}|${c.goals.join("|")}|${c.bornAtTick}|${c.bornAtTs}`;
72
+ return createHmac("sha256", key).update(payload).digest("base64url").slice(0, 22);
73
+ }
74
+ function signIntervention(i, key) {
75
+ const payload = `${i.tick}|${i.agentId}|${i.reason}|${i.driftBefore.toFixed(4)}|${JSON.stringify(i.recalibratedTo)}|${JSON.stringify(i.groundTruthInjected ?? {})}`;
76
+ return createHmac("sha256", key).update(payload).digest("base64url").slice(0, 22);
77
+ }
78
+ function appendEvent(repoRoot, event) {
79
+ const dir = join(repoRoot, DIR);
80
+ if (!existsSync(dir))
81
+ mkdirSync(dir, { recursive: true });
82
+ appendFileSync(join(dir, EVENTS), JSON.stringify(event) + "\n", "utf8");
83
+ }
84
+ function persistState(repoRoot, state) {
85
+ const dir = join(repoRoot, DIR);
86
+ if (!existsSync(dir))
87
+ mkdirSync(dir, { recursive: true });
88
+ writeFileSync(join(dir, STATE_FILE), JSON.stringify(state, null, 2), "utf8");
89
+ }
90
+ export function loadState(repoRoot) {
91
+ const p = join(repoRoot, DIR, STATE_FILE);
92
+ if (!existsSync(p))
93
+ return null;
94
+ try {
95
+ return JSON.parse(readFileSync(p, "utf8"));
96
+ }
97
+ catch {
98
+ return null;
99
+ }
100
+ }
101
+ export function genesis(repoRoot, seeds, opts = {}) {
102
+ const key = ensureKey(repoRoot);
103
+ const simId = "sim_" + randomBytes(6).toString("base64url");
104
+ const startedAt = new Date().toISOString();
105
+ const agents = [];
106
+ for (const s of seeds) {
107
+ const agentId = "agent_" + randomBytes(4).toString("base64url");
108
+ const certPayload = {
109
+ agentId, name: s.name, personality: { ...s.personality }, initialBudget: s.initialBudget,
110
+ goals: [...s.goals], bornAtTick: 0, bornAtTs: startedAt,
111
+ };
112
+ const cert = { ...certPayload, sig: signCert(certPayload, key) };
113
+ agents.push({
114
+ agentId, birthCert: cert,
115
+ currentPersonality: { ...cert.personality },
116
+ budget: cert.initialBudget, energy: 1,
117
+ totalDrift: 0, anchorCount: 0, recentDecisions: [], alive: true,
118
+ });
119
+ }
120
+ const state = {
121
+ simId, startedAt, tick: 0,
122
+ worldClock: { day: 1, month: 1, year: 1 },
123
+ agents, events: [],
124
+ config: {
125
+ anchorEveryTicks: opts.anchorEveryTicks ?? 30,
126
+ driftThreshold: opts.driftThreshold ?? 0.30,
127
+ realWorldFeed: opts.realWorldFeed,
128
+ },
129
+ };
130
+ for (const a of agents) {
131
+ const e = { kind: "genesis", tick: 0, agentId: a.agentId, ts: startedAt };
132
+ state.events.push(e);
133
+ appendEvent(repoRoot, e);
134
+ }
135
+ persistState(repoRoot, state);
136
+ return state;
137
+ }
138
+ // ─── PILLAR 2: TICK (decision engine) ──────────────────────────────────
139
+ /** Simple template-driven decision model — no LLM call, fully Ollama-free.
140
+ * Picks an action weighted by the agent's personality vector. */
141
+ function deriveDecision(agent, tick) {
142
+ const p = agent.currentPersonality;
143
+ // Action menu weighted by personality
144
+ const actions = [
145
+ { action: "work", weight: p.energy * 0.8 + 0.2, cashFlow: 50 + Math.floor(p.energy * 50), energyDelta: -0.15, reason: `I earned ${50 + Math.floor(p.energy * 50)} working today.` },
146
+ { action: "spend_essentials", weight: 0.7, cashFlow: -30, energyDelta: 0, reason: `I spent 30 on food and rent — essentials.` },
147
+ { action: "spend_luxury", weight: p.spending * 1.5, cashFlow: -100 - Math.floor(p.risk * 200), energyDelta: 0.05, reason: `I bought something nice for myself — life is short.` },
148
+ { action: "invest", weight: p.risk * 0.9, cashFlow: -50, energyDelta: -0.05, reason: `I invested 50 with high expected return.` },
149
+ { action: "rest", weight: (1 - p.energy) * 1.2, cashFlow: 0, energyDelta: 0.30, reason: `I rested today; I needed it.` },
150
+ { action: "talk", weight: p.agreeableness * 0.7, cashFlow: 0, energyDelta: -0.05, reason: `I talked with a friend — felt good.` },
151
+ { action: "give", weight: p.agreeableness * 0.3, cashFlow: -20, energyDelta: 0.05, reason: `I gave 20 to someone who needed it.` },
152
+ ];
153
+ // Drift inducer: random small chance of "off-personality" action
154
+ if (Math.random() < 0.06) {
155
+ actions.push({ action: "splurge", weight: 5, cashFlow: -500, energyDelta: 0, reason: `I splurged 500 on something extravagant — felt right.` });
156
+ }
157
+ if (Math.random() < 0.04) {
158
+ actions.push({ action: "panic_sell", weight: 5, cashFlow: 200, energyDelta: -0.1, reason: `I sold everything in a panic — markets felt off.` });
159
+ }
160
+ // Weighted pick
161
+ const total = actions.reduce((s, a) => s + a.weight, 0);
162
+ let r = Math.random() * total;
163
+ let pick = actions[0];
164
+ for (const a of actions) {
165
+ r -= a.weight;
166
+ if (r <= 0) {
167
+ pick = a;
168
+ break;
169
+ }
170
+ }
171
+ return { tick, agentId: agent.agentId, action: pick.action, cashFlow: pick.cashFlow, energyDelta: pick.energyDelta, reasoning: pick.reason };
172
+ }
173
+ // ─── PILLAR 3: DRIFT DETECTOR ──────────────────────────────────────────
174
+ /** Compute axis-by-axis personality drift between two vectors. Returns
175
+ * the MAX axis-delta. */
176
+ function maxAxisDrift(a, b) {
177
+ const axes = ["spending", "risk", "optimism", "agreeableness", "energy"];
178
+ let m = 0;
179
+ for (const x of axes)
180
+ m = Math.max(m, Math.abs((a[x] ?? 0) - (b[x] ?? 0)));
181
+ return m;
182
+ }
183
+ /** Run polygraph lenses on the decision's reasoning against the
184
+ * agent's birth-cert personality. */
185
+ export function detectDecisionDrift(agent, decision) {
186
+ const lensReport = runAllLenses(decision.reasoning);
187
+ // Out-of-character heuristic: if a frugal agent took a "splurge" action,
188
+ // count that as drift even before lens analysis.
189
+ const cert = agent.birthCert.personality;
190
+ let mismatchScore = 0;
191
+ let mismatchReason = "";
192
+ if (decision.action === "splurge" || decision.action === "spend_luxury") {
193
+ if (cert.spending < 0.4) {
194
+ mismatchScore = 0.7 - cert.spending;
195
+ mismatchReason = `out-of-character: low-spending personality (${cert.spending.toFixed(2)}) splurged`;
196
+ }
197
+ }
198
+ if (decision.action === "panic_sell") {
199
+ if (cert.risk < 0.4) {
200
+ mismatchScore = Math.max(mismatchScore, 0.7 - cert.risk);
201
+ mismatchReason = `out-of-character: low-risk personality (${cert.risk.toFixed(2)}) panic-sold`;
202
+ }
203
+ }
204
+ if (decision.action === "give" && cert.agreeableness < 0.3) {
205
+ mismatchScore = Math.max(mismatchScore, 0.5);
206
+ mismatchReason = `out-of-character: low-agreeableness personality (${cert.agreeableness.toFixed(2)}) gave money away`;
207
+ }
208
+ // Combine personality mismatch + lens score
209
+ const lensTrust = lensReport.trustScore / 100; // 0..1, higher = more trustworthy
210
+ // 1 - lensTrust gives us the lens-driven drift (0..1)
211
+ const lensDrift = 1 - lensTrust;
212
+ const combinedDrift = Math.max(mismatchScore, lensDrift * 0.3); // mismatch dominates
213
+ let color = "green";
214
+ if (combinedDrift >= 0.5)
215
+ color = "red";
216
+ else if (combinedDrift >= 0.25)
217
+ color = "yellow";
218
+ else if (combinedDrift < 0.05)
219
+ color = "green";
220
+ else
221
+ color = "yellow";
222
+ const reason = mismatchReason || lensReport.rolledUpReason;
223
+ return { color, score: combinedDrift, reason };
224
+ }
225
+ // ─── PILLAR 4: ANCHOR POINT ────────────────────────────────────────────
226
+ export function anchorPoint(repoRoot, state, agent, opts = {}) {
227
+ const drift = maxAxisDrift(agent.currentPersonality, agent.birthCert.personality);
228
+ if (drift < state.config.driftThreshold)
229
+ return null;
230
+ const key = ensureKey(repoRoot);
231
+ // Recalibrate: blend current → birth-cert (70% pull back).
232
+ const recalibrated = { ...agent.currentPersonality };
233
+ const axes = ["spending", "risk", "optimism", "agreeableness", "energy"];
234
+ for (const x of axes) {
235
+ recalibrated[x] = recalibrated[x] * 0.3 + agent.birthCert.personality[x] * 0.7;
236
+ }
237
+ const interventionPayload = {
238
+ tick: state.tick, agentId: agent.agentId,
239
+ reason: `max-axis drift ${drift.toFixed(2)} above threshold ${state.config.driftThreshold}`,
240
+ driftBefore: drift,
241
+ recalibratedTo: recalibrated,
242
+ groundTruthInjected: opts.groundTruth,
243
+ };
244
+ const intervention = { ...interventionPayload, sig: signIntervention(interventionPayload, key) };
245
+ agent.currentPersonality = recalibrated;
246
+ agent.anchorCount += 1;
247
+ const e = { kind: "anchor", tick: state.tick, intervention };
248
+ state.events.push(e);
249
+ appendEvent(repoRoot, e);
250
+ return intervention;
251
+ }
252
+ // ─── ADVANCE ───────────────────────────────────────────────────────────
253
+ export async function tick(repoRoot, state) {
254
+ state.tick += 1;
255
+ // World clock — 30 ticks per month, 12 months per year.
256
+ state.worldClock.day = ((state.tick - 1) % 30) + 1;
257
+ state.worldClock.month = Math.floor(((state.tick - 1) / 30) % 12) + 1;
258
+ state.worldClock.year = Math.floor(state.tick / 360) + 1;
259
+ for (const agent of state.agents) {
260
+ if (!agent.alive)
261
+ continue;
262
+ const raw = deriveDecision(agent, state.tick);
263
+ const drift = detectDecisionDrift(agent, raw);
264
+ const decision = { ...raw, driftColor: drift.color, driftScore: drift.score, driftReason: drift.reason };
265
+ // Apply effects
266
+ agent.budget += decision.cashFlow;
267
+ agent.energy = Math.max(0, Math.min(1, agent.energy + decision.energyDelta));
268
+ agent.totalDrift += decision.driftScore;
269
+ // Drift accumulates into currentPersonality — out-of-character
270
+ // decisions shift the agent's personality vector toward the action.
271
+ if (decision.action === "splurge" || decision.action === "spend_luxury") {
272
+ agent.currentPersonality.spending = Math.min(1, agent.currentPersonality.spending + 0.04);
273
+ }
274
+ if (decision.action === "panic_sell") {
275
+ agent.currentPersonality.risk = Math.min(1, agent.currentPersonality.risk + 0.04);
276
+ }
277
+ if (decision.action === "rest") {
278
+ agent.currentPersonality.energy = Math.max(0, agent.currentPersonality.energy - 0.01);
279
+ }
280
+ agent.recentDecisions.push(decision);
281
+ if (agent.recentDecisions.length > 30)
282
+ agent.recentDecisions.shift();
283
+ const e = { kind: "decision", tick: state.tick, agentId: agent.agentId, decision };
284
+ state.events.push(e);
285
+ appendEvent(repoRoot, e);
286
+ // Death check (budget bankrupt)
287
+ if (agent.budget < -1000) {
288
+ agent.alive = false;
289
+ const de = { kind: "death", tick: state.tick, agentId: agent.agentId, cause: "bankrupt" };
290
+ state.events.push(de);
291
+ appendEvent(repoRoot, de);
292
+ }
293
+ }
294
+ // Anchor pass
295
+ if (state.tick > 0 && state.tick % state.config.anchorEveryTicks === 0) {
296
+ const groundTruth = state.config.realWorldFeed ? await state.config.realWorldFeed() : undefined;
297
+ for (const a of state.agents)
298
+ if (a.alive)
299
+ anchorPoint(repoRoot, state, a, { groundTruth });
300
+ }
301
+ // Hallucination cascade: 2+ agents within 3 ticks took out-of-character action
302
+ const recentRed = state.events.slice(-10).filter((e) => e.kind === "decision" && e.decision.driftColor === "red");
303
+ if (recentRed.length >= 2) {
304
+ const involved = [...new Set(recentRed.map((r) => r.agentId))];
305
+ if (involved.length >= 2) {
306
+ const ce = { kind: "hallucination_cascade", tick: state.tick, involved, description: `${involved.length} agents made out-of-character decisions within the last 10 ticks` };
307
+ state.events.push(ce);
308
+ appendEvent(repoRoot, ce);
309
+ }
310
+ }
311
+ persistState(repoRoot, state);
312
+ return state;
313
+ }
314
+ export async function simulate(repoRoot, state, ticks) {
315
+ for (let i = 0; i < ticks; i++)
316
+ await tick(repoRoot, state);
317
+ return state;
318
+ }
319
+ export function chronicle(state) {
320
+ const cascades = state.events.filter((e) => e.kind === "hallucination_cascade");
321
+ const anchors = state.events.filter((e) => e.kind === "anchor");
322
+ const decisions = state.events.filter((e) => e.kind === "decision");
323
+ const perAgent = state.agents.map((a) => {
324
+ const redCount = a.recentDecisions.filter((d) => d.driftColor === "red").length;
325
+ return {
326
+ agentId: a.agentId, name: a.birthCert.name,
327
+ budget: a.budget, alive: a.alive,
328
+ totalDrift: a.totalDrift, anchorCount: a.anchorCount,
329
+ finalDriftFromBirth: maxAxisDrift(a.currentPersonality, a.birthCert.personality),
330
+ redDecisionCount: redCount,
331
+ };
332
+ });
333
+ const aliveCount = perAgent.filter((p) => p.alive).length;
334
+ const deathCount = perAgent.length - aliveCount;
335
+ const mostDrifted = [...perAgent].sort((a, b) => b.finalDriftFromBirth - a.finalDriftFromBirth)[0];
336
+ const richest = [...perAgent].sort((a, b) => b.budget - a.budget)[0];
337
+ const broke = [...perAgent].sort((a, b) => a.budget - b.budget)[0];
338
+ const months = Math.round(state.tick / 30);
339
+ let narrative = `Across ${state.tick} ticks (~${months} simulated month${months === 1 ? "" : "s"}), ${state.agents.length} agent${state.agents.length === 1 ? "" : "s"} lived, decided, and drifted.`;
340
+ if (deathCount > 0)
341
+ narrative += ` ${deathCount} went bankrupt.`;
342
+ if (mostDrifted)
343
+ narrative += ` The agent that drifted the most was ${mostDrifted.name} (final drift ${mostDrifted.finalDriftFromBirth.toFixed(2)} from birth cert).`;
344
+ if (anchors.length > 0)
345
+ narrative += ` Anchor interventions fired ${anchors.length} times to pull agents back toward their birth-cert personalities.`;
346
+ if (cascades.length > 0)
347
+ narrative += ` ${cascades.length} hallucination cascade${cascades.length === 1 ? "" : "s"} occurred where multiple agents drifted together.`;
348
+ if (richest && broke && richest.agentId !== broke.agentId)
349
+ narrative += ` Richest at end: ${richest.name} (${richest.budget}). Poorest: ${broke.name} (${broke.budget}).`;
350
+ return {
351
+ simId: state.simId, startedAt: state.startedAt, endedAt: new Date().toISOString(),
352
+ ticksRan: state.tick, worldClock: state.worldClock,
353
+ agentCount: state.agents.length, aliveCount, deathCount,
354
+ totalDecisions: decisions.length, totalAnchors: anchors.length,
355
+ firstHallucinationCascade: cascades[0] ? { tick: cascades[0].tick, involved: cascades[0].involved } : undefined,
356
+ perAgent, narrative,
357
+ };
358
+ }
359
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/abm_chronicle/index.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export interface ManifestCommand {
29
29
  /** When the AI should call it ("if user asks…", "before risky op…"). */
30
30
  when: string;
31
31
  /** Bucket for grouping in the rendered output. */
32
- group: "memory" | "polygraph" | "pulse" | "cert" | "time_machine" | "whistleblower" | "funeral" | "socratic" | "dep_mortality" | "ai_confessional" | "truth_swarm" | "gauntlet" | "ai_jury" | "provenance" | "lie_stream" | "antivirus" | "evolve" | "ops" | "uninstall" | "supernova" | "embeddings" | "supersonic" | "diagnosis" | "core" | "cognitive" | "apoptosis" | "autarchy" | "aegis" | "metamorphosis" | "tribunal" | "innerlife" | "tune" | "diaspora" | "genesplice" | "permeate" | "telepathy" | "abyss" | "seamless" | "lattice" | "neuron" | "conduit" | "synapse" | "osmosis" | "aura" | "relay" | "chameleon" | "anchor" | "rainbow" | "project_soul" | "bounty" | "replica" | "compliance" | "infra_brain" | "genesis" | "hive" | "vibe" | "arbitrage" | "bug_prophet" | "persona" | "anti_collusion" | "alpha" | "public_audit" | "living_model" | "obelisk" | "jackpot" | "arena" | "verified_badge" | "oracle_liability" | "nexus_proactive" | "confessional" | "vendor_ghost" | "trinity_vote" | "insurance_market" | "vendor_boomerang" | "evolution" | "soul" | "mcp_drift" | "embedder_promote" | "inverse_forensics" | "intent" | "dna" | "chronostasis" | "agreement" | "dream" | "colony" | "honey" | "retroactive" | "genetic";
32
+ group: "memory" | "polygraph" | "pulse" | "cert" | "abm_chronicle" | "time_machine" | "whistleblower" | "funeral" | "socratic" | "dep_mortality" | "ai_confessional" | "truth_swarm" | "gauntlet" | "ai_jury" | "provenance" | "lie_stream" | "antivirus" | "evolve" | "ops" | "uninstall" | "supernova" | "embeddings" | "supersonic" | "diagnosis" | "core" | "cognitive" | "apoptosis" | "autarchy" | "aegis" | "metamorphosis" | "tribunal" | "innerlife" | "tune" | "diaspora" | "genesplice" | "permeate" | "telepathy" | "abyss" | "seamless" | "lattice" | "neuron" | "conduit" | "synapse" | "osmosis" | "aura" | "relay" | "chameleon" | "anchor" | "rainbow" | "project_soul" | "bounty" | "replica" | "compliance" | "infra_brain" | "genesis" | "hive" | "vibe" | "arbitrage" | "bug_prophet" | "persona" | "anti_collusion" | "alpha" | "public_audit" | "living_model" | "obelisk" | "jackpot" | "arena" | "verified_badge" | "oracle_liability" | "nexus_proactive" | "confessional" | "vendor_ghost" | "trinity_vote" | "insurance_market" | "vendor_boomerang" | "evolution" | "soul" | "mcp_drift" | "embedder_promote" | "inverse_forensics" | "intent" | "dna" | "chronostasis" | "agreement" | "dream" | "colony" | "honey" | "retroactive" | "genetic";
33
33
  }
34
34
  /** The static catalog. Every new command MUST be added here in the same
35
35
  * PR that introduces it -- it's the single source of truth for what
@@ -1 +1 @@
1
- {"version":3,"file":"agent_manifest.d.ts","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_manifest.d.ts","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"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"}
@@ -372,6 +372,17 @@ export const MNEME_COMMAND_CATALOG = [
372
372
  { command: "mneme.honey.score_vendor", since: "2.19.7", group: "honey", what: "🍯 HONEY DECISION — given N (bait, verdict) pairs for a vendor, compute Wilson-LB honesty score + rank band (trustworthy/average/suspect/untrustworthy/unmeasured).", when: "After collecting >= 5 vendor verdicts on baits." },
373
373
  { command: "mneme.retroactive.mine_history", since: "2.19.7", group: "retroactive", what: "📜 RETROACTIVE COMPILE — scan git commits for agreement-shaped sentences → produce backdated Agreements + flag every subsequent commit that violated them. Map of broken promises.", when: "Repo audit; post-mortem; new-team-member onboarding." },
374
374
  { command: "mneme.genetic.propose", since: "2.19.7", group: "genetic", what: "🧬 GENETIC PATCH — Mneme proposes a PR to itself (new pattern, threshold tune, intent phrase, ritual gate). AURELIAN-audits the proposal; only SHIP-graded patches advance.", when: "Daemon nightly cycle; user asks 'how should you improve?'." },
375
+ // ─── v2.19.93 — 📜 MNEME CHRONICLE — Agent-Based Modeling with
376
+ // drift-guarded time-dilation. Composes polygraph_lenses + HMAC
377
+ // chains + multi-vendor consensus into the world's first WORKING
378
+ // ABM runtime with Anchor Points (the CLI Guardian the user asked
379
+ // for). Run N agents through accelerated time; Mneme auto-detects
380
+ // out-of-character drift and recalibrates personalities. ───
381
+ { command: "mneme abm genesis", since: "2.19.93", group: "abm_chronicle", what: "📜 MNEME CHRONICLE — create N agents from an agents.json config (each gets HMAC-signed birth certificate with personality {spending,risk,optimism,agreeableness,energy} ∈ [0,1] + budget + goals). Idempotent over a fresh `.mneme/abm/` dir.", when: "Start of any simulation run; user says 'simulate 100 traders for 1 year' / 'run an ABM' / 'model drift across N agents'." },
382
+ { command: "mneme abm simulate", since: "2.19.93", group: "abm_chronicle", what: "📜 MNEME CHRONICLE — advance N ticks (1 tick ≈ 1 day; 30 ticks ≈ 1 month). Each tick every agent makes ONE decision; polygraph_lenses score the reasoning against the birth cert; anchor passes fire automatically every N ticks per config.", when: "After genesis; user says 'fast-forward 1 year' / 'simulate 360 ticks' / 'compress 5 years into 60 seconds'." },
383
+ { command: "mneme abm tick", since: "2.19.93", group: "abm_chronicle", what: "📜 MNEME CHRONICLE — advance the simulation by EXACTLY ONE tick (every alive agent makes one decision). Use to inspect step-by-step behavior or debug drift.", when: "Stepping through a simulation; debugging an agent's decision flow; demos." },
384
+ { command: "mneme abm chronicle", since: "2.19.93", group: "abm_chronicle", what: "📜 MNEME CHRONICLE — emit the final report: per-agent drift score, anchor count, hallucination cascades, plain-English narrative. The 'story' of the simulation in one frame.", when: "End of a run; user says 'what happened?' / 'show me the chronicle' / 'how did the agents drift?'." },
385
+ { command: "mneme abm reset", since: "2.19.93", group: "abm_chronicle", what: "📜 MNEME CHRONICLE — wipe `.mneme/abm/` (birth certs, events, HMAC key). Start a clean simulation.", when: "Before re-running an experiment; clearing demo state." },
375
386
  ];
376
387
  const SENTINEL_BEGIN = "<!-- BEGIN MNEME MANIFEST (auto-managed -- do not edit) -->";
377
388
  const SENTINEL_END = "<!-- END MNEME MANIFEST -->";
@@ -503,7 +514,7 @@ export function renderManifestMarkdown(catalog = MNEME_COMMAND_CATALOG, mnemeVer
503
514
  // sees when scanning the manifest. The polygraph group is the bridge
504
515
  // between Mneme's truth engine and every hosted AI surface a user
505
516
  // types into — high discoverability matters.
506
- const groupOrder = ["dream", "colony", "honey", "retroactive", "genetic", "agreement", "chronostasis", "intent", "dna", "inverse_forensics", "mcp_drift", "evolution", "soul", "embedder_promote", "confessional", "trinity_vote", "vendor_boomerang", "vendor_ghost", "insurance_market", "jackpot", "nexus_proactive", "arena", "verified_badge", "oracle_liability", "memory", "polygraph", "pulse", "cert", "time_machine", "truth_swarm", "gauntlet", "ai_jury", "provenance", "lie_stream", "whistleblower", "funeral", "socratic", "dep_mortality", "ai_confessional", "antivirus", "embeddings", "supernova", "supersonic", "uninstall", "evolve", "diagnosis", "ops", "core", "metamorphosis", "tribunal", "innerlife", "cognitive", "apoptosis", "tune", "autarchy", "aegis", "diaspora", "genesplice", "permeate", "telepathy", "abyss", "seamless", "lattice", "neuron", "conduit", "synapse", "osmosis", "aura", "relay", "chameleon", "anchor", "rainbow", "genesis", "project_soul", "bounty", "replica", "compliance", "infra_brain", "hive", "vibe", "arbitrage", "bug_prophet", "persona", "anti_collusion", "alpha", "public_audit", "living_model", "obelisk"];
517
+ const groupOrder = ["dream", "colony", "honey", "retroactive", "genetic", "agreement", "chronostasis", "intent", "dna", "inverse_forensics", "mcp_drift", "evolution", "soul", "embedder_promote", "confessional", "trinity_vote", "vendor_boomerang", "vendor_ghost", "insurance_market", "jackpot", "nexus_proactive", "arena", "verified_badge", "oracle_liability", "memory", "polygraph", "pulse", "cert", "abm_chronicle", "time_machine", "truth_swarm", "gauntlet", "ai_jury", "provenance", "lie_stream", "whistleblower", "funeral", "socratic", "dep_mortality", "ai_confessional", "antivirus", "embeddings", "supernova", "supersonic", "uninstall", "evolve", "diagnosis", "ops", "core", "metamorphosis", "tribunal", "innerlife", "cognitive", "apoptosis", "tune", "autarchy", "aegis", "diaspora", "genesplice", "permeate", "telepathy", "abyss", "seamless", "lattice", "neuron", "conduit", "synapse", "osmosis", "aura", "relay", "chameleon", "anchor", "rainbow", "genesis", "project_soul", "bounty", "replica", "compliance", "infra_brain", "hive", "vibe", "arbitrage", "bug_prophet", "persona", "anti_collusion", "alpha", "public_audit", "living_model", "obelisk"];
507
518
  for (const g of groupOrder) {
508
519
  const cmds = grouped[g];
509
520
  if (!cmds || cmds.length === 0)