monomind 2.5.1 → 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 +166 -17
  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 +162 -12
  277. package/packages/@monomind/cli/package.json +5 -3
  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
  }
@@ -285,6 +316,7 @@ export async function bridgeStoreEntry(options) {
285
316
  content: value,
286
317
  namespace,
287
318
  tags,
319
+ metadata: options.metadata,
288
320
  expiresAt: options.ttl ? now + options.ttl * 1000 : undefined,
289
321
  });
290
322
  // Override id and set embedding
@@ -312,6 +344,9 @@ export async function bridgeStoreEntry(options) {
312
344
  filters: { type: 'exact', namespace },
313
345
  });
314
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(() => { });
315
350
  return { success: true, id: similar[0].entry.id, duplicate: true };
316
351
  }
317
352
  }
@@ -353,16 +388,22 @@ export async function bridgeSearchEntries(options) {
353
388
  threshold,
354
389
  filters: namespace ? { type: 'exact', namespace } : undefined,
355
390
  });
356
- results = searchResults.map((r) => ({
357
- id: r.entry.id,
358
- key: r.entry.key,
359
- content: r.entry.content || '',
360
- score: r.score,
361
- namespace: r.entry.namespace,
362
- provenance: `semantic:${r.score.toFixed(3)}`,
363
- tags: r.entry.tags ?? [],
364
- _createdAt: r.entry.createdAt || 0,
365
- }));
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);
366
407
  searchMethod = 'semantic';
367
408
  }
368
409
  catch { /* fall through to keyword search */ }
@@ -411,11 +452,14 @@ export async function bridgeSearchEntries(options) {
411
452
  // forever) — keying it on the query's namespace filter meant an
412
453
  // all-namespace search silently dropped knowledge:* results past the
413
454
  // stale cutoff.
414
- 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;
415
459
  if (!isKnowledgeNs) {
416
460
  const { staleDays } = getAutomemConfig();
417
461
  const staleCutoff = Date.now() - staleDays * 86400000;
418
- results = results.filter((r) => String(r.namespace ?? '').startsWith('knowledge:')
462
+ results = results.filter((r) => durableNs(String(r.namespace ?? ''))
419
463
  || !r._createdAt || r._createdAt > staleCutoff);
420
464
  }
421
465
  results.forEach((r) => delete r._createdAt);
@@ -453,6 +497,7 @@ export async function bridgeListEntries(options) {
453
497
  updatedAt: new Date(e.updatedAt).toISOString(),
454
498
  hasEmbedding: !!(e.embedding && e.embedding.length > 0),
455
499
  tags: e.tags ?? [],
500
+ metadata: e.metadata ?? {},
456
501
  })),
457
502
  total: entries.length,
458
503
  };
@@ -483,6 +528,7 @@ export async function bridgeGetEntry(options) {
483
528
  updatedAt: new Date(entry.updatedAt).toISOString(),
484
529
  hasEmbedding: !!(entry.embedding && entry.embedding.length > 0),
485
530
  tags: entry.tags ?? [],
531
+ metadata: entry.metadata ?? {},
486
532
  },
487
533
  };
488
534
  }
@@ -683,6 +729,93 @@ export async function bridgeSearchPatterns(options) {
683
729
  }),
684
730
  };
685
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
+ }
686
819
  // ===== Feedback =====
687
820
  export async function bridgeRecordFeedback(options) {
688
821
  return bridgeStoreEntry({
@@ -834,28 +967,44 @@ export async function bridgeHierarchicalRecall(params) {
834
967
  });
835
968
  }
836
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$)/;
837
973
  export async function bridgeConsolidate(params) {
838
- const backend = await getBackend();
974
+ const backend = await getBackend(params.dbPath);
839
975
  if (!backend)
840
976
  return { success: false, consolidated: 0 };
841
977
  try {
842
978
  const minAge = params.minAge ?? 7 * 24 * 3600 * 1000; // default: 7 days
843
979
  const cutoff = Date.now() - minAge;
980
+ const ns = params.namespace ?? 'default';
844
981
  const entries = await backend.query({
845
982
  type: 'exact',
846
- namespace: 'default',
983
+ ...(ns === 'all' ? {} : { namespace: ns }),
847
984
  limit: params.maxEntries ?? 1000,
848
985
  });
849
986
  let deleted = 0;
987
+ let kept = 0;
850
988
  for (const e of entries) {
851
- 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) {
852
1001
  await backend.delete(e.id).catch(() => { });
853
1002
  deleted++;
854
1003
  }
855
1004
  }
856
1005
  if (deleted)
857
1006
  await flushBackend(backend);
858
- return { success: true, consolidated: deleted };
1007
+ return { success: true, consolidated: deleted, preserved: kept };
859
1008
  }
860
1009
  catch {
861
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