monomind 2.5.0 → 2.5.2

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 (289) hide show
  1. package/package.json +2 -1
  2. package/packages/@monomind/cli/.claude/agents/design/design-monodesign.md +6 -6
  3. package/packages/@monomind/cli/.claude/commands/mastermind/_repeat.md +4 -4
  4. package/packages/@monomind/cli/.claude/commands/mastermind/approvev1.md +4 -4
  5. package/packages/@monomind/cli/.claude/commands/mastermind/architect.md +6 -6
  6. package/packages/@monomind/cli/.claude/commands/mastermind/autodev.md +5 -5
  7. package/packages/@monomind/cli/.claude/commands/mastermind/brain.md +2 -2
  8. package/packages/@monomind/cli/.claude/commands/mastermind/build.md +6 -6
  9. package/packages/@monomind/cli/.claude/commands/mastermind/code-review.md +2 -2
  10. package/packages/@monomind/cli/.claude/commands/mastermind/content.md +6 -6
  11. package/packages/@monomind/cli/.claude/commands/mastermind/createorg.md +4 -4
  12. package/packages/@monomind/cli/.claude/commands/mastermind/createtask.md +3 -3
  13. package/packages/@monomind/cli/.claude/commands/mastermind/debug.md +5 -5
  14. package/packages/@monomind/cli/.claude/commands/mastermind/design.md +5 -5
  15. package/packages/@monomind/cli/.claude/commands/mastermind/do.md +2 -2
  16. package/packages/@monomind/cli/.claude/commands/mastermind/execute.md +5 -5
  17. package/packages/@monomind/cli/.claude/commands/mastermind/finance.md +6 -6
  18. package/packages/@monomind/cli/.claude/commands/mastermind/finish.md +5 -5
  19. package/packages/@monomind/cli/.claude/commands/mastermind/idea.md +6 -6
  20. package/packages/@monomind/cli/.claude/commands/mastermind/ideate.md +5 -5
  21. package/packages/@monomind/cli/.claude/commands/mastermind/improve.md +6 -6
  22. package/packages/@monomind/cli/.claude/commands/mastermind/marketing.md +6 -6
  23. package/packages/@monomind/cli/.claude/commands/mastermind/master.md +54 -54
  24. package/packages/@monomind/cli/.claude/commands/mastermind/ops.md +6 -6
  25. package/packages/@monomind/cli/.claude/commands/mastermind/orgs.md +2 -2
  26. package/packages/@monomind/cli/.claude/commands/mastermind/orgstatus.md +2 -2
  27. package/packages/@monomind/cli/.claude/commands/mastermind/plan.md +5 -5
  28. package/packages/@monomind/cli/.claude/commands/mastermind/receive-review.md +5 -5
  29. package/packages/@monomind/cli/.claude/commands/mastermind/release.md +6 -6
  30. package/packages/@monomind/cli/.claude/commands/mastermind/research.md +6 -6
  31. package/packages/@monomind/cli/.claude/commands/mastermind/review.md +6 -6
  32. package/packages/@monomind/cli/.claude/commands/mastermind/runorg.md +4 -4
  33. package/packages/@monomind/cli/.claude/commands/mastermind/runorgv1.md +5 -5
  34. package/packages/@monomind/cli/.claude/commands/mastermind/sales.md +6 -6
  35. package/packages/@monomind/cli/.claude/commands/mastermind/skill-builder.md +5 -5
  36. package/packages/@monomind/cli/.claude/commands/mastermind/stoporg.md +3 -3
  37. package/packages/@monomind/cli/.claude/commands/mastermind/taskdev.md +5 -5
  38. package/packages/@monomind/cli/.claude/commands/mastermind/tdd.md +5 -5
  39. package/packages/@monomind/cli/.claude/commands/mastermind/techport.md +5 -5
  40. package/packages/@monomind/cli/.claude/commands/mastermind/verify.md +5 -5
  41. package/packages/@monomind/cli/.claude/commands/mastermind/worktree.md +5 -5
  42. package/packages/@monomind/cli/.claude/helpers/control-start.cjs +30 -0
  43. package/packages/@monomind/cli/.claude/helpers/utils/monograph.cjs +44 -12
  44. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/access.md → mastermind-access/SKILL.md} +2 -2
  45. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/activity.md → mastermind-activity/SKILL.md} +2 -2
  46. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/adapter-manager.md → mastermind-adapter-manager/SKILL.md} +2 -2
  47. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/adapters.md → mastermind-adapters/SKILL.md} +2 -2
  48. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/agent-detail.md → mastermind-agent-detail/SKILL.md} +2 -2
  49. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/agents.md → mastermind-agents/SKILL.md} +2 -2
  50. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/approval-detail.md → mastermind-approval-detail/SKILL.md} +2 -2
  51. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/approvev1.md → mastermind-approvev1/SKILL.md} +2 -2
  52. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/architect.md → mastermind-architect/SKILL.md} +7 -7
  53. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/autodev.md → mastermind-autodev/SKILL.md} +10 -10
  54. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/backup.md → mastermind-backup/SKILL.md} +2 -2
  55. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/bootstrap.md → mastermind-bootstrap/SKILL.md} +2 -2
  56. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/budgets.md → mastermind-budgets/SKILL.md} +2 -2
  57. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/build.md → mastermind-build/SKILL.md} +5 -5
  58. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/companies.md → mastermind-companies/SKILL.md} +2 -2
  59. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/content.md → mastermind-content/SKILL.md} +5 -5
  60. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/costs.md → mastermind-costs/SKILL.md} +2 -2
  61. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/createorg.md → mastermind-createorg/SKILL.md} +3 -3
  62. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/debug.md → mastermind-debug/SKILL.md} +4 -4
  63. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_delegation.md → mastermind-delegation/SKILL.md} +1 -1
  64. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/design.md → mastermind-design/SKILL.md} +9 -9
  65. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/diagnose.md → mastermind-diagnose/SKILL.md} +2 -2
  66. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/env.md → mastermind-env/SKILL.md} +2 -2
  67. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/environments.md → mastermind-environments/SKILL.md} +2 -2
  68. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/execute.md → mastermind-execute/SKILL.md} +10 -10
  69. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/export.md → mastermind-export/SKILL.md} +2 -2
  70. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/finance.md → mastermind-finance/SKILL.md} +5 -5
  71. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/goal-detail.md → mastermind-goal-detail/SKILL.md} +2 -2
  72. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/goals.md → mastermind-goals/SKILL.md} +2 -2
  73. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/heartbeatv1.md → mastermind-heartbeatv1/SKILL.md} +2 -2
  74. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/idea.md → mastermind-idea/SKILL.md} +7 -7
  75. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/import.md → mastermind-import/SKILL.md} +2 -2
  76. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/inbox.md → mastermind-inbox/SKILL.md} +2 -2
  77. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/instance.md → mastermind-instance/SKILL.md} +2 -2
  78. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/instance-settings.md → mastermind-instance-settings/SKILL.md} +2 -2
  79. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/invite-landing.md → mastermind-invite-landing/SKILL.md} +2 -2
  80. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/invites.md → mastermind-invites/SKILL.md} +2 -2
  81. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/issue-detail.md → mastermind-issue-detail/SKILL.md} +2 -2
  82. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/issues.md → mastermind-issues/SKILL.md} +2 -2
  83. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/join-queue.md → mastermind-join-queue/SKILL.md} +2 -2
  84. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/liveness.md → mastermind-liveness/SKILL.md} +2 -2
  85. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/marketing.md → mastermind-marketing/SKILL.md} +8 -8
  86. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/memory.md → mastermind-memory/SKILL.md} +2 -2
  87. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/monitor.md → mastermind-monitor/SKILL.md} +2 -2
  88. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/my-issues.md → mastermind-my-issues/SKILL.md} +2 -2
  89. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/new-agent.md → mastermind-new-agent/SKILL.md} +2 -2
  90. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/ops.md → mastermind-ops/SKILL.md} +5 -5
  91. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/org-chart.md → mastermind-org-chart/SKILL.md} +2 -2
  92. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/org-settings.md → mastermind-org-settings/SKILL.md} +2 -2
  93. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/orgs.md → mastermind-orgs/SKILL.md} +1 -1
  94. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/orgstatus.md → mastermind-orgstatus/SKILL.md} +2 -2
  95. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plan.md → mastermind-plan/SKILL.md} +7 -7
  96. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plan-to-tasks.md → mastermind-plan-to-tasks/SKILL.md} +2 -2
  97. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugin-manager.md → mastermind-plugin-manager/SKILL.md} +2 -2
  98. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugin-settings.md → mastermind-plugin-settings/SKILL.md} +2 -2
  99. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/plugins.md → mastermind-plugins/SKILL.md} +2 -2
  100. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/profile.md → mastermind-profile/SKILL.md} +2 -2
  101. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/project-detail.md → mastermind-project-detail/SKILL.md} +2 -2
  102. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/project-workspace.md → mastermind-project-workspace/SKILL.md} +2 -2
  103. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/projects.md → mastermind-projects/SKILL.md} +2 -2
  104. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_protocol.md → mastermind-protocol/SKILL.md} +3 -3
  105. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/release.md → mastermind-release/SKILL.md} +5 -5
  106. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_repeat.md → mastermind-repeat/SKILL.md} +2 -2
  107. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/research.md → mastermind-research/SKILL.md} +5 -5
  108. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/review.md → mastermind-review/SKILL.md} +5 -5
  109. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/routine-detail.md → mastermind-routine-detail/SKILL.md} +2 -2
  110. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/routines.md → mastermind-routines/SKILL.md} +2 -2
  111. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/runorgv1.md → mastermind-runorgv1/SKILL.md} +2 -2
  112. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/sales.md → mastermind-sales/SKILL.md} +5 -5
  113. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/search.md → mastermind-search/SKILL.md} +2 -2
  114. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/secrets.md → mastermind-secrets/SKILL.md} +2 -2
  115. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/skill-builder.md → mastermind-skill-builder/SKILL.md} +16 -14
  116. package/packages/@monomind/cli/.claude/skills/mastermind-skills/{skills.md → SKILL.md} +2 -2
  117. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/stoporg.md → mastermind-stoporg/SKILL.md} +2 -2
  118. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/taskdev.md → mastermind-taskdev/SKILL.md} +6 -6
  119. package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/implementer-prompt.md +1 -1
  120. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tasks.md → mastermind-tasks/SKILL.md} +2 -2
  121. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tdd.md → mastermind-tdd/SKILL.md} +4 -4
  122. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/techport.md → mastermind-techport/SKILL.md} +5 -5
  123. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/threads.md → mastermind-threads/SKILL.md} +2 -2
  124. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/tree-control.md → mastermind-tree-control/SKILL.md} +2 -2
  125. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/verify.md → mastermind-verify/SKILL.md} +1 -1
  126. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/wiki.md → mastermind-wiki/SKILL.md} +2 -2
  127. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/workspace-detail.md → mastermind-workspace-detail/SKILL.md} +2 -2
  128. package/packages/@monomind/cli/.claude/skills/{mastermind-skills/workspaces.md → mastermind-workspaces/SKILL.md} +2 -2
  129. package/packages/@monomind/cli/.claude/skills/monodesign/SKILL.md +114 -190
  130. package/packages/@monomind/cli/.claude/skills/monodesign/adapt.md +1 -1
  131. package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-asset-producer.md +4 -4
  132. package/packages/@monomind/cli/.claude/skills/monodesign/agents/monodesign-manual-edit-applier.md +103 -0
  133. package/packages/@monomind/cli/.claude/skills/monodesign/audit.md +1 -1
  134. package/packages/@monomind/cli/.claude/skills/monodesign/craft.md +2 -2
  135. package/packages/@monomind/cli/.claude/skills/monodesign/critique.md +1 -1
  136. package/packages/@monomind/cli/.claude/skills/monodesign/init.md +30 -0
  137. package/packages/@monomind/cli/.claude/skills/monodesign/layout.md +36 -0
  138. package/packages/@monomind/cli/.claude/skills/monodesign/live.md +19 -44
  139. package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.md +122 -0
  140. package/packages/@monomind/cli/.claude/skills/monodesign/reference/adapt.native.md +58 -0
  141. package/packages/@monomind/cli/.claude/skills/monodesign/reference/android.md +40 -0
  142. package/packages/@monomind/cli/.claude/skills/monodesign/reference/animate.md +39 -11
  143. package/packages/@monomind/cli/.claude/skills/monodesign/reference/antipatterns-catalog.md +22 -16
  144. package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.md +5 -3
  145. package/packages/@monomind/cli/.claude/skills/monodesign/reference/audit.native.md +139 -0
  146. package/packages/@monomind/cli/.claude/skills/monodesign/reference/bolder.md +71 -64
  147. package/packages/@monomind/cli/.claude/skills/monodesign/reference/brand.md +12 -18
  148. package/packages/@monomind/cli/.claude/skills/monodesign/reference/clarify.md +114 -0
  149. package/packages/@monomind/cli/.claude/skills/monodesign/reference/codex.md +4 -6
  150. package/packages/@monomind/cli/.claude/skills/monodesign/reference/colorize.md +108 -5
  151. package/packages/@monomind/cli/.claude/skills/monodesign/reference/craft.md +70 -143
  152. package/packages/@monomind/cli/.claude/skills/monodesign/reference/critique.md +635 -68
  153. package/packages/@monomind/cli/.claude/skills/monodesign/reference/delight.md +1 -1
  154. package/packages/@monomind/cli/.claude/skills/monodesign/reference/distill.md +1 -1
  155. package/packages/@monomind/cli/.claude/skills/monodesign/reference/document.md +24 -22
  156. package/packages/@monomind/cli/.claude/skills/monodesign/reference/extract.md +1 -1
  157. package/packages/@monomind/cli/.claude/skills/monodesign/reference/hooks.md +22 -29
  158. package/packages/@monomind/cli/.claude/skills/monodesign/reference/init.md +221 -0
  159. package/packages/@monomind/cli/.claude/skills/monodesign/reference/interaction-design.md +0 -6
  160. package/packages/@monomind/cli/.claude/skills/monodesign/reference/ios.md +45 -0
  161. package/packages/@monomind/cli/.claude/skills/monodesign/reference/layout.md +57 -13
  162. package/packages/@monomind/cli/.claude/skills/monodesign/reference/live.md +159 -63
  163. package/packages/@monomind/cli/.claude/skills/monodesign/reference/overdrive.md +1 -1
  164. package/packages/@monomind/cli/.claude/skills/monodesign/reference/personas.md +1 -1
  165. package/packages/@monomind/cli/.claude/skills/monodesign/reference/polish.md +16 -8
  166. package/packages/@monomind/cli/.claude/skills/monodesign/reference/pre-delivery-checklist.md +1 -1
  167. package/packages/@monomind/cli/.claude/skills/monodesign/reference/product.md +1 -3
  168. package/packages/@monomind/cli/.claude/skills/monodesign/reference/quieter.md +1 -1
  169. package/packages/@monomind/cli/.claude/skills/monodesign/reference/shape.md +27 -13
  170. package/packages/@monomind/cli/.claude/skills/monodesign/reference/teach.md +6 -152
  171. package/packages/@monomind/cli/.claude/skills/monodesign/reference/typeset.md +180 -3
  172. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/command-metadata.json +94 -0
  173. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context-signals.mjs +227 -0
  174. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/context.mjs +1062 -0
  175. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/critique-storage.mjs +243 -0
  176. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect-csp.mjs +199 -0
  177. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detect.mjs +34 -0
  178. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/browser/injected/index.mjs +1938 -0
  179. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/cli/main.mjs +322 -0
  180. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/design-system.mjs +815 -0
  181. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns-browser.js +5246 -0
  182. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/detect-antipatterns.mjs +51 -0
  183. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/detect-url.mjs +260 -0
  184. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/browser/drivers.mjs +259 -0
  185. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/regex/detect-text.mjs +574 -0
  186. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/css-cascade.mjs +1016 -0
  187. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/static-html/detect-html.mjs +235 -0
  188. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/engines/visual/screenshot-contrast.mjs +199 -0
  189. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/findings.mjs +13 -0
  190. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/node/file-system.mjs +199 -0
  191. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/profile/profiler.mjs +167 -0
  192. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/registry/antipatterns.mjs +515 -0
  193. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/rules/checks.mjs +2704 -0
  194. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/color.mjs +125 -0
  195. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/constants.mjs +102 -0
  196. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/fonts.mjs +31 -0
  197. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/inline-ignores.mjs +149 -0
  198. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/detector/shared/page.mjs +8 -0
  199. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-admin.mjs +662 -0
  200. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-before-edit.mjs +517 -0
  201. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook-lib.mjs +1777 -0
  202. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/hook.mjs +62 -0
  203. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/design-parser.mjs +843 -0
  204. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/is-generated.mjs +70 -0
  205. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-config.mjs +641 -0
  206. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/monodesign-paths.mjs +130 -0
  207. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/provider.mjs +5 -0
  208. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/lib/target-args.mjs +43 -0
  209. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/browser-script-parts.mjs +51 -0
  210. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/completion.mjs +20 -0
  211. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/event-validation.mjs +138 -0
  212. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/insert-ui.mjs +459 -0
  213. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-apply.mjs +940 -0
  214. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edit-routes.mjs +358 -0
  215. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/manual-edits-buffer.mjs +153 -0
  216. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/session-store.mjs +290 -0
  217. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/svelte-component.mjs +827 -0
  218. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/sveltekit-adapter.mjs +275 -0
  219. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/ui-core.mjs +181 -0
  220. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live/vocabulary.mjs +37 -0
  221. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-accept.mjs +813 -0
  222. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-dom.js +147 -0
  223. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser-session.js +124 -0
  224. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-browser.js +11241 -0
  225. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-commit-manual-edits.mjs +1242 -0
  226. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-complete.mjs +76 -0
  227. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-copy-edit-agent.mjs +684 -0
  228. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-discard-manual-edits.mjs +52 -0
  229. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-inject.mjs +584 -0
  230. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-insert.mjs +273 -0
  231. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-manual-edit-evidence.mjs +364 -0
  232. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-poll.mjs +385 -0
  233. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-resume.mjs +95 -0
  234. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-server.mjs +1138 -0
  235. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-status.mjs +62 -0
  236. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-target.mjs +31 -0
  237. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live-wrap.mjs +895 -0
  238. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/live.mjs +298 -0
  239. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/modern-screenshot.umd.js +15 -0
  240. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/palette.mjs +634 -0
  241. package/packages/@monomind/cli/.claude/skills/monodesign/scripts/pin.mjs +222 -0
  242. package/packages/@monomind/cli/.claude/skills/monodesign/teach.md +7 -58
  243. package/packages/@monomind/cli/dist/src/commands/design-detect.d.ts +7 -1
  244. package/packages/@monomind/cli/dist/src/commands/design-detect.js +70 -38
  245. package/packages/@monomind/cli/dist/src/commands/design-palette.d.ts +1 -1
  246. package/packages/@monomind/cli/dist/src/commands/design-palette.js +3 -3
  247. package/packages/@monomind/cli/dist/src/commands/doc.js +72 -15
  248. package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.d.ts +4 -0
  249. package/packages/@monomind/cli/dist/src/commands/doctor-project-checks.js +23 -0
  250. package/packages/@monomind/cli/dist/src/commands/doctor.js +3 -3
  251. package/packages/@monomind/cli/dist/src/commands/org.js +109 -9
  252. package/packages/@monomind/cli/dist/src/init/executor.js +14 -3
  253. package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.d.ts +2 -0
  254. package/packages/@monomind/cli/dist/src/knowledge/document-pipeline.js +1 -0
  255. package/packages/@monomind/cli/dist/src/mcp-tools/knowledge-tools.js +38 -7
  256. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.d.ts +8 -3
  257. package/packages/@monomind/cli/dist/src/mcp-tools/memory-tools.js +193 -31
  258. package/packages/@monomind/cli/dist/src/memory/memory-bridge.d.ts +33 -0
  259. package/packages/@monomind/cli/dist/src/memory/memory-bridge.js +169 -18
  260. package/packages/@monomind/cli/dist/src/memory/memory-kg.d.ts +185 -0
  261. package/packages/@monomind/cli/dist/src/memory/memory-kg.js +449 -0
  262. package/packages/@monomind/cli/dist/src/memory/query-router.d.ts +44 -0
  263. package/packages/@monomind/cli/dist/src/memory/query-router.js +113 -0
  264. package/packages/@monomind/cli/dist/src/orgrt/daemon.d.ts +18 -0
  265. package/packages/@monomind/cli/dist/src/orgrt/daemon.js +249 -12
  266. package/packages/@monomind/cli/dist/src/orgrt/migrate.js +7 -0
  267. package/packages/@monomind/cli/dist/src/orgrt/policy.js +7 -0
  268. package/packages/@monomind/cli/dist/src/orgrt/session.d.ts +24 -1
  269. package/packages/@monomind/cli/dist/src/orgrt/session.js +18 -3
  270. package/packages/@monomind/cli/dist/src/orgrt/templates.d.ts +1 -0
  271. package/packages/@monomind/cli/dist/src/orgrt/templates.js +9 -4
  272. package/packages/@monomind/cli/dist/src/orgrt/types.d.ts +15 -0
  273. package/packages/@monomind/cli/dist/src/orgrt/types.js +2 -0
  274. package/packages/@monomind/cli/dist/src/ui/dashboard.html +154 -6
  275. package/packages/@monomind/cli/dist/src/ui/orgs.html +24 -0
  276. package/packages/@monomind/cli/dist/src/ui/server.mjs +211 -13
  277. package/packages/@monomind/cli/package.json +6 -4
  278. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_agent-select.md → mastermind-agent-select/SKILL.md} +0 -0
  279. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/finish.md → mastermind-finish/SKILL.md} +0 -0
  280. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/_intake.md → mastermind-intake/SKILL.md} +0 -0
  281. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-marketing}/references/copywriting-frameworks.md +0 -0
  282. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-marketing}/references/persuasion-psychology.md +0 -0
  283. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/monotask.md → mastermind-monotask/SKILL.md} +0 -0
  284. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/receive-review.md → mastermind-receive-review/SKILL.md} +0 -0
  285. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/runorg.md → mastermind-runorg/SKILL.md} +0 -0
  286. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/code-quality-reviewer-prompt.md +0 -0
  287. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/final-reviewer-prompt.md +0 -0
  288. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills → mastermind-taskdev}/spec-reviewer-prompt.md +0 -0
  289. /package/packages/@monomind/cli/.claude/skills/{mastermind-skills/worktree.md → mastermind-worktree/SKILL.md} +0 -0
@@ -108,7 +108,7 @@ export function bridgeGetDbPath(customPath) {
108
108
  return getDbPath(customPath);
109
109
  }
110
110
  function getAutomemConfig() {
111
- const defaults = { dedupThreshold: 0.85, staleDays: 7 };
111
+ const defaults = { dedupThreshold: 0.85, staleDays: 7, feedbackInfluence: 0.2 };
112
112
  try {
113
113
  const configPath = path.join(process.cwd(), '.monomind', 'automem-config.json');
114
114
  if (!fs.existsSync(configPath))
@@ -120,12 +120,43 @@ function getAutomemConfig() {
120
120
  return {
121
121
  dedupThreshold: typeof config?.scaffold?.dedupThreshold === 'number' ? config.scaffold.dedupThreshold : defaults.dedupThreshold,
122
122
  staleDays: typeof config?.scaffold?.staleDays === 'number' ? config.scaffold.staleDays : defaults.staleDays,
123
+ feedbackInfluence: typeof config?.scaffold?.feedbackInfluence === 'number'
124
+ ? Math.max(0, Math.min(1, config.scaffold.feedbackInfluence)) : defaults.feedbackInfluence,
123
125
  };
124
126
  }
125
127
  catch {
126
128
  return defaults;
127
129
  }
128
130
  }
131
+ // ===== Usage/feedback weights (cognee-style, stored in entry metadata) =====
132
+ //
133
+ // feedback_weight (0..1, default 0.5): EWMA of explicit/auto ratings applied to
134
+ // the entries actually used to produce an answer. frequency_weight (>=0): how
135
+ // often the entry was returned by a search. Both live in the entry's metadata
136
+ // JSON — deliberately NOT backend schema columns, so no @monoes/memory publish
137
+ // is needed and both backends work unchanged.
138
+ const DEFAULT_FEEDBACK_WEIGHT = 0.5;
139
+ const FEEDBACK_EWMA_ALPHA = 0.1;
140
+ /** frequency_weight normalization ceiling: 10+ uses counts as fully reinforced. */
141
+ const FREQUENCY_NORM_CAP = 10;
142
+ function entryWeights(metadata) {
143
+ const md = (metadata ?? {});
144
+ const fw = typeof md.feedback_weight === 'number' && Number.isFinite(md.feedback_weight)
145
+ ? Math.max(0, Math.min(1, md.feedback_weight)) : DEFAULT_FEEDBACK_WEIGHT;
146
+ const freq = typeof md.frequency_weight === 'number' && Number.isFinite(md.frequency_weight)
147
+ ? Math.max(0, md.frequency_weight) : 0;
148
+ return { feedback: fw, frequency: freq };
149
+ }
150
+ /** Blend learned usefulness into a GENUINE embedding-similarity score.
151
+ * Cognee guard: never applied to keyword-fallback scores — those carry no
152
+ * real relevance signal, and blending there lets a high-feedback stale entry
153
+ * outrank relevant matches and self-reinforce (rich-get-richer). */
154
+ function blendScore(cosineSim, weights, influence) {
155
+ if (influence <= 0)
156
+ return cosineSim;
157
+ const usefulness = 0.7 * weights.feedback + 0.3 * Math.min(1, weights.frequency / FREQUENCY_NORM_CAP);
158
+ return (1 - influence) * cosineSim + influence * usefulness;
159
+ }
129
160
  function generateId(prefix) {
130
161
  return `${prefix}_${Date.now()}_${crypto.randomBytes(8).toString('hex')}`;
131
162
  }
@@ -260,7 +291,9 @@ export async function bridgeStoreEntry(options) {
260
291
  ? options.value.slice(0, BRIDGE_MAX_VALUE_LEN) : options.value;
261
292
  const namespace = options.namespace ?? 'default';
262
293
  const tags = Array.isArray(options.tags)
263
- ? options.tags.filter(t => typeof t === 'string' && t.length > 0 && t.length <= MAX_TAG_LEN).slice(0, MAX_TAGS)
294
+ // src: tags carry the ingest source path for excerpt provenance paths
295
+ // routinely exceed the general 64-char tag cap, so they get 512.
296
+ ? options.tags.filter(t => typeof t === 'string' && t.length > 0 && t.length <= (t.startsWith('src:') ? 512 : MAX_TAG_LEN)).slice(0, MAX_TAGS)
264
297
  : [];
265
298
  const now = Date.now();
266
299
  const id = generateId('entry');
@@ -283,6 +316,7 @@ export async function bridgeStoreEntry(options) {
283
316
  content: value,
284
317
  namespace,
285
318
  tags,
319
+ metadata: options.metadata,
286
320
  expiresAt: options.ttl ? now + options.ttl * 1000 : undefined,
287
321
  });
288
322
  // Override id and set embedding
@@ -310,6 +344,9 @@ export async function bridgeStoreEntry(options) {
310
344
  filters: { type: 'exact', namespace },
311
345
  });
312
346
  if (similar.length > 0 && similar[0].score >= automemCfg.dedupThreshold) {
347
+ // Re-storing near-identical content is a usage signal: the fact keeps
348
+ // being worth remembering. Reinforce the surviving entry.
349
+ await recordUsageOnBackend(backend, [similar[0].entry.id]).catch(() => { });
313
350
  return { success: true, id: similar[0].entry.id, duplicate: true };
314
351
  }
315
352
  }
@@ -351,16 +388,22 @@ export async function bridgeSearchEntries(options) {
351
388
  threshold,
352
389
  filters: namespace ? { type: 'exact', namespace } : undefined,
353
390
  });
354
- results = searchResults.map((r) => ({
355
- id: r.entry.id,
356
- key: r.entry.key,
357
- content: r.entry.content || '',
358
- score: r.score,
359
- namespace: r.entry.namespace,
360
- provenance: `semantic:${r.score.toFixed(3)}`,
361
- tags: r.entry.tags ?? [],
362
- _createdAt: r.entry.createdAt || 0,
363
- }));
391
+ const { feedbackInfluence } = getAutomemConfig();
392
+ results = searchResults.map((r) => {
393
+ const weights = entryWeights(r.entry.metadata);
394
+ // Blend only here (semantic path): r.score is a genuine cosine similarity.
395
+ const blended = blendScore(r.score, weights, feedbackInfluence);
396
+ return {
397
+ id: r.entry.id,
398
+ key: r.entry.key,
399
+ content: r.entry.content || '',
400
+ score: blended,
401
+ namespace: r.entry.namespace,
402
+ provenance: `semantic:${r.score.toFixed(3)}${blended !== r.score ? `→${blended.toFixed(3)}` : ''}`,
403
+ tags: r.entry.tags ?? [],
404
+ _createdAt: r.entry.createdAt || 0,
405
+ };
406
+ }).sort((a, b) => b.score - a.score);
364
407
  searchMethod = 'semantic';
365
408
  }
366
409
  catch { /* fall through to keyword search */ }
@@ -409,11 +452,14 @@ export async function bridgeSearchEntries(options) {
409
452
  // forever) — keying it on the query's namespace filter meant an
410
453
  // all-namespace search silently dropped knowledge:* results past the
411
454
  // stale cutoff.
412
- const isKnowledgeNs = namespace?.startsWith('knowledge:');
455
+ // org:* (cross-run org memory) and rules are durable learned state like
456
+ // documents — the stale cliff silently erased org recall after a week.
457
+ const durableNs = (ns) => ns.startsWith('knowledge:') || ns.startsWith('org:') || ns.startsWith('agent:') || ns.startsWith('kg:') || ns === 'rules';
458
+ const isKnowledgeNs = namespace ? durableNs(namespace) : false;
413
459
  if (!isKnowledgeNs) {
414
460
  const { staleDays } = getAutomemConfig();
415
461
  const staleCutoff = Date.now() - staleDays * 86400000;
416
- results = results.filter((r) => String(r.namespace ?? '').startsWith('knowledge:')
462
+ results = results.filter((r) => durableNs(String(r.namespace ?? ''))
417
463
  || !r._createdAt || r._createdAt > staleCutoff);
418
464
  }
419
465
  results.forEach((r) => delete r._createdAt);
@@ -451,6 +497,7 @@ export async function bridgeListEntries(options) {
451
497
  updatedAt: new Date(e.updatedAt).toISOString(),
452
498
  hasEmbedding: !!(e.embedding && e.embedding.length > 0),
453
499
  tags: e.tags ?? [],
500
+ metadata: e.metadata ?? {},
454
501
  })),
455
502
  total: entries.length,
456
503
  };
@@ -481,6 +528,7 @@ export async function bridgeGetEntry(options) {
481
528
  updatedAt: new Date(entry.updatedAt).toISOString(),
482
529
  hasEmbedding: !!(entry.embedding && entry.embedding.length > 0),
483
530
  tags: entry.tags ?? [],
531
+ metadata: entry.metadata ?? {},
484
532
  },
485
533
  };
486
534
  }
@@ -681,6 +729,93 @@ export async function bridgeSearchPatterns(options) {
681
729
  }),
682
730
  };
683
731
  }
732
+ // ===== Usage capture & feedback weighting (closed loop) =====
733
+ async function recordUsageOnBackend(backend, entryIds) {
734
+ let updated = 0;
735
+ for (const id of entryIds) {
736
+ if (typeof id !== 'string' || !id)
737
+ continue;
738
+ try {
739
+ const entry = await backend.get(id);
740
+ if (!entry)
741
+ continue;
742
+ const { frequency } = entryWeights(entry.metadata);
743
+ await backend.update(id, {
744
+ metadata: { frequency_weight: frequency + 1 },
745
+ lastAccessedAt: Date.now(),
746
+ });
747
+ updated++;
748
+ }
749
+ catch { /* skip unreadable entries */ }
750
+ }
751
+ return updated;
752
+ }
753
+ /** Record that these entries were actually USED (returned to and consumed by a
754
+ * caller) — increments frequency_weight, which feeds the ranking blend. */
755
+ export async function bridgeRecordUsage(options) {
756
+ const backend = await getBackend(options.dbPath);
757
+ if (!backend)
758
+ return null;
759
+ try {
760
+ const updated = await recordUsageOnBackend(backend, (options.entryIds ?? []).slice(0, 100));
761
+ if (updated)
762
+ await flushBackend(backend);
763
+ return { success: true, updated };
764
+ }
765
+ catch {
766
+ return { success: false, updated: 0 };
767
+ }
768
+ }
769
+ /** Apply a usefulness rating to the entries that produced an answer:
770
+ * EWMA feedback_weight' = w + alpha*(score - w), clipped [0,1] (cognee's
771
+ * apply_feedback_weights). `ledgerKey` makes application idempotent — a
772
+ * daemon retry or duplicate MCP call must never compound the update. */
773
+ export async function bridgeApplyFeedback(options) {
774
+ const backend = await getBackend(options.dbPath);
775
+ if (!backend)
776
+ return null;
777
+ try {
778
+ const score = Math.max(0, Math.min(1, options.score));
779
+ const alpha = typeof options.alpha === 'number' ? Math.max(0, Math.min(1, options.alpha)) : FEEDBACK_EWMA_ALPHA;
780
+ const ledgerEntryKey = options.ledgerKey ? `applied_${options.ledgerKey.slice(0, 500)}` : null;
781
+ if (ledgerEntryKey) {
782
+ const existing = await backend.getByKey('feedback', ledgerEntryKey).catch(() => null);
783
+ if (existing)
784
+ return { success: true, applied: 0, alreadyApplied: true };
785
+ }
786
+ let applied = 0;
787
+ for (const id of (options.entryIds ?? []).slice(0, 100)) {
788
+ if (typeof id !== 'string' || !id)
789
+ continue;
790
+ try {
791
+ const entry = await backend.get(id);
792
+ if (!entry)
793
+ continue;
794
+ const { feedback } = entryWeights(entry.metadata);
795
+ const next = Math.max(0, Math.min(1, feedback + alpha * (score - feedback)));
796
+ await backend.update(id, { metadata: { feedback_weight: next } });
797
+ applied++;
798
+ }
799
+ catch { /* skip unreadable entries */ }
800
+ }
801
+ if (ledgerEntryKey) {
802
+ await bridgeStoreEntry({
803
+ key: ledgerEntryKey,
804
+ value: JSON.stringify({ score, entryIds: options.entryIds.slice(0, 100), appliedAt: Date.now(), applied }),
805
+ namespace: 'feedback',
806
+ generateEmbeddingFlag: false,
807
+ dbPath: options.dbPath,
808
+ upsert: true,
809
+ });
810
+ }
811
+ if (applied)
812
+ await flushBackend(backend);
813
+ return { success: true, applied };
814
+ }
815
+ catch (err) {
816
+ return { success: false, applied: 0, error: String(err?.message ?? err) };
817
+ }
818
+ }
684
819
  // ===== Feedback =====
685
820
  export async function bridgeRecordFeedback(options) {
686
821
  return bridgeStoreEntry({
@@ -832,28 +967,44 @@ export async function bridgeHierarchicalRecall(params) {
832
967
  });
833
968
  }
834
969
  // ===== Consolidation =====
970
+ /** Namespaces GC must never touch: durable knowledge/org/rule state, and the
971
+ * feedback ledger (deleting it would un-idempotent past ratings). */
972
+ const GC_PROTECTED_NS = /^(knowledge:|org:|agent:|kg:|rules$|feedback$)/;
835
973
  export async function bridgeConsolidate(params) {
836
- const backend = await getBackend();
974
+ const backend = await getBackend(params.dbPath);
837
975
  if (!backend)
838
976
  return { success: false, consolidated: 0 };
839
977
  try {
840
978
  const minAge = params.minAge ?? 7 * 24 * 3600 * 1000; // default: 7 days
841
979
  const cutoff = Date.now() - minAge;
980
+ const ns = params.namespace ?? 'default';
842
981
  const entries = await backend.query({
843
982
  type: 'exact',
844
- namespace: 'default',
983
+ ...(ns === 'all' ? {} : { namespace: ns }),
845
984
  limit: params.maxEntries ?? 1000,
846
985
  });
847
986
  let deleted = 0;
987
+ let kept = 0;
848
988
  for (const e of entries) {
849
- if (e.updatedAt < cutoff && e.accessCount === 0) {
989
+ if (GC_PROTECTED_NS.test(String(e.namespace ?? '')))
990
+ continue;
991
+ if (e.updatedAt >= cutoff)
992
+ continue;
993
+ const { feedback, frequency } = entryWeights(e.metadata);
994
+ // Weight-aware GC (first real consumer of the closed loop): entries the
995
+ // system learned are useful never age out; unused, unrated ones do.
996
+ if (feedback > 0.6 || frequency >= 3) {
997
+ kept++;
998
+ continue;
999
+ }
1000
+ if ((e.accessCount ?? 0) === 0) {
850
1001
  await backend.delete(e.id).catch(() => { });
851
1002
  deleted++;
852
1003
  }
853
1004
  }
854
1005
  if (deleted)
855
1006
  await flushBackend(backend);
856
- return { success: true, consolidated: deleted };
1007
+ return { success: true, consolidated: deleted, preserved: kept };
857
1008
  }
858
1009
  catch {
859
1010
  return { success: false, consolidated: 0 };
@@ -0,0 +1,185 @@
1
+ /**
2
+ * Memory Knowledge Graph — entities, relations, and rules distilled from
3
+ * agent sessions and org runs (cognee-concept port, Phase 2 of
4
+ * docs/mastermind/2026-07-19-cognee-port-plan.md).
5
+ *
6
+ * Storage rides store A (memory-bridge) rather than a dedicated SQLite DB:
7
+ * nodes live in namespace `kg:nodes`, edges in `kg:edges`, distilled rules
8
+ * additionally in `rules` (so existing knowledge/injection surfaces find them).
9
+ * That buys embeddings, upsert, sql.js fallback, and the Phase 1
10
+ * feedback/frequency weighting for free — KG node ranking improves with use
11
+ * automatically.
12
+ *
13
+ * Identity is deterministic (cognee's DataPoint.id_for): the entry KEY is
14
+ * `n:<type>:<normalized-name>`, so the same entity extracted from any session
15
+ * merges idempotently via upsert. Every write carries `origin_refs` so a bad
16
+ * ingest can be rolled back per run/session.
17
+ *
18
+ * // monolean: graph traversal is in-process over a full kg:edges list —
19
+ * // fine to ~10k edges; upgrade path is a real SQLite edges table with
20
+ * // indexed src/dst columns if orgs outgrow that.
21
+ *
22
+ * @module v1/cli/memory/memory-kg
23
+ */
24
+ export declare const KG_NODES_NS = "kg:nodes";
25
+ export declare const KG_EDGES_NS = "kg:edges";
26
+ export declare const RULES_NS = "rules";
27
+ export interface KgNodeInput {
28
+ name: string;
29
+ /** Basic type, cognee-style ("Person", "Tool", "Service") — not over-specific. */
30
+ type?: string;
31
+ description?: string;
32
+ nodeSet?: string;
33
+ }
34
+ export interface KgEdgeInput {
35
+ source: string;
36
+ target: string;
37
+ /** snake_case relation name. */
38
+ relation: string;
39
+ /** One-sentence concrete fact using the endpoint names. */
40
+ description?: string;
41
+ sourceType?: string;
42
+ targetType?: string;
43
+ }
44
+ export interface KgIngestResult {
45
+ success: boolean;
46
+ nodesAdded: number;
47
+ nodesMerged: number;
48
+ edgesAdded: number;
49
+ edgesMerged: number;
50
+ error?: string;
51
+ }
52
+ /** cognee DataPoint normalization: lowercase, spaces→_, strip apostrophes. */
53
+ export declare function normalizeName(name: string): string;
54
+ /** Identity is NAME-ONLY (cognee's Entity.identity_fields = ["name"]) — type
55
+ * lives in metadata. Including type in the key forked the same entity when
56
+ * the LLM said "Module" and the heuristic said "entity". */
57
+ export declare function nodeKey(_type: string, name: string): string;
58
+ /** Idempotently merge extracted nodes/edges into the KG. Same-name entities
59
+ * collapse onto one node (deterministic key + upsert); origin_refs accumulate
60
+ * so rollback can undo a single run's contribution. */
61
+ export declare function kgIngest(options: {
62
+ nodes: KgNodeInput[];
63
+ edges?: KgEdgeInput[];
64
+ /** Provenance: run id, session id, or doc hash this extraction came from. */
65
+ originRef: string;
66
+ dbPath?: string;
67
+ }): Promise<KgIngestResult>;
68
+ export interface RuleVerdict {
69
+ rule: string;
70
+ verdict: 'accepted' | 'already_known' | 'invalid';
71
+ similarTo?: string;
72
+ }
73
+ /** Stage-2 of cognee's curator/writer distillation: the CALLER (an LLM agent)
74
+ * proposes candidate rules; this accepts each unless a semantically
75
+ * near-identical rule exists (embedding dedup — deterministic keys can't
76
+ * collapse paraphrases). Accepted rules are stored both as KG nodes
77
+ * (node_set=rules) and as plain `rules`-namespace entries so the existing
78
+ * injection/search surfaces pick them up with zero new plumbing. */
79
+ export declare function kgIngestRules(options: {
80
+ rules: {
81
+ rule: string;
82
+ context?: string;
83
+ }[];
84
+ originRef: string;
85
+ dbPath?: string;
86
+ /** Similarity above which a candidate is already_known (default 0.78 —
87
+ * MiniLM paraphrases of the same rule commonly land 0.78-0.9; cognee's
88
+ * equivalent control is prompt-injected LLM judgment, which we approximate). */
89
+ dedupThreshold?: number;
90
+ }): Promise<{
91
+ success: boolean;
92
+ verdicts: RuleVerdict[];
93
+ accepted: number;
94
+ error?: string;
95
+ }>;
96
+ /** List stored rules (for injection or review). */
97
+ export declare function kgListRules(options?: {
98
+ dbPath?: string;
99
+ limit?: number;
100
+ }): Promise<{
101
+ rule: string;
102
+ key: string;
103
+ }[]>;
104
+ export interface KgSearchResult {
105
+ success: boolean;
106
+ /** Rendered triplet lines, best first. */
107
+ context: string;
108
+ triplets: {
109
+ source: string;
110
+ relation: string;
111
+ target: string;
112
+ fact: string;
113
+ score: number;
114
+ }[];
115
+ seeds: {
116
+ name: string;
117
+ type: string;
118
+ description: string;
119
+ score: number;
120
+ id: string;
121
+ }[];
122
+ error?: string;
123
+ }
124
+ /** Vector-seed → neighborhood → triplet ranking (cognee's brute-force triplet
125
+ * search, scaled down). Seed scores already carry the Phase 1 feedback blend. */
126
+ export declare function kgSearch(options: {
127
+ query: string;
128
+ dbPath?: string;
129
+ limit?: number;
130
+ nodeSet?: string;
131
+ }): Promise<KgSearchResult>;
132
+ export declare function kgGlossary(options?: {
133
+ dbPath?: string;
134
+ limit?: number;
135
+ }): Promise<string[]>;
136
+ /** Delete every node/edge/rule whose ONLY origin is `originRef`. Elements with
137
+ * other origins survive (shared knowledge isn't destroyed by one bad run);
138
+ * their origin lists retain the ref — acceptable residue.
139
+ * // monolean: no origin-list rewrite — needs an update-by-id bridge API */
140
+ export declare function kgRollback(options: {
141
+ originRef: string;
142
+ dbPath?: string;
143
+ }): Promise<{
144
+ success: boolean;
145
+ deleted: number;
146
+ retained: number;
147
+ error?: string;
148
+ }>;
149
+ export interface ConsolidationCandidate {
150
+ name: string;
151
+ type: string;
152
+ description: string;
153
+ edgeCount: number;
154
+ /** Neighborhood facts to merge into one canonical description. */
155
+ neighborhood: string[];
156
+ }
157
+ /** Entities whose descriptions are stale relative to their connectivity —
158
+ * the LLM half runs in the LIVE agent: it rewrites each candidate's
159
+ * description from the neighborhood facts and resubmits via memory_kg_ingest
160
+ * (longer descriptions win on merge). No LLM here (fully local constraint). */
161
+ export declare function kgConsolidateCandidates(options?: {
162
+ dbPath?: string;
163
+ /** Minimum edges for a node to qualify (default 3). */
164
+ minEdges?: number;
165
+ limit?: number;
166
+ }): Promise<ConsolidationCandidate[]>;
167
+ export declare function kgStats(options?: {
168
+ dbPath?: string;
169
+ }): Promise<{
170
+ nodes: number;
171
+ edges: number;
172
+ rules: number;
173
+ }>;
174
+ /** Regex extraction for when no LLM is in the loop (memory-palace lineage):
175
+ * proper-noun phrases and `code identifiers` become entities, sentence
176
+ * co-occurrence becomes relates_to edges. Lower-trust by design — real
177
+ * entity/relation quality comes from the LLM path (memory_kg_ingest called
178
+ * by the live agent, or the org coordinator's org_learn tool). */
179
+ export declare function heuristicExtract(text: string, opts?: {
180
+ sourceName?: string;
181
+ }): {
182
+ nodes: KgNodeInput[];
183
+ edges: KgEdgeInput[];
184
+ };
185
+ //# sourceMappingURL=memory-kg.d.ts.map