@mneme-ai/core 3.91.0 → 3.93.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.
Files changed (34) hide show
  1. package/dist/boot/index.js +1 -1
  2. package/dist/boot/index.js.map +1 -1
  3. package/dist/change_gate/change_gate.test.d.ts +2 -0
  4. package/dist/change_gate/change_gate.test.d.ts.map +1 -0
  5. package/dist/change_gate/change_gate.test.js +22 -0
  6. package/dist/change_gate/change_gate.test.js.map +1 -0
  7. package/dist/change_gate/index.d.ts +49 -0
  8. package/dist/change_gate/index.d.ts.map +1 -0
  9. package/dist/change_gate/index.js +57 -0
  10. package/dist/change_gate/index.js.map +1 -0
  11. package/dist/equiv_receipt/equiv_receipt.test.d.ts +2 -0
  12. package/dist/equiv_receipt/equiv_receipt.test.d.ts.map +1 -0
  13. package/dist/equiv_receipt/equiv_receipt.test.js +45 -0
  14. package/dist/equiv_receipt/equiv_receipt.test.js.map +1 -0
  15. package/dist/equiv_receipt/index.d.ts +73 -0
  16. package/dist/equiv_receipt/index.d.ts.map +1 -0
  17. package/dist/equiv_receipt/index.js +137 -0
  18. package/dist/equiv_receipt/index.js.map +1 -0
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +3 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/intent_gateway/index.d.ts.map +1 -1
  24. package/dist/intent_gateway/index.js +3 -0
  25. package/dist/intent_gateway/index.js.map +1 -1
  26. package/dist/scar_mining/index.d.ts +44 -0
  27. package/dist/scar_mining/index.d.ts.map +1 -0
  28. package/dist/scar_mining/index.js +87 -0
  29. package/dist/scar_mining/index.js.map +1 -0
  30. package/dist/scar_mining/scar_mining.test.d.ts +2 -0
  31. package/dist/scar_mining/scar_mining.test.d.ts.map +1 -0
  32. package/dist/scar_mining/scar_mining.test.js +42 -0
  33. package/dist/scar_mining/scar_mining.test.js.map +1 -0
  34. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { mineScars, scarMiningGauntlet } from "./index.js";
3
+ const history = [
4
+ { sha: "aaaa1111", message: "add retry wrapper around charge", files: ["payments/retry.ts"], added: ["chargeWithRetry", "retry", "charge"] },
5
+ { sha: "bbbb2222", message: "fix: retry double-charged — add idempotency key", files: ["payments/retry.ts"], added: ["idempotencyKey", "chargeWithRetry"] },
6
+ { sha: "cccc3333", message: "chore: unrelated", files: ["README.md"], added: ["documentation"] },
7
+ ];
8
+ describe("scar_mining", () => {
9
+ it("gauntlet is 100", () => expect(scarMiningGauntlet().score).toBe(100));
10
+ it("mines a scar from a fix+mistake pair sharing a file", () => {
11
+ const scars = mineScars(history);
12
+ const s = scars.find((x) => x.files.some((f) => /retry/.test(f)));
13
+ expect(s).toBeTruthy();
14
+ expect(s.triggers.some((t) => /retry|charge/i.test(t))).toBe(true);
15
+ expect(s.antibodies.some((a) => /idempotency/i.test(a))).toBe(true);
16
+ expect(s.severity === "high" || s.severity === "critical").toBe(true);
17
+ });
18
+ it("mined scars are vaccine-compatible (drop into scar_vaccine)", () => {
19
+ const s = mineScars(history)[0];
20
+ expect(s).toHaveProperty("triggers");
21
+ expect(s).toHaveProperty("antibodies");
22
+ expect(s).toHaveProperty("lesson");
23
+ expect(s.id.startsWith("SCAR-")).toBe(true);
24
+ });
25
+ it("hotfix/incident/revert → critical severity", () => {
26
+ const s = mineScars([
27
+ { sha: "x", message: "add q", files: ["a.ts"], added: ["queryThing", "loopVar"] },
28
+ { sha: "y", message: "hotfix: prod incident — batch the query", files: ["a.ts"], added: ["batchQuery"] },
29
+ ]);
30
+ expect(s[0]?.severity).toBe("critical");
31
+ });
32
+ it("no fix commit, no shared file, or <2 commits → no scars", () => {
33
+ expect(mineScars([{ sha: "a", message: "feat", files: ["a.ts"], added: ["alpha"] }, { sha: "b", message: "feat", files: ["a.ts"], added: ["beta"] }]).length).toBe(0);
34
+ expect(mineScars([{ sha: "a", message: "feat", files: ["a.ts"], added: ["alpha"] }, { sha: "b", message: "fix: b", files: ["b.ts"], added: ["beta"] }]).length).toBe(0);
35
+ expect(mineScars([{ sha: "a", message: "fix: x", files: ["a.ts"], added: ["z"] }]).length).toBe(0);
36
+ });
37
+ it("never throws on garbage", () => {
38
+ expect(() => mineScars(null)).not.toThrow();
39
+ expect(mineScars([]).length).toBe(0);
40
+ });
41
+ });
42
+ //# sourceMappingURL=scar_mining.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scar_mining.test.js","sourceRoot":"","sources":["../../src/scar_mining/scar_mining.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mneme-ai/core",
3
- "version": "3.91.0",
3
+ "version": "3.93.0",
4
4
  "description": "Core indexing, retrieval, and graph engine for Mneme",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",