mneme-ai 2.102.0 → 2.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `mneme cortex` (v2.104.0) — the Sovereign Memory Bus on the CLI:
3
+ * contribute / recall / handoff into the local shared, signed,
4
+ * drift-guarded memory every agent reads. Persists to
5
+ * .mneme/cortex/store.json. Total: never throws.
6
+ */
7
+ import type { Command } from "commander";
8
+ export declare function registerCortexCommands(program: Command): void;
9
+ //# sourceMappingURL=cortex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cortex.d.ts","sourceRoot":"","sources":["../../src/commands/cortex.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4C7D"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * `mneme cortex` (v2.104.0) — the Sovereign Memory Bus on the CLI:
3
+ * contribute / recall / handoff into the local shared, signed,
4
+ * drift-guarded memory every agent reads. Persists to
5
+ * .mneme/cortex/store.json. Total: never throws.
6
+ */
7
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
8
+ import { join } from "node:path";
9
+ function writeJson(p) { process.stdout.write(JSON.stringify(p, null, 2) + "\n"); }
10
+ function writeText(l) { process.stdout.write(l + "\n"); }
11
+ async function core() {
12
+ try {
13
+ const c = (await import("@mneme-ai/core"));
14
+ if (c.cortex)
15
+ return c;
16
+ }
17
+ catch { /* */ }
18
+ return null;
19
+ }
20
+ function storePath(cwd) { return join(cwd, ".mneme", "cortex", "store.json"); }
21
+ function readStore(cwd) {
22
+ try {
23
+ const p = storePath(cwd);
24
+ if (!existsSync(p))
25
+ return { v: 1, entries: [] };
26
+ const j = JSON.parse(readFileSync(p, "utf8"));
27
+ return j && Array.isArray(j.entries) ? j : { v: 1, entries: [] };
28
+ }
29
+ catch {
30
+ return { v: 1, entries: [] };
31
+ }
32
+ }
33
+ function saveStore(cwd, s) { try {
34
+ const d = join(cwd, ".mneme", "cortex");
35
+ if (!existsSync(d))
36
+ mkdirSync(d, { recursive: true });
37
+ writeFileSync(storePath(cwd), JSON.stringify(s, null, 2));
38
+ }
39
+ catch { /* */ } }
40
+ export function registerCortexCommands(program) {
41
+ const c = program
42
+ .command("cortex")
43
+ .description("🧠 COGNITIVE CORTEX — the local, signed, drift-guarded Sovereign Memory Bus every AI agent shares. contribute / recall / handoff. The gatekeeper quarantines conflicts so the shared memory can't be poisoned.");
44
+ c.command("contribute <key> <value>")
45
+ .description("Write a fact to the shared memory (signed). Quarantined if it conflicts with established memory unless --update.")
46
+ .option("--agent <id>", "your agent id", "cli")
47
+ .option("--kind <k>", "fact | decision | context | warning", "fact")
48
+ .option("--update", "declare a supersede of an existing conflicting value")
49
+ .option("--json", "JSON output.")
50
+ .action(async (key, value, opts) => {
51
+ const m = await core();
52
+ if (!m) {
53
+ writeText("✗ @mneme-ai/core unavailable.");
54
+ process.exitCode = 1;
55
+ return;
56
+ }
57
+ const cwd = process.cwd();
58
+ const out = m.cortex.contribute(cwd, readStore(cwd), { agent: opts.agent ?? "cli", key, value, kind: opts.kind }, Date.now(), { update: !!opts.update });
59
+ if (out.result.verdict !== "QUARANTINED" && out.result.entry)
60
+ saveStore(cwd, out.store);
61
+ if (opts.json) {
62
+ writeJson(out.result);
63
+ process.exitCode = out.result.verdict === "QUARANTINED" ? 1 : 0;
64
+ return;
65
+ }
66
+ const icon = out.result.verdict === "QUARANTINED" ? "⚠" : "✓";
67
+ writeText(`${icon} ${out.result.verdict} — ${out.result.reason}`);
68
+ process.exitCode = out.result.verdict === "QUARANTINED" ? 1 : 0;
69
+ });
70
+ c.command("recall <query>")
71
+ .description("Recall shared memory relevant to a query (signed facts every agent contributed).")
72
+ .option("--limit <n>", "max hits", (v) => parseInt(v, 10), 10)
73
+ .option("--json", "JSON output.")
74
+ .action(async (query, opts) => {
75
+ const m = await core();
76
+ if (!m) {
77
+ writeText("✗ @mneme-ai/core unavailable.");
78
+ process.exitCode = 1;
79
+ return;
80
+ }
81
+ const hits = m.cortex.recall(readStore(process.cwd()), query, opts.limit ?? 10);
82
+ if (opts.json) {
83
+ writeJson(hits.map((h) => ({ key: h.entry.key, value: h.entry.value, agent: h.entry.agent, score: h.score })));
84
+ return;
85
+ }
86
+ if (hits.length === 0) {
87
+ writeText("· no shared memory matches that query yet");
88
+ return;
89
+ }
90
+ writeText(`CORTEX recall — ${hits.length} fact(s):`);
91
+ for (const h of hits)
92
+ writeText(` • ${h.entry.key} = ${h.entry.value} (by ${h.entry.agent})`);
93
+ });
94
+ c.command("handoff <toAgent>")
95
+ .description("Build a signed context capsule of the live shared memory for a receiving agent.")
96
+ .option("--json", "JSON output.")
97
+ .action(async (toAgent, opts) => {
98
+ const m = await core();
99
+ if (!m) {
100
+ writeText("✗ @mneme-ai/core unavailable.");
101
+ process.exitCode = 1;
102
+ return;
103
+ }
104
+ const cap = m.cortex.handoff(process.cwd(), readStore(process.cwd()), toAgent, Date.now());
105
+ if (opts.json) {
106
+ writeJson(cap);
107
+ return;
108
+ }
109
+ writeText(`✓ signed handoff capsule for ${cap.toAgent} — ${cap.facts.length} fact(s)`);
110
+ });
111
+ }
112
+ //# sourceMappingURL=cortex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cortex.js","sourceRoot":"","sources":["../../src/commands/cortex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * `mneme cognitive-gate` + `mneme branch-oracle` (v2.103.0) — the two
3
+ * wisdom gates on the CLI. Both gather their git facts, call the pure core,
4
+ * and print a signed verdict. Total: a non-repo / git failure degrades
5
+ * gracefully, never throws.
6
+ */
7
+ import type { Command } from "commander";
8
+ export declare function registerWisdomGateCommands(program: Command): void;
9
+ //# sourceMappingURL=wisdom_gates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wisdom_gates.d.ts","sourceRoot":"","sources":["../../src/commands/wisdom_gates.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBzC,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgEjE"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * `mneme cognitive-gate` + `mneme branch-oracle` (v2.103.0) — the two
3
+ * wisdom gates on the CLI. Both gather their git facts, call the pure core,
4
+ * and print a signed verdict. Total: a non-repo / git failure degrades
5
+ * gracefully, never throws.
6
+ */
7
+ import { execFileSync } from "node:child_process";
8
+ function git(cwd, args) {
9
+ try {
10
+ return execFileSync("git", args, { cwd, encoding: "utf8", stdio: ["ignore", "pipe", "ignore"], maxBuffer: 64 * 1024 * 1024 }).trim();
11
+ }
12
+ catch {
13
+ return "";
14
+ }
15
+ }
16
+ function writeJson(p) { process.stdout.write(JSON.stringify(p, null, 2) + "\n"); }
17
+ function writeText(l) { process.stdout.write(l + "\n"); }
18
+ async function resolveCore() {
19
+ try {
20
+ const core = (await import("@mneme-ai/core"));
21
+ if (core.cognitiveGate && core.branchOracle)
22
+ return core;
23
+ }
24
+ catch { /* */ }
25
+ return null;
26
+ }
27
+ export function registerWisdomGateCommands(program) {
28
+ program
29
+ .command("cognitive-gate")
30
+ .description("🧠 COGNITIVE WISDOM GATE — a self-aware, signed second opinion on whether a diff matches an author's coding STYLE (NEMESIS micro-tells). Returns UNKNOWN (refuses to flag) when it can't reliably separate styles. ADVISORY, never auto-reject.")
31
+ .option("--author <name>", "author to baseline (default: most recent committer)")
32
+ .option("--samples <n>", "recent author commits to baseline", (v) => parseInt(v, 10), 12)
33
+ .option("--json", "JSON output.")
34
+ .action(async (opts) => {
35
+ const core = await resolveCore();
36
+ if (!core) {
37
+ writeText("✗ @mneme-ai/core unavailable.");
38
+ process.exitCode = 1;
39
+ return;
40
+ }
41
+ const cwd = process.cwd();
42
+ if (!git(cwd, ["rev-parse", "--git-dir"])) {
43
+ writeText("✗ not a git repo");
44
+ process.exitCode = 1;
45
+ return;
46
+ }
47
+ const who = opts.author || git(cwd, ["log", "-1", "--pretty=%an"]) || "unknown";
48
+ const hashes = git(cwd, ["log", `--author=${who}`, "-n", String(opts.samples ?? 12), "--pretty=%H"]).split("\n").filter(Boolean);
49
+ const diffs = hashes.map((h) => git(cwd, ["show", h, "--no-color", "--unified=3", "--pretty=format:"])).filter((d) => d.length > 0);
50
+ const sig = core.cognitiveGate.buildCognitiveSignature(who, diffs);
51
+ const newDiff = git(cwd, ["diff", "HEAD", "--no-color"]);
52
+ const v = core.cognitiveGate.wisdomGate(cwd, sig, newDiff || "", Date.now());
53
+ if (opts.json) {
54
+ writeJson({ author: who, sampleCount: sig.sampleCount, verdict: v.verdict, deviation: v.judgement.deviation, ratio: v.judgement.ratio });
55
+ process.exitCode = 0;
56
+ return;
57
+ }
58
+ writeText(`COGNITIVE WISDOM GATE — author ${who} (${sig.sampleCount} samples)`);
59
+ writeText(``);
60
+ writeText(` verdict: ${v.verdict} · ${v.judgement.reason}`);
61
+ writeText(newDiff ? ` (judged the working-tree diff vs HEAD)` : ` (no working-tree diff — judged empty)`);
62
+ if (v.verdict === "UNKNOWN")
63
+ writeText(` ⚪ honest: not enough signal to judge — the gate does not guess.`);
64
+ process.exitCode = 0;
65
+ });
66
+ program
67
+ .command("branch-oracle")
68
+ .description("🌿 BRANCH ORACLE — a signed real-signal snapshot of every branch vs the base: merge-conflict overlap / decay / divergence → band (healthy/caution/risky). NOT a prediction; a present-tense health read. Ranks the safest branch.")
69
+ .option("--base <branch>", "base branch (default: main, else master)")
70
+ .option("--json", "JSON output.")
71
+ .action(async (opts) => {
72
+ const core = await resolveCore();
73
+ if (!core) {
74
+ writeText("✗ @mneme-ai/core unavailable.");
75
+ process.exitCode = 1;
76
+ return;
77
+ }
78
+ const cwd = process.cwd();
79
+ if (!git(cwd, ["rev-parse", "--git-dir"])) {
80
+ writeText("✗ not a git repo");
81
+ process.exitCode = 1;
82
+ return;
83
+ }
84
+ let base = opts.base || "";
85
+ if (!base)
86
+ base = git(cwd, ["rev-parse", "--verify", "-q", "main"]) ? "main" : (git(cwd, ["rev-parse", "--verify", "-q", "master"]) ? "master" : "");
87
+ if (!base) {
88
+ writeText("✗ no base branch (main/master)");
89
+ process.exitCode = 1;
90
+ return;
91
+ }
92
+ const branches = git(cwd, ["for-each-ref", "--format=%(refname:short)", "refs/heads/"]).split("\n").filter((b) => b && b !== base);
93
+ const inputs = branches.slice(0, 50).map((name) => {
94
+ const mb = git(cwd, ["merge-base", base, name]);
95
+ const ahead = parseInt(git(cwd, ["rev-list", "--count", `${base}..${name}`]) || "0", 10);
96
+ const behind = parseInt(git(cwd, ["rev-list", "--count", `${name}..${base}`]) || "0", 10);
97
+ const changedFiles = (mb ? git(cwd, ["diff", "--name-only", mb, name]) : "").split("\n").filter(Boolean);
98
+ const baseChangedFiles = (mb ? git(cwd, ["diff", "--name-only", mb, base]) : "").split("\n").filter(Boolean);
99
+ const last = git(cwd, ["log", "-1", "--format=%ct", name]);
100
+ const ageDays = last ? Math.max(0, Math.round((Date.now() / 1000 - parseInt(last, 10)) / 86400)) : 0;
101
+ return { name, ahead, behind, changedFiles, baseChangedFiles, staleFiles: 0, ageDays };
102
+ });
103
+ const r = core.branchOracle.analyzeBranches(cwd, inputs, Date.now());
104
+ if (opts.json) {
105
+ writeJson({ summary: r.summary, signals: r.signals });
106
+ process.exitCode = 0;
107
+ return;
108
+ }
109
+ writeText(`BRANCH ORACLE — ${r.summary.branches} branch(es) vs ${base}`);
110
+ writeText(``);
111
+ for (const s of r.signals) {
112
+ const icon = s.band === "healthy" ? "✓" : s.band === "caution" ? "·" : "⚠";
113
+ writeText(` ${icon} ${s.name.padEnd(28)} ${s.band.padEnd(8)} conflict=${s.conflictRisk} ahead=${s.ahead} behind=${s.behind}`);
114
+ }
115
+ writeText(``);
116
+ writeText(` ${r.summary.healthy} healthy · ${r.summary.caution} caution · ${r.summary.risky} risky · safest: ${r.summary.safestBranch ?? "—"}`);
117
+ writeText(` (signed real-signal snapshot — not a prediction)`);
118
+ process.exitCode = 0;
119
+ });
120
+ }
121
+ //# sourceMappingURL=wisdom_gates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wisdom_gates.js","sourceRoot":"","sources":["../../src/commands/wisdom_gates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwIA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAk+MvD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA0IA,wBAAsB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAo+MvD"}
package/dist/index.js CHANGED
@@ -69,6 +69,8 @@ import { registerEmbeddingsCommands } from "./commands/embeddings.js";
69
69
  import { registerSupernovaCommands } from "./commands/supernova-cli.js";
70
70
  import { registerManifestCommands } from "./commands/manifest.js";
71
71
  import { registerHydraCommands } from "./commands/hydra.js";
72
+ import { registerWisdomGateCommands } from "./commands/wisdom_gates.js";
73
+ import { registerCortexCommands } from "./commands/cortex.js";
72
74
  import { registerTrustCommands } from "./commands/trust.js";
73
75
  import { registerNuclearCommands } from "./commands/nuclear-cli.js";
74
76
  import { registerOvernightCommand } from "./commands/overnight.js";
@@ -4683,6 +4685,8 @@ export async function run(argv) {
4683
4685
  // ─── Manifest (v1.31.0) -- auto-sync command catalog into agent files
4684
4686
  registerManifestCommands(program);
4685
4687
  registerHydraCommands(program);
4688
+ registerWisdomGateCommands(program);
4689
+ registerCortexCommands(program);
4686
4690
  // ─── Trust calibrator (v1.31.0) -- per-subsystem precision/recall/band
4687
4691
  registerTrustCommands(program);
4688
4692
  // ─── Wisdom reactor (v1.33.0) -- five nuclear-physics formulas as Mneme metrics