mneme-ai 1.27.6 → 1.27.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"stigmergy.d.ts","sourceRoot":"","sources":["../../src/commands/stigmergy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4ChE"}
1
+ {"version":3,"file":"stigmergy.d.ts","sourceRoot":"","sources":["../../src/commands/stigmergy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQzC,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkFhE"}
@@ -15,16 +15,18 @@ import { stigmergy } from "@mneme-ai/core";
15
15
  function writeJson(p) { process.stdout.write(JSON.stringify(p, null, 2) + "\n"); }
16
16
  function writeText(s) { process.stdout.write(s + "\n"); }
17
17
  export function registerStigmergyCommands(program) {
18
- program
18
+ const cmd = program
19
19
  .command("stigmergy")
20
20
  .alias("hive")
21
21
  .description("MNEME STIGMERGY HIVE -- emergent dev-collaboration detection from git traces alone (no chat logs needed). Finds pairs who effectively work together without ever talking.")
22
22
  .option("--commits <n>", "git log window size (default 500)", (v) => Number(v))
23
23
  .option("--top <n>", "show top N pairs (default 10)", (v) => Number(v))
24
24
  .option("--threshold <n>", "minimum stigmergy score to surface (default 10)", (v) => Number(v))
25
+ .option("--git-dir <path>", "analyze a specific local git checkout (default cwd). Useful for pointing at a cloned multi-author repo to evaluate STIGMERGY beyond your own.")
25
26
  .option("--json", "JSON output.")
26
27
  .action((opts) => {
27
- const r = stigmergy.analyze(process.cwd(), {
28
+ const target = opts.gitDir ?? process.cwd();
29
+ const r = stigmergy.analyze(target, {
28
30
  windowCommits: opts.commits ?? 500,
29
31
  surfaceThreshold: opts.threshold ?? 10,
30
32
  });
@@ -61,5 +63,42 @@ export function registerStigmergyCommands(program) {
61
63
  writeText(`This is the INVISIBLE layer of org coordination. Pairs near the top often work`);
62
64
  writeText(`together effectively without ever DMing or PR-reviewing each other.`);
63
65
  });
66
+ // v1.27.7 -- self-contained proof. Runs the algorithm against a
67
+ // bundled synthetic 5-author / 200-commit history with KNOWN
68
+ // ground-truth pairs. PASS = algorithm detects the engineered pairs.
69
+ // Lets users prove STIGMERGY works without needing access to a
70
+ // multi-author public repo.
71
+ cmd.command("verify")
72
+ .description("Run STIGMERGY against a built-in synthetic 5-author fixture with KNOWN ground-truth pairs. Proves the algorithm without needing a multi-author repo.")
73
+ .option("--threshold <n>", "surface threshold to use in the verification (default 10)", (v) => Number(v))
74
+ .option("--json", "JSON output.")
75
+ .action((opts) => {
76
+ const threshold = opts.threshold ?? 10;
77
+ const r = stigmergy.verifyAgainstFixture((commits) => stigmergy.computeOverlaps(commits), threshold);
78
+ if (opts.json) {
79
+ writeJson(r);
80
+ return;
81
+ }
82
+ writeText(`MNEME STIGMERGY HIVE -- verification against synthetic fixture`);
83
+ writeText(` Threshold: ${threshold}`);
84
+ writeText(` Verdict: ${r.ok ? "✓ PASS -- algorithm detects all engineered pairs" : "✗ FAIL -- see details below"}`);
85
+ writeText(``);
86
+ writeText(`Fixture: 5 authors (alice/bob/carol/dave/eve), ~200 commits, deterministic seed=42`);
87
+ writeText(` Engineered HIGH pairs: alice<->bob (auth squad), carol<->dave (infra squad)`);
88
+ writeText(` Engineered LOW pair: alice<->carol (weak overlap on shared/config.ts)`);
89
+ writeText(` Engineered LONE author: eve (touches src/util/* alone)`);
90
+ writeText(``);
91
+ writeText(`Per-assertion:`);
92
+ for (const d of r.details)
93
+ writeText(` ${d}`);
94
+ writeText(``);
95
+ writeText(`Detected pair scores (top by score desc):`);
96
+ const sorted = Object.entries(r.detectedScores).sort((a, b) => b[1] - a[1]).slice(0, 8);
97
+ for (const [pair, score] of sorted) {
98
+ writeText(` [${score.toString().padStart(3)}/100] ${pair.replace("::", " <-> ")}`);
99
+ }
100
+ if (!r.ok)
101
+ process.exit(1);
102
+ });
64
103
  }
65
104
  //# sourceMappingURL=stigmergy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"stigmergy.js","sourceRoot":"","sources":["../../src/commands/stigmergy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stigmergy.js","sourceRoot":"","sources":["../../src/commands/stigmergy.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mneme-ai",
3
- "version": "1.27.6",
3
+ "version": "1.27.7",
4
4
  "mcpName": "io.github.patsa2561-art/mneme-ai",
5
5
  "description": "Mneme โ€” the memory layer for your codebase. Knows the WHY, the WHAT, the WHERE-IT-BREAKS.",
6
6
  "type": "module",
@@ -30,10 +30,10 @@
30
30
  "clean": "tsc -b --clean"
31
31
  },
32
32
  "dependencies": {
33
- "@mneme-ai/core": "1.27.6",
34
- "@mneme-ai/correlator": "1.27.6",
35
- "@mneme-ai/embeddings": "1.27.6",
36
- "@mneme-ai/mcp": "1.27.6",
33
+ "@mneme-ai/core": "1.27.7",
34
+ "@mneme-ai/correlator": "1.27.7",
35
+ "@mneme-ai/embeddings": "1.27.7",
36
+ "@mneme-ai/mcp": "1.27.7",
37
37
  "commander": "^12.1.0",
38
38
  "kleur": "^4.1.5"
39
39
  },