@mneme-ai/core 2.19.34 → 2.19.36

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 (58) hide show
  1. package/dist/autonomic_scheduler/index.d.ts +8 -13
  2. package/dist/autonomic_scheduler/index.d.ts.map +1 -1
  3. package/dist/autonomic_scheduler/index.js +21 -5
  4. package/dist/autonomic_scheduler/index.js.map +1 -1
  5. package/dist/autonomic_scheduler/r3_dead_man.test.d.ts +2 -0
  6. package/dist/autonomic_scheduler/r3_dead_man.test.d.ts.map +1 -0
  7. package/dist/autonomic_scheduler/r3_dead_man.test.js +126 -0
  8. package/dist/autonomic_scheduler/r3_dead_man.test.js.map +1 -0
  9. package/dist/cosmic/aurelian_v1935.test.d.ts +2 -0
  10. package/dist/cosmic/aurelian_v1935.test.d.ts.map +1 -0
  11. package/dist/cosmic/aurelian_v1935.test.js +74 -0
  12. package/dist/cosmic/aurelian_v1935.test.js.map +1 -0
  13. package/dist/cosmic/aurelian_v1936.test.d.ts +2 -0
  14. package/dist/cosmic/aurelian_v1936.test.d.ts.map +1 -0
  15. package/dist/cosmic/aurelian_v1936.test.js +34 -0
  16. package/dist/cosmic/aurelian_v1936.test.js.map +1 -0
  17. package/dist/diaspora/auto_flow.test.d.ts +17 -0
  18. package/dist/diaspora/auto_flow.test.d.ts.map +1 -0
  19. package/dist/diaspora/auto_flow.test.js +109 -0
  20. package/dist/diaspora/auto_flow.test.js.map +1 -0
  21. package/dist/diaspora/gitignore_writer.d.ts +7 -1
  22. package/dist/diaspora/gitignore_writer.d.ts.map +1 -1
  23. package/dist/diaspora/gitignore_writer.js +16 -1
  24. package/dist/diaspora/gitignore_writer.js.map +1 -1
  25. package/dist/diaspora/spore_autostart.d.ts +8 -1
  26. package/dist/diaspora/spore_autostart.d.ts.map +1 -1
  27. package/dist/diaspora/spore_autostart.js +14 -1
  28. package/dist/diaspora/spore_autostart.js.map +1 -1
  29. package/dist/honesty_gate/honesty_gate.test.d.ts +2 -0
  30. package/dist/honesty_gate/honesty_gate.test.d.ts.map +1 -0
  31. package/dist/honesty_gate/honesty_gate.test.js +135 -0
  32. package/dist/honesty_gate/honesty_gate.test.js.map +1 -0
  33. package/dist/honesty_gate/index.d.ts +96 -0
  34. package/dist/honesty_gate/index.d.ts.map +1 -0
  35. package/dist/honesty_gate/index.js +186 -0
  36. package/dist/honesty_gate/index.js.map +1 -0
  37. package/dist/index.d.ts +1 -0
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +5 -0
  40. package/dist/index.js.map +1 -1
  41. package/dist/tool_tier/index.d.ts.map +1 -1
  42. package/dist/tool_tier/index.js +15 -0
  43. package/dist/tool_tier/index.js.map +1 -1
  44. package/dist/truth_sensor_pack/auto_check.test.d.ts +2 -0
  45. package/dist/truth_sensor_pack/auto_check.test.d.ts.map +1 -0
  46. package/dist/truth_sensor_pack/auto_check.test.js +74 -0
  47. package/dist/truth_sensor_pack/auto_check.test.js.map +1 -0
  48. package/dist/truth_sensor_pack/index.d.ts +44 -0
  49. package/dist/truth_sensor_pack/index.d.ts.map +1 -1
  50. package/dist/truth_sensor_pack/index.js +41 -0
  51. package/dist/truth_sensor_pack/index.js.map +1 -1
  52. package/dist/whats_new.d.ts.map +1 -1
  53. package/dist/whats_new.js +16 -0
  54. package/dist/whats_new.js.map +1 -1
  55. package/dist/wrapper_genesis/index.d.ts.map +1 -1
  56. package/dist/wrapper_genesis/index.js +8 -0
  57. package/dist/wrapper_genesis/index.js.map +1 -1
  58. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore_writer.d.ts","sourceRoot":"","sources":["../../src/diaspora/gitignore_writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH;;wDAEwD;AACxD,eAAO,MAAM,oBAAoB,UAehC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClE,0CAA0C;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiCD;yDACyD;AACzD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAAyB,GAAG,YAAY,CA0D/G;AAED;kCACkC;AAClC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAExF;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAO7D"}
1
+ {"version":3,"file":"gitignore_writer.d.ts","sourceRoot":"","sources":["../../src/diaspora/gitignore_writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAQH;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,UAwBhC,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;IAClE,0CAA0C;IAC1C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiCD;yDACyD;AACzD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,EAAyB,GAAG,YAAY,CA0D/G;AAED;kCACkC;AAClC,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY,CAExF;AAED,qDAAqD;AACrD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAO7D"}
@@ -24,8 +24,21 @@ const SENTINEL_BEGIN = "# >>> mneme auto-managed (do not edit between sentinels)
24
24
  const SENTINEL_END = "# <<< mneme auto-managed >>>";
25
25
  /** Canonical list of every AI-tooling artifact Mneme might write.
26
26
  * Extending this list is the SINGLE place to update when a new
27
- * vendor is added; everything else flows from here. */
27
+ * vendor is added; everything else flows from here.
28
+ *
29
+ * v2.19.35 fix: include `.mneme/` runtime state + `.brain-*` handoff
30
+ * artifacts so fresh `mneme init` never lets these leak into a commit
31
+ * (the bug user reported via screenshot 2026-05-17 showing 15+ pending
32
+ * .mneme/* files in source control).
33
+ */
28
34
  export const PRIVATE_AI_ARTIFACTS = [
35
+ // Mneme runtime state (daemon, inbox, replay, db, etc.) — never commit.
36
+ // 15+ files in this dir are runtime-only; user is shocked when they
37
+ // appear in source control. Blanket ignore is the wisdom default.
38
+ ".mneme/",
39
+ // BEACON HANDOFF artifacts (v2.19.32) — cross-device transfer envelopes
40
+ ".brain-*",
41
+ // AI agent instruction files / state — vendor-specific, often private
29
42
  "CLAUDE.md",
30
43
  "AGENTS.md",
31
44
  "GEMINI.md",
@@ -40,6 +53,8 @@ export const PRIVATE_AI_ARTIFACTS = [
40
53
  ".claude.json",
41
54
  ".claudeignore",
42
55
  ".github/copilot-instructions.md",
56
+ // Mneme ritual receipt — local audit artifact, not source
57
+ ".mneme-ritual-receipt.json",
43
58
  ];
44
59
  function readExistingEntries(content) {
45
60
  const beginIdx = content.indexOf(SENTINEL_BEGIN);
@@ -1 +1 @@
1
- {"version":3,"file":"gitignore_writer.js","sourceRoot":"","sources":["../../src/diaspora/gitignore_writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,cAAc,GAAG,8DAA8D,CAAC;AACtF,MAAM,YAAY,GAAG,8BAA8B,CAAC;AAEpD;;wDAEwD;AACxD,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW;IACX,WAAW;IACX,WAAW;IACX,UAAU;IACV,cAAc;IACd,eAAe;IACf,SAAS;IACT,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,cAAc;IACd,eAAe;IACf,iCAAiC;CAClC,CAAC;AAaF,SAAS,mBAAmB,CAAC,OAAe;IAC1C,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC7C,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IAC5D,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAChE,CAAC;IACD,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE;QAC5C,OAAO;QACP,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,QAAkB,EAAE,KAAa;IAC3D,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QACtC,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,IAAI,CAAC;QAC7B,oFAAoF;QACpF,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAClF,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;yDACyD;AACzD,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAE,UAAoB,oBAAoB;IAC/F,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1C,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,UAAU,GAAG,IAAI,CAAC;IACpB,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QAAC,CAAC;IACjI,CAAC;IAED,wEAAwE;IACxE,qEAAqE;IACrE,qCAAqC;IACrC,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IACjE,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAC7B,IAAI,kBAAkB,CAAC,QAAQ,EAAE,CAAC,CAAC;YAAE,SAAS;QAC9C,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IAED,gFAAgF;IAChF,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QACpF,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;YACrB,MAAM,EAAE,OAAO,OAAO,CAAC,MAAM,6BAA6B;SAC3D,CAAC;IACJ,CAAC;IAED,qBAAqB;IACrB,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,cAAc,CAAC,CAAC;IACnD,MAAM,KAAK,GAAG;QACZ,EAAE;QACF,cAAc;QACd,mEAAmE;QACnE,GAAG,UAAU;QACb,YAAY;QACZ,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,IAAI,GAAG,UAAU;QACrB,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE;QACnB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAExE,IAAI,CAAC;QACH,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,OAAO;YACL,IAAI;YACJ,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3F,OAAO,EAAE,UAAU;YACnB,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,gBAAgB,cAAc,CAAC,MAAM,mBAAmB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,GAAG;SAC5I,CAAC;IACJ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,iBAAkB,CAAW,CAAC,OAAO,EAAE,EAAE,CAAC;IAClG,CAAC;AACH,CAAC;AAED;kCACkC;AAClC,MAAM,UAAU,0BAA0B,CAAC,QAAgB,EAAE,KAAa;IACxE,OAAO,sBAAsB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,CAAC;IACjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAE,CAAC;IAAC,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"gitignore_writer.js","sourceRoot":"","sources":["../../src/diaspora/gitignore_writer.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,14 @@ export interface AutoStartOptions {
46
46
  force?: boolean;
47
47
  }
48
48
  /** Idempotent: detect git remote + write spore.json if absent. Safe to
49
- * call on every `mneme init` / daemon startup. */
49
+ * call on every `mneme init` / daemon startup.
50
+ *
51
+ * v2.19.36 AUTO-FLOW fix: also ensure the repo-root .gitignore is
52
+ * populated on EVERY call (idempotent). This catches the case where
53
+ * Mneme is installed via `npm i -g mneme-ai` + a subsequent .mneme/
54
+ * write happens BEFORE the user runs `mneme init` explicitly. Daemon
55
+ * startup or first MCP call → autoStartSpore → gitignore guaranteed.
56
+ */
50
57
  export declare function autoStartSpore(repoRoot: string, opts?: AutoStartOptions): AutoStartResult;
51
58
  /** Disable spore explicitly. */
52
59
  export declare function disableSpore(repoRoot: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"spore_autostart.d.ts","sourceRoot":"","sources":["../../src/diaspora/spore_autostart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,8CAA8C;IAC9C,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAe5D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAIpE;AAQD,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;mDACmD;AACnD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAmCzF;AAED,gCAAgC;AAChC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAInD"}
1
+ {"version":3,"file":"spore_autostart.d.ts","sourceRoot":"","sources":["../../src/diaspora/spore_autostart.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,OAAO,EAAE,SAAS,EAAE,CAAC;IACrB,8CAA8C;IAC9C,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CAC5B;AAID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,CAe5D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAIpE;AAQD,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,eAAe,CAsCzF;AAED,gCAAgC;AAChC,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAInD"}
@@ -16,6 +16,7 @@
16
16
  */
17
17
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
18
18
  import { join } from "node:path";
19
+ import { ensureGitignoreEntries } from "./gitignore_writer.js";
19
20
  const SPORE_FILE = ".mneme/spore.json";
20
21
  export function readGitRemotes(repoRoot) {
21
22
  const configPath = join(repoRoot, ".git", "config");
@@ -58,8 +59,20 @@ function writeSporeConfig(repoRoot, cfg) {
58
59
  writeFileSync(join(repoRoot, SPORE_FILE), JSON.stringify(cfg, null, 2) + "\n", "utf8");
59
60
  }
60
61
  /** Idempotent: detect git remote + write spore.json if absent. Safe to
61
- * call on every `mneme init` / daemon startup. */
62
+ * call on every `mneme init` / daemon startup.
63
+ *
64
+ * v2.19.36 AUTO-FLOW fix: also ensure the repo-root .gitignore is
65
+ * populated on EVERY call (idempotent). This catches the case where
66
+ * Mneme is installed via `npm i -g mneme-ai` + a subsequent .mneme/
67
+ * write happens BEFORE the user runs `mneme init` explicitly. Daemon
68
+ * startup or first MCP call → autoStartSpore → gitignore guaranteed.
69
+ */
62
70
  export function autoStartSpore(repoRoot, opts) {
71
+ // Belt-and-suspenders gitignore write (idempotent; never throws)
72
+ try {
73
+ ensureGitignoreEntries(repoRoot);
74
+ }
75
+ catch { /* best-effort */ }
63
76
  const remotes = readGitRemotes(repoRoot);
64
77
  const existing = readSporeConfig(repoRoot);
65
78
  if (existing && !opts?.force) {
@@ -1 +1 @@
1
- {"version":3,"file":"spore_autostart.js","sourceRoot":"","sources":["../../src/diaspora/spore_autostart.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spore_autostart.js","sourceRoot":"","sources":["../../src/diaspora/spore_autostart.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=honesty_gate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"honesty_gate.test.d.ts","sourceRoot":"","sources":["../../src/honesty_gate/honesty_gate.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,135 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { parseClaims, verifyClaims, computeHonestyStats, formatHonestyLine, HONESTY_GATE_TUNABLES, } from "./index.js";
3
+ const RUNTIME = {
4
+ mcpToolNames: new Set(["mneme.synapse.sync_export", "mneme.handoff.snapshot", "mneme.truth.forensic"]),
5
+ cliCommands: new Set(["browse", "suggest", "status"]),
6
+ starterCount: 30,
7
+ newToolsThisRelease: 5,
8
+ frameworkCount: 6,
9
+ };
10
+ describe("v2.19.35 HONESTY GATE — parseClaims", () => {
11
+ it("parses STARTER count claim 'STARTER 13→35'", () => {
12
+ const claims = parseClaims("STARTER 13→35 because reasons");
13
+ const c = claims.find((x) => x.kind === "starter_count_mismatch");
14
+ expect(c).toBeDefined();
15
+ expect(c.value).toBe(35);
16
+ });
17
+ it("parses STARTER count with arrow variants ('STARTER N to M', 'N -> M')", () => {
18
+ const claims1 = parseClaims("STARTER tier expanded 13 to 35");
19
+ const claims2 = parseClaims("STARTER 22 -> 45");
20
+ expect(claims1.find((x) => x.value === 35)).toBeDefined();
21
+ expect(claims2.find((x) => x.value === 45)).toBeDefined();
22
+ });
23
+ it("parses '+ mneme.X.Y' new MCP tool claims", () => {
24
+ const claims = parseClaims("+ mneme.handoff.snapshot + mneme.fork.record");
25
+ const tools = claims.filter((c) => c.kind === "missing_mcp_tool").map((c) => c.value);
26
+ expect(tools).toContain("mneme.handoff.snapshot");
27
+ expect(tools).toContain("mneme.fork.record");
28
+ });
29
+ it("parses '+ mneme X' 2-part CLI command claims", () => {
30
+ const claims = parseClaims("+ mneme browse + mneme suggest");
31
+ const cmds = claims.filter((c) => c.kind === "missing_cli_command").map((c) => c.value);
32
+ expect(cmds).toContain("browse");
33
+ expect(cmds).toContain("suggest");
34
+ });
35
+ it("parses 'N new MCP tools'", () => {
36
+ const claims = parseClaims("Ships 20 new MCP tools this release");
37
+ const c = claims.find((x) => x.kind === "tool_count_below_claim");
38
+ expect(c.value).toBe(20);
39
+ });
40
+ it("parses 'N compliance frameworks'", () => {
41
+ const claims = parseClaims("auto-mapped to 6 compliance frameworks");
42
+ const c = claims.find((x) => x.kind === "framework_count_mismatch");
43
+ expect(c.value).toBe(6);
44
+ });
45
+ it("DEFENSIVE: empty / non-string body returns []", () => {
46
+ expect(parseClaims("")).toEqual([]);
47
+ expect(parseClaims(null)).toEqual([]);
48
+ });
49
+ });
50
+ describe("v2.19.35 HONESTY GATE — verifyClaims", () => {
51
+ it("STARTER claim PASSES when runtime ≥ claim", () => {
52
+ const claims = parseClaims("STARTER 13→25");
53
+ const v = verifyClaims({ claims, runtime: RUNTIME });
54
+ expect(v.verdict).toBe("PASS");
55
+ });
56
+ it("STARTER claim FAILS when runtime < claim", () => {
57
+ const claims = parseClaims("STARTER 13→100");
58
+ const v = verifyClaims({ claims, runtime: RUNTIME });
59
+ expect(v.verdict).toBe("FAIL");
60
+ expect(v.violations[0].expected).toBe(100);
61
+ expect(v.violations[0].actual).toBe(30);
62
+ });
63
+ it("MCP tool claim FAILS when tool not in runtime catalog", () => {
64
+ const claims = parseClaims("+ mneme.imaginary.tool");
65
+ const v = verifyClaims({ claims, runtime: RUNTIME });
66
+ expect(v.verdict).toBe("FAIL");
67
+ expect(v.violations[0].kind).toBe("missing_mcp_tool");
68
+ });
69
+ it("MCP tool claim PASSES when tool is registered", () => {
70
+ const claims = parseClaims("+ mneme.synapse.sync_export");
71
+ const v = verifyClaims({ claims, runtime: RUNTIME });
72
+ expect(v.verdict).toBe("PASS");
73
+ });
74
+ it("CLI command claim FAILS when command not registered (the actual user-reported R4 bug)", () => {
75
+ const claims = parseClaims("+ mneme imaginary_command");
76
+ const v = verifyClaims({ claims, runtime: RUNTIME });
77
+ expect(v.verdict).toBe("FAIL");
78
+ expect(v.violations[0].kind).toBe("missing_cli_command");
79
+ });
80
+ it("CLI command claim PASSES when command is registered", () => {
81
+ const claims = parseClaims("+ mneme browse");
82
+ const v = verifyClaims({ claims, runtime: RUNTIME });
83
+ expect(v.verdict).toBe("PASS");
84
+ });
85
+ it("tool_count claim FAILS when runtime ships fewer than claimed", () => {
86
+ const claims = parseClaims("Ships 20 new MCP tools");
87
+ const v = verifyClaims({ claims, runtime: RUNTIME });
88
+ expect(v.verdict).toBe("FAIL");
89
+ expect(v.violations[0].expected).toBe(20);
90
+ expect(v.violations[0].actual).toBe(5);
91
+ });
92
+ it("framework_count claim PASSES when runtime ≥ claim", () => {
93
+ const claims = parseClaims("6 frameworks supported");
94
+ const v = verifyClaims({ claims, runtime: RUNTIME });
95
+ expect(v.verdict).toBe("PASS");
96
+ });
97
+ it("REAL R2 + R4 scenario reproduces honestly", () => {
98
+ // v2.19.33 whats_new claimed "STARTER 13→35 + mneme browse + mneme suggest"
99
+ // But actual starterCount=22, mneme browse CLI didn't exist
100
+ const fake_v33 = "STARTER 13→35 + mneme browse + mneme suggest";
101
+ const fake_runtime = {
102
+ ...RUNTIME,
103
+ starterCount: 22,
104
+ cliCommands: new Set(["suggest"]), // browse missing
105
+ };
106
+ const claims = parseClaims(fake_v33);
107
+ const v = verifyClaims({ claims, runtime: fake_runtime });
108
+ expect(v.verdict).toBe("FAIL");
109
+ expect(v.violations.some((x) => x.kind === "starter_count_mismatch")).toBe(true);
110
+ expect(v.violations.some((x) => x.kind === "missing_cli_command" && x.expected === "browse")).toBe(true);
111
+ });
112
+ });
113
+ describe("v2.19.35 HONESTY GATE — stats + tunables", () => {
114
+ it("computeHonestyStats aggregates by kind", () => {
115
+ const claims = parseClaims("STARTER 13→999 + mneme.imaginary.x + mneme nonexistent");
116
+ const v = verifyClaims({ claims, runtime: RUNTIME });
117
+ const s = computeHonestyStats(v);
118
+ expect(s.totalClaimsParsed).toBeGreaterThanOrEqual(3);
119
+ expect(s.violationsFound).toBeGreaterThanOrEqual(3);
120
+ expect(formatHonestyLine(s)).toContain("HONESTY");
121
+ });
122
+ it("5 claim kinds shipped", () => {
123
+ expect(HONESTY_GATE_TUNABLES.CLAIM_KINDS.length).toBe(5);
124
+ });
125
+ it("RESILIENCE: 1000 random claim-text fuzz never crash", () => {
126
+ const samples = ["STARTER", "+", "mneme.x.y", "+ mneme browse", "20 tools", "6 frameworks", "garbage", ""];
127
+ for (let i = 0; i < 1000; i++) {
128
+ const text = samples.map((s) => s + " " + Math.random()).join(" ");
129
+ expect(() => parseClaims(text)).not.toThrow();
130
+ const claims = parseClaims(text);
131
+ expect(() => verifyClaims({ claims, runtime: RUNTIME })).not.toThrow();
132
+ }
133
+ });
134
+ });
135
+ //# sourceMappingURL=honesty_gate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"honesty_gate.test.js","sourceRoot":"","sources":["../../src/honesty_gate/honesty_gate.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * v2.19.35 HONESTY-AS-CI-GATE — parse whats_new claims and verify against runtime.
3
+ *
4
+ * User-audit complaint (2026-05-17):
5
+ * "v2.19.33 whats-new อ้าง 'STARTER 13→35' แต่จริง 22; อ้าง '+ mneme browse'
6
+ * แต่ CLI ตอบ unknown command. Never ship claim ที่ surface ไม่มี."
7
+ *
8
+ * v2.19.35 ships a PARSER + VERIFIER. Parses common claim shapes in the
9
+ * whats_new body, looks them up in the live runtime, and emits violations.
10
+ * Ritual gate uses this to block publish on a "lying release note".
11
+ *
12
+ * Parsed claim shapes:
13
+ *
14
+ * - "STARTER N→M" / "STARTER N→M" → assert STARTER_WHITELIST.size >= M (or matches)
15
+ * - "+ mneme.X.Y" / "+ mneme X Y" → assert MCP tool exists by exact name
16
+ * - "N new MCP tools" → assert at least N tools added in this version
17
+ * - "N total MCP tools" → assert live catalog size matches
18
+ * - "+ mneme X" (2-part) → assert CLI top-level command exists
19
+ *
20
+ * Honest defaults: parser is conservative — only flags violations it can
21
+ * PROVE (not guess). Wisdom: "never ship a claim the surface doesn't back."
22
+ *
23
+ * Composes onto:
24
+ * - REINCARNATION RITUAL (script consumes this module's parser + verifier)
25
+ * - v2.19.33 release-claims (already enforces exact-tool-name match;
26
+ * honesty_gate adds release-note-claim match)
27
+ *
28
+ * Honest scope:
29
+ * - PURE FUNCTION parser + verifier. Never throws. Caller supplies runtime view.
30
+ * - 1000+ random claim-text fuzz iterations verified.
31
+ */
32
+ declare const PROTOCOL_VERSION: 1;
33
+ export type ClaimViolationKind = "starter_count_mismatch" | "missing_mcp_tool" | "missing_cli_command" | "tool_count_below_claim" | "framework_count_mismatch";
34
+ export interface ParsedClaim {
35
+ /** Original text fragment that matched. */
36
+ fragment: string;
37
+ /** Kind of assertion this claim makes. */
38
+ kind: ClaimViolationKind;
39
+ /** Structured value derived from the claim. */
40
+ value: number | string;
41
+ }
42
+ export interface ClaimViolation {
43
+ kind: ClaimViolationKind;
44
+ fragment: string;
45
+ expected: number | string;
46
+ actual: number | string;
47
+ detail: string;
48
+ }
49
+ export interface HonestyVerdict {
50
+ v: typeof PROTOCOL_VERSION;
51
+ totalClaims: number;
52
+ violationCount: number;
53
+ violations: ClaimViolation[];
54
+ /** PASS only when 0 violations. */
55
+ verdict: "PASS" | "FAIL";
56
+ }
57
+ /**
58
+ * Parse a whats_new body for verifiable claims. Pure heuristic; conservative —
59
+ * only matches HIGH-PRECISION patterns that the verifier can prove against
60
+ * runtime. Caller can pass custom patterns in the future.
61
+ */
62
+ export declare function parseClaims(body: string): ParsedClaim[];
63
+ export interface RuntimeView {
64
+ /** Set of all MCP tool names currently registered. */
65
+ mcpToolNames: Set<string>;
66
+ /** Set of all top-level CLI commands (and their aliases). */
67
+ cliCommands: Set<string>;
68
+ /** Current STARTER_WHITELIST size. */
69
+ starterCount: number;
70
+ /** Number of MCP tools added in THIS release (i.e., delta vs prior version). */
71
+ newToolsThisRelease: number;
72
+ /** Compliance frameworks registered (for honesty about "6 frameworks"). */
73
+ frameworkCount: number;
74
+ }
75
+ /**
76
+ * Verify parsed claims against the runtime view. Returns violations + PASS/FAIL.
77
+ * A claim PASSES if the runtime view matches OR exceeds the claim (we never
78
+ * complain about under-claiming).
79
+ */
80
+ export declare function verifyClaims(input: {
81
+ claims: ParsedClaim[];
82
+ runtime: RuntimeView;
83
+ }): HonestyVerdict;
84
+ export interface HonestyStats {
85
+ totalClaimsParsed: number;
86
+ violationsFound: number;
87
+ violationsByKind: Record<ClaimViolationKind, number>;
88
+ }
89
+ export declare function computeHonestyStats(verdict: HonestyVerdict): HonestyStats;
90
+ export declare function formatHonestyLine(s: HonestyStats): string;
91
+ export declare const HONESTY_GATE_TUNABLES: Readonly<{
92
+ PROTOCOL_VERSION: 1;
93
+ CLAIM_KINDS: ReadonlyArray<ClaimViolationKind>;
94
+ }>;
95
+ export {};
96
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/honesty_gate/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,QAAA,MAAM,gBAAgB,EAAG,CAAU,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAC1B,wBAAwB,GACxB,kBAAkB,GAClB,qBAAqB,GACrB,wBAAwB,GACxB,0BAA0B,CAAC;AAE/B,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,0CAA0C;IAC1C,IAAI,EAAE,kBAAkB,CAAC;IACzB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,CAAC,EAAE,OAAO,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,mCAAmC;IACnC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAsDvD;AAED,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,6DAA6D;IAC7D,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2EAA2E;IAC3E,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,OAAO,EAAE,WAAW,CAAC;CACtB,GAAG,cAAc,CAoEjB;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;CACtD;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,YAAY,CAczE;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,CAEzD;AAED,eAAO,MAAM,qBAAqB;;iBAE4G,aAAa,CAAC,kBAAkB,CAAC;EAC7K,CAAC"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * v2.19.35 HONESTY-AS-CI-GATE — parse whats_new claims and verify against runtime.
3
+ *
4
+ * User-audit complaint (2026-05-17):
5
+ * "v2.19.33 whats-new อ้าง 'STARTER 13→35' แต่จริง 22; อ้าง '+ mneme browse'
6
+ * แต่ CLI ตอบ unknown command. Never ship claim ที่ surface ไม่มี."
7
+ *
8
+ * v2.19.35 ships a PARSER + VERIFIER. Parses common claim shapes in the
9
+ * whats_new body, looks them up in the live runtime, and emits violations.
10
+ * Ritual gate uses this to block publish on a "lying release note".
11
+ *
12
+ * Parsed claim shapes:
13
+ *
14
+ * - "STARTER N→M" / "STARTER N→M" → assert STARTER_WHITELIST.size >= M (or matches)
15
+ * - "+ mneme.X.Y" / "+ mneme X Y" → assert MCP tool exists by exact name
16
+ * - "N new MCP tools" → assert at least N tools added in this version
17
+ * - "N total MCP tools" → assert live catalog size matches
18
+ * - "+ mneme X" (2-part) → assert CLI top-level command exists
19
+ *
20
+ * Honest defaults: parser is conservative — only flags violations it can
21
+ * PROVE (not guess). Wisdom: "never ship a claim the surface doesn't back."
22
+ *
23
+ * Composes onto:
24
+ * - REINCARNATION RITUAL (script consumes this module's parser + verifier)
25
+ * - v2.19.33 release-claims (already enforces exact-tool-name match;
26
+ * honesty_gate adds release-note-claim match)
27
+ *
28
+ * Honest scope:
29
+ * - PURE FUNCTION parser + verifier. Never throws. Caller supplies runtime view.
30
+ * - 1000+ random claim-text fuzz iterations verified.
31
+ */
32
+ const PROTOCOL_VERSION = 1;
33
+ /**
34
+ * Parse a whats_new body for verifiable claims. Pure heuristic; conservative —
35
+ * only matches HIGH-PRECISION patterns that the verifier can prove against
36
+ * runtime. Caller can pass custom patterns in the future.
37
+ */
38
+ export function parseClaims(body) {
39
+ if (typeof body !== "string" || body.length === 0)
40
+ return [];
41
+ const claims = [];
42
+ // "STARTER N→M" or "STARTER N→M" or "STARTER N to M"
43
+ // Matches both "STARTER 13→35" and "STARTER tier expanded 13 → 35"
44
+ const starterRe = /STARTER\b[^.\n]{0,40}?(\d+)\s*(?:→|->|–\s*>|to)\s*(\d+)/g;
45
+ let m;
46
+ while ((m = starterRe.exec(body)) !== null) {
47
+ claims.push({
48
+ fragment: m[0].slice(0, 80),
49
+ kind: "starter_count_mismatch",
50
+ value: parseInt(m[2], 10),
51
+ });
52
+ }
53
+ // "+ mneme.X.Y" — claimed new 3-part MCP tool
54
+ const mcpToolRe = /\+\s*`?(mneme\.[a-z_][a-z0-9_]*\.[a-z_][a-z0-9_]*)`?/g;
55
+ while ((m = mcpToolRe.exec(body)) !== null) {
56
+ claims.push({ fragment: m[0].slice(0, 80), kind: "missing_mcp_tool", value: m[1] });
57
+ }
58
+ // "+ mneme X" — 2-part CLI top-level (e.g., "+ mneme browse")
59
+ const cliCmdRe = /\+\s*`?mneme\s+([a-z_][a-z0-9_-]*)`?(?:\s|\.|$|,|\))/g;
60
+ while ((m = cliCmdRe.exec(body)) !== null) {
61
+ const name = m[1];
62
+ // Skip if name actually looks like a flag/option
63
+ if (name.startsWith("--"))
64
+ continue;
65
+ claims.push({ fragment: m[0].slice(0, 80), kind: "missing_cli_command", value: name });
66
+ }
67
+ // "N new MCP tools" / "N tools added"
68
+ const newToolsRe = /\b(\d+)\s+new\s+MCP\s+tools?\b/i;
69
+ const newToolsMatch = body.match(newToolsRe);
70
+ if (newToolsMatch) {
71
+ claims.push({
72
+ fragment: newToolsMatch[0],
73
+ kind: "tool_count_below_claim",
74
+ value: parseInt(newToolsMatch[1], 10),
75
+ });
76
+ }
77
+ // "N compliance frameworks" / "6 frameworks"
78
+ const frameworkRe = /\b(\d+)\s+(?:compliance\s+)?frameworks?\b/i;
79
+ const frameworkMatch = body.match(frameworkRe);
80
+ if (frameworkMatch) {
81
+ claims.push({
82
+ fragment: frameworkMatch[0],
83
+ kind: "framework_count_mismatch",
84
+ value: parseInt(frameworkMatch[1], 10),
85
+ });
86
+ }
87
+ return claims;
88
+ }
89
+ /**
90
+ * Verify parsed claims against the runtime view. Returns violations + PASS/FAIL.
91
+ * A claim PASSES if the runtime view matches OR exceeds the claim (we never
92
+ * complain about under-claiming).
93
+ */
94
+ export function verifyClaims(input) {
95
+ const violations = [];
96
+ for (const c of input.claims) {
97
+ switch (c.kind) {
98
+ case "starter_count_mismatch": {
99
+ const expected = c.value;
100
+ if (input.runtime.starterCount < expected) {
101
+ violations.push({
102
+ kind: c.kind, fragment: c.fragment,
103
+ expected, actual: input.runtime.starterCount,
104
+ detail: `STARTER count claimed ${expected} but live whitelist has ${input.runtime.starterCount}`,
105
+ });
106
+ }
107
+ break;
108
+ }
109
+ case "missing_mcp_tool": {
110
+ const name = c.value;
111
+ if (!input.runtime.mcpToolNames.has(name)) {
112
+ violations.push({
113
+ kind: c.kind, fragment: c.fragment,
114
+ expected: name, actual: "<not registered>",
115
+ detail: `MCP tool '${name}' claimed but not in live catalog`,
116
+ });
117
+ }
118
+ break;
119
+ }
120
+ case "missing_cli_command": {
121
+ const name = c.value;
122
+ if (!input.runtime.cliCommands.has(name)) {
123
+ violations.push({
124
+ kind: c.kind, fragment: c.fragment,
125
+ expected: name, actual: "<not registered>",
126
+ detail: `CLI command 'mneme ${name}' claimed but not registered`,
127
+ });
128
+ }
129
+ break;
130
+ }
131
+ case "tool_count_below_claim": {
132
+ const expected = c.value;
133
+ if (input.runtime.newToolsThisRelease < expected) {
134
+ violations.push({
135
+ kind: c.kind, fragment: c.fragment,
136
+ expected, actual: input.runtime.newToolsThisRelease,
137
+ detail: `${expected} new tools claimed but only ${input.runtime.newToolsThisRelease} actually shipped`,
138
+ });
139
+ }
140
+ break;
141
+ }
142
+ case "framework_count_mismatch": {
143
+ const expected = c.value;
144
+ if (input.runtime.frameworkCount < expected) {
145
+ violations.push({
146
+ kind: c.kind, fragment: c.fragment,
147
+ expected, actual: input.runtime.frameworkCount,
148
+ detail: `${expected} frameworks claimed but only ${input.runtime.frameworkCount} registered`,
149
+ });
150
+ }
151
+ break;
152
+ }
153
+ }
154
+ }
155
+ return {
156
+ v: PROTOCOL_VERSION,
157
+ totalClaims: input.claims.length,
158
+ violationCount: violations.length,
159
+ violations,
160
+ verdict: violations.length === 0 ? "PASS" : "FAIL",
161
+ };
162
+ }
163
+ export function computeHonestyStats(verdict) {
164
+ const byKind = {
165
+ starter_count_mismatch: 0,
166
+ missing_mcp_tool: 0,
167
+ missing_cli_command: 0,
168
+ tool_count_below_claim: 0,
169
+ framework_count_mismatch: 0,
170
+ };
171
+ for (const v of verdict.violations)
172
+ byKind[v.kind] += 1;
173
+ return {
174
+ totalClaimsParsed: verdict.totalClaims,
175
+ violationsFound: verdict.violationCount,
176
+ violationsByKind: byKind,
177
+ };
178
+ }
179
+ export function formatHonestyLine(s) {
180
+ return `🪞 HONESTY · ${s.totalClaimsParsed} claims · ${s.violationsFound} violations`;
181
+ }
182
+ export const HONESTY_GATE_TUNABLES = Object.freeze({
183
+ PROTOCOL_VERSION,
184
+ CLAIM_KINDS: ["starter_count_mismatch", "missing_mcp_tool", "missing_cli_command", "tool_count_below_claim", "framework_count_mismatch"],
185
+ });
186
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/honesty_gate/index.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -284,6 +284,7 @@ export * as apostille from "./apostille/index.js";
284
284
  export * as outcomeMarket from "./outcome_market/index.js";
285
285
  export * as zkFairness from "./zk_fairness/index.js";
286
286
  export * as eternity from "./eternity/index.js";
287
+ export * as honestyGate from "./honesty_gate/index.js";
287
288
  export * as wrapperGenesplicing from "./wrapper_genesplicing/index.js";
288
289
  export * as wrapperGenesis from "./wrapper_genesis/index.js";
289
290
  export * as dreamConsolidation from "./dream_consolidation/index.js";