mirror-mind 0.0.1 → 0.33.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/.claude/hooks/log-assistant-reply.sh +85 -0
  2. package/.claude/hooks/log-session-end.sh +85 -0
  3. package/.claude/hooks/log-user-prompt.sh +85 -0
  4. package/.claude/hooks/mirror-inject.sh +85 -0
  5. package/.claude/hooks/session-start.sh +85 -0
  6. package/.gemini/hooks/log-assistant.sh +85 -0
  7. package/.gemini/hooks/log-user.sh +85 -0
  8. package/.gemini/hooks/session-end.sh +85 -0
  9. package/.gemini/hooks/session-start.sh +85 -0
  10. package/.pi/extensions/mirror-logger.ts +646 -0
  11. package/.pi/skills/mm-backup/SKILL.md +21 -0
  12. package/.pi/skills/mm-build/SKILL.md +1206 -0
  13. package/.pi/skills/mm-consolidate/SKILL.md +112 -0
  14. package/.pi/skills/mm-consult/SKILL.md +70 -0
  15. package/.pi/skills/mm-conversations/SKILL.md +16 -0
  16. package/.pi/skills/mm-discard/SKILL.md +39 -0
  17. package/.pi/skills/mm-explore/SKILL.md +255 -0
  18. package/.pi/skills/mm-help/SKILL.md +74 -0
  19. package/.pi/skills/mm-identity/SKILL.md +96 -0
  20. package/.pi/skills/mm-journal/SKILL.md +16 -0
  21. package/.pi/skills/mm-journey/SKILL.md +23 -0
  22. package/.pi/skills/mm-journeys/SKILL.md +15 -0
  23. package/.pi/skills/mm-memories/SKILL.md +17 -0
  24. package/.pi/skills/mm-mirror/SKILL.md +98 -0
  25. package/.pi/skills/mm-mute/SKILL.md +18 -0
  26. package/.pi/skills/mm-new/SKILL.md +18 -0
  27. package/.pi/skills/mm-recall/SKILL.md +17 -0
  28. package/.pi/skills/mm-release-notes/SKILL.md +52 -0
  29. package/.pi/skills/mm-seed/SKILL.md +19 -0
  30. package/.pi/skills/mm-shadow/SKILL.md +117 -0
  31. package/.pi/skills/mm-soul/SKILL.md +502 -0
  32. package/.pi/skills/mm-tasks/SKILL.md +24 -0
  33. package/.pi/skills/mm-update/SKILL.md +32 -0
  34. package/.pi/skills/mm-week/SKILL.md +28 -0
  35. package/.pi/skills/mm-welcome/SKILL.md +24 -0
  36. package/AGENTS.md +188 -0
  37. package/README.md +126 -9
  38. package/bin/loader.js +67 -0
  39. package/bin/mirror-hook.js +7 -0
  40. package/bin/mirror.js +7 -0
  41. package/docs/releases/index.md +100 -0
  42. package/docs/releases/pending-cutoffs.md +510 -0
  43. package/docs/releases/v0.10.0.md +123 -0
  44. package/docs/releases/v0.10.1.md +66 -0
  45. package/docs/releases/v0.10.10.md +51 -0
  46. package/docs/releases/v0.10.11.md +39 -0
  47. package/docs/releases/v0.10.12.md +57 -0
  48. package/docs/releases/v0.10.13.md +35 -0
  49. package/docs/releases/v0.10.14.md +42 -0
  50. package/docs/releases/v0.10.15.md +53 -0
  51. package/docs/releases/v0.10.16.md +35 -0
  52. package/docs/releases/v0.10.17.md +43 -0
  53. package/docs/releases/v0.10.2.md +64 -0
  54. package/docs/releases/v0.10.3.md +78 -0
  55. package/docs/releases/v0.10.4.md +42 -0
  56. package/docs/releases/v0.10.5.md +57 -0
  57. package/docs/releases/v0.10.6.md +47 -0
  58. package/docs/releases/v0.10.7.md +53 -0
  59. package/docs/releases/v0.10.8.md +49 -0
  60. package/docs/releases/v0.10.9.md +37 -0
  61. package/docs/releases/v0.11.0.md +86 -0
  62. package/docs/releases/v0.12.0.md +67 -0
  63. package/docs/releases/v0.13.0.md +64 -0
  64. package/docs/releases/v0.14.0.md +68 -0
  65. package/docs/releases/v0.15.0.md +48 -0
  66. package/docs/releases/v0.16.0.md +50 -0
  67. package/docs/releases/v0.16.1.md +55 -0
  68. package/docs/releases/v0.16.2.md +36 -0
  69. package/docs/releases/v0.17.0.md +50 -0
  70. package/docs/releases/v0.17.1.md +58 -0
  71. package/docs/releases/v0.17.2.md +42 -0
  72. package/docs/releases/v0.17.3.md +58 -0
  73. package/docs/releases/v0.18.0.md +84 -0
  74. package/docs/releases/v0.18.1.md +51 -0
  75. package/docs/releases/v0.18.2.md +69 -0
  76. package/docs/releases/v0.19.0.md +85 -0
  77. package/docs/releases/v0.19.1.md +46 -0
  78. package/docs/releases/v0.20.0.md +85 -0
  79. package/docs/releases/v0.21.0.md +61 -0
  80. package/docs/releases/v0.21.1.md +47 -0
  81. package/docs/releases/v0.22.0.md +77 -0
  82. package/docs/releases/v0.22.1.md +42 -0
  83. package/docs/releases/v0.23.0.md +105 -0
  84. package/docs/releases/v0.24.0.md +125 -0
  85. package/docs/releases/v0.25.0.md +107 -0
  86. package/docs/releases/v0.26.0.md +139 -0
  87. package/docs/releases/v0.26.1.md +65 -0
  88. package/docs/releases/v0.26.2.md +43 -0
  89. package/docs/releases/v0.27.0.md +63 -0
  90. package/docs/releases/v0.28.0.md +59 -0
  91. package/docs/releases/v0.29.0.md +61 -0
  92. package/docs/releases/v0.29.1.md +59 -0
  93. package/docs/releases/v0.29.2.md +59 -0
  94. package/docs/releases/v0.29.3.md +93 -0
  95. package/docs/releases/v0.30.0.md +75 -0
  96. package/docs/releases/v0.30.1.md +93 -0
  97. package/docs/releases/v0.30.2.md +66 -0
  98. package/docs/releases/v0.31.0.md +122 -0
  99. package/docs/releases/v0.31.1.md +142 -0
  100. package/docs/releases/v0.31.10.md +118 -0
  101. package/docs/releases/v0.31.11.md +88 -0
  102. package/docs/releases/v0.31.12.md +105 -0
  103. package/docs/releases/v0.31.13.md +99 -0
  104. package/docs/releases/v0.31.14.md +97 -0
  105. package/docs/releases/v0.31.2.md +115 -0
  106. package/docs/releases/v0.31.3.md +142 -0
  107. package/docs/releases/v0.31.4.md +117 -0
  108. package/docs/releases/v0.31.5.md +155 -0
  109. package/docs/releases/v0.31.6.md +132 -0
  110. package/docs/releases/v0.31.7.md +132 -0
  111. package/docs/releases/v0.31.8.md +120 -0
  112. package/docs/releases/v0.31.9.md +120 -0
  113. package/docs/releases/v0.32.0.md +261 -0
  114. package/docs/releases/v0.32.1.md +59 -0
  115. package/docs/releases/v0.33.0.md +164 -0
  116. package/docs/releases/v0.8.0.md +118 -0
  117. package/docs/releases/v0.9.0.md +98 -0
  118. package/docs/releases/v0.9.1.md +83 -0
  119. package/package.json +102 -6
  120. package/plugins/mirror-mind/.claude-plugin/plugin.json +17 -0
  121. package/plugins/mirror-mind/hooks/hooks.json +62 -0
  122. package/plugins/mirror-mind/hooks/log-assistant-reply.sh +98 -0
  123. package/plugins/mirror-mind/hooks/log-session-end.sh +98 -0
  124. package/plugins/mirror-mind/hooks/log-user-prompt.sh +98 -0
  125. package/plugins/mirror-mind/hooks/mirror-inject.sh +98 -0
  126. package/plugins/mirror-mind/hooks/session-start.sh +98 -0
  127. package/plugins/mirror-mind/skills/mm-backup/SKILL.md +27 -0
  128. package/plugins/mirror-mind/skills/mm-build/SKILL.md +1206 -0
  129. package/plugins/mirror-mind/skills/mm-consolidate/SKILL.md +112 -0
  130. package/plugins/mirror-mind/skills/mm-consult/SKILL.md +83 -0
  131. package/plugins/mirror-mind/skills/mm-conversations/SKILL.md +17 -0
  132. package/plugins/mirror-mind/skills/mm-discard/SKILL.md +40 -0
  133. package/plugins/mirror-mind/skills/mm-explore/SKILL.md +241 -0
  134. package/plugins/mirror-mind/skills/mm-help/SKILL.md +104 -0
  135. package/plugins/mirror-mind/skills/mm-identity/SKILL.md +96 -0
  136. package/plugins/mirror-mind/skills/mm-journal/SKILL.md +21 -0
  137. package/plugins/mirror-mind/skills/mm-journey/SKILL.md +37 -0
  138. package/plugins/mirror-mind/skills/mm-journeys/SKILL.md +15 -0
  139. package/plugins/mirror-mind/skills/mm-memories/SKILL.md +20 -0
  140. package/plugins/mirror-mind/skills/mm-mirror/SKILL.md +67 -0
  141. package/plugins/mirror-mind/skills/mm-mute/SKILL.md +18 -0
  142. package/plugins/mirror-mind/skills/mm-new/SKILL.md +18 -0
  143. package/plugins/mirror-mind/skills/mm-recall/SKILL.md +17 -0
  144. package/plugins/mirror-mind/skills/mm-release-notes/SKILL.md +31 -0
  145. package/plugins/mirror-mind/skills/mm-seed/SKILL.md +15 -0
  146. package/plugins/mirror-mind/skills/mm-shadow/SKILL.md +117 -0
  147. package/plugins/mirror-mind/skills/mm-soul/SKILL.md +488 -0
  148. package/plugins/mirror-mind/skills/mm-tasks/SKILL.md +36 -0
  149. package/plugins/mirror-mind/skills/mm-update/SKILL.md +30 -0
  150. package/plugins/mirror-mind/skills/mm-week/SKILL.md +46 -0
  151. package/plugins/mirror-mind/skills/mm-welcome/SKILL.md +22 -0
  152. package/scripts/codex-hooks/session-end.sh +85 -0
  153. package/scripts/codex-hooks/session-start.sh +85 -0
  154. package/scripts/codex-mirror.sh +48 -0
  155. package/templates/identity/README.md +119 -0
  156. package/templates/identity/ego/behavior.yaml +52 -0
  157. package/templates/identity/ego/constraints.yaml +15 -0
  158. package/templates/identity/ego/identity.yaml +43 -0
  159. package/templates/identity/journeys/personal-growth.yaml +39 -0
  160. package/templates/identity/organization/identity.yaml +24 -0
  161. package/templates/identity/organization/principles.yaml +17 -0
  162. package/templates/identity/personas/coach.yaml +94 -0
  163. package/templates/identity/personas/designer.yaml +93 -0
  164. package/templates/identity/personas/doctor.yaml +96 -0
  165. package/templates/identity/personas/engineer.yaml +77 -0
  166. package/templates/identity/personas/financial.yaml +97 -0
  167. package/templates/identity/personas/prompt-engineer.yaml +122 -0
  168. package/templates/identity/personas/researcher.yaml +88 -0
  169. package/templates/identity/personas/strategist.yaml +91 -0
  170. package/templates/identity/personas/teacher.yaml +95 -0
  171. package/templates/identity/personas/therapist.yaml +91 -0
  172. package/templates/identity/personas/thinker.yaml +74 -0
  173. package/templates/identity/personas/writer.yaml +76 -0
  174. package/templates/identity/self/config.yaml +16 -0
  175. package/templates/identity/self/soul.yaml +105 -0
  176. package/templates/identity/user/identity.yaml +30 -0
  177. package/ts/src/backup/staging.ts +62 -0
  178. package/ts/src/backup/zipBackup.ts +267 -0
  179. package/ts/src/backup/zipReader.ts +109 -0
  180. package/ts/src/backup/zipWriter.ts +148 -0
  181. package/ts/src/builder/activeCheckpoint.ts +134 -0
  182. package/ts/src/builder/aggregateStatus.ts +34 -0
  183. package/ts/src/builder/approve.ts +149 -0
  184. package/ts/src/builder/argv.ts +292 -0
  185. package/ts/src/builder/ariadMethod.ts +536 -0
  186. package/ts/src/builder/artifacts/artifactSurfaces.ts +106 -0
  187. package/ts/src/builder/artifacts/artifactWriter.ts +113 -0
  188. package/ts/src/builder/artifacts/closureArtifacts.ts +199 -0
  189. package/ts/src/builder/artifacts/deliveryStoryArtifacts.ts +316 -0
  190. package/ts/src/builder/artifacts/planArtifacts.ts +242 -0
  191. package/ts/src/builder/artifacts/scaffoldSections.ts +273 -0
  192. package/ts/src/builder/artifacts/scaffoldState.ts +227 -0
  193. package/ts/src/builder/artifacts/storyFiles.ts +61 -0
  194. package/ts/src/builder/artifacts/storyIndex.ts +166 -0
  195. package/ts/src/builder/cadence.ts +59 -0
  196. package/ts/src/builder/card.ts +192 -0
  197. package/ts/src/builder/checkpointRefused.ts +66 -0
  198. package/ts/src/builder/closure.ts +964 -0
  199. package/ts/src/builder/commands.ts +2053 -0
  200. package/ts/src/builder/cursorPosition.ts +176 -0
  201. package/ts/src/builder/cursorTransitions.ts +77 -0
  202. package/ts/src/builder/deliveryCursor.ts +577 -0
  203. package/ts/src/builder/deliveryStoryClosure.ts +521 -0
  204. package/ts/src/builder/deliveryStoryPlan.ts +536 -0
  205. package/ts/src/builder/deliveryStoryReady.ts +160 -0
  206. package/ts/src/builder/deliveryStoryRoadmapClosure.ts +151 -0
  207. package/ts/src/builder/expand.ts +336 -0
  208. package/ts/src/builder/flowUnit.ts +339 -0
  209. package/ts/src/builder/homeSurface.ts +122 -0
  210. package/ts/src/builder/implementationGuard.ts +125 -0
  211. package/ts/src/builder/index.ts +11 -0
  212. package/ts/src/builder/lifecycleRefusal.ts +92 -0
  213. package/ts/src/builder/lifecycleRibbon.ts +159 -0
  214. package/ts/src/builder/load.ts +313 -0
  215. package/ts/src/builder/methodAdoption.ts +113 -0
  216. package/ts/src/builder/methodDefinition.ts +429 -0
  217. package/ts/src/builder/methodInspection.ts +371 -0
  218. package/ts/src/builder/plan.ts +408 -0
  219. package/ts/src/builder/planPreauthorization.ts +265 -0
  220. package/ts/src/builder/prepare.ts +225 -0
  221. package/ts/src/builder/projectPaths.ts +64 -0
  222. package/ts/src/builder/pull.ts +356 -0
  223. package/ts/src/builder/pullCandidates.ts +463 -0
  224. package/ts/src/builder/pullCandidatesRender.ts +238 -0
  225. package/ts/src/builder/refinementField.ts +93 -0
  226. package/ts/src/builder/releaseIntent.ts +173 -0
  227. package/ts/src/builder/resumeState.ts +84 -0
  228. package/ts/src/builder/resumeSurface.ts +149 -0
  229. package/ts/src/builder/roadmapGrammar.ts +300 -0
  230. package/ts/src/builder/roadmapScan.ts +97 -0
  231. package/ts/src/builder/roadmapScope.ts +210 -0
  232. package/ts/src/builder/scopePhrases.ts +146 -0
  233. package/ts/src/builder/storyPaths.ts +196 -0
  234. package/ts/src/builder/storyPlanPreauthorization.ts +287 -0
  235. package/ts/src/builder/surfaceProtocol.ts +42 -0
  236. package/ts/src/builder/templateGeneration.ts +148 -0
  237. package/ts/src/builder/transition.ts +178 -0
  238. package/ts/src/consult/args.ts +99 -0
  239. package/ts/src/consult/core.ts +122 -0
  240. package/ts/src/consult/modelCatalog.ts +55 -0
  241. package/ts/src/consult/render.ts +47 -0
  242. package/ts/src/conversation/append.ts +414 -0
  243. package/ts/src/conversation/backfill.ts +387 -0
  244. package/ts/src/conversation/closeTail.ts +467 -0
  245. package/ts/src/conversation/extraction.ts +333 -0
  246. package/ts/src/conversation/extractionDriver.ts +130 -0
  247. package/ts/src/conversation/extractionRun.ts +70 -0
  248. package/ts/src/conversation/hookPayload.ts +51 -0
  249. package/ts/src/conversation/journeyInference.ts +165 -0
  250. package/ts/src/conversation/journeyRepair.ts +114 -0
  251. package/ts/src/conversation/lifecycleFaces.ts +197 -0
  252. package/ts/src/conversation/lifecycleWrites.ts +313 -0
  253. package/ts/src/conversation/listing.ts +77 -0
  254. package/ts/src/conversation/logger.ts +851 -0
  255. package/ts/src/conversation/loggerCli.ts +321 -0
  256. package/ts/src/conversation/loggerRuntime.ts +259 -0
  257. package/ts/src/conversation/metadataLifecycle.ts +443 -0
  258. package/ts/src/conversation/recall.ts +66 -0
  259. package/ts/src/conversation/sessionComposites.ts +258 -0
  260. package/ts/src/conversation/sessionImport.ts +90 -0
  261. package/ts/src/conversation/transcriptBackfill.ts +141 -0
  262. package/ts/src/cultivation/applyActions.ts +241 -0
  263. package/ts/src/cultivation/cluster.ts +86 -0
  264. package/ts/src/cultivation/consolidationStore.ts +281 -0
  265. package/ts/src/cultivation/promptContext.ts +62 -0
  266. package/ts/src/cultivation/propose.ts +305 -0
  267. package/ts/src/cultivation/scan.ts +155 -0
  268. package/ts/src/db/backupGate.ts +47 -0
  269. package/ts/src/db/bootstrap.ts +108 -0
  270. package/ts/src/db/bootstrapLock.ts +223 -0
  271. package/ts/src/db/copyGuard.ts +60 -0
  272. package/ts/src/db/database.ts +397 -0
  273. package/ts/src/db/decode.ts +66 -0
  274. package/ts/src/db/ftsIntegrity.ts +41 -0
  275. package/ts/src/db/migrateOnOpen.ts +214 -0
  276. package/ts/src/db/migrations.ts +576 -0
  277. package/ts/src/db/readyOnOpen.ts +35 -0
  278. package/ts/src/db/rowDecode.ts +42 -0
  279. package/ts/src/db/schema.ts +432 -0
  280. package/ts/src/db/schemaInventory.ts +225 -0
  281. package/ts/src/db/schemaInventorySnapshot.ts +2107 -0
  282. package/ts/src/db/schemaState.ts +91 -0
  283. package/ts/src/db/schemaTsDivergence.ts +114 -0
  284. package/ts/src/descriptor/descriptorRead.ts +49 -0
  285. package/ts/src/docs/docsLint.ts +265 -0
  286. package/ts/src/explorer/handoff.ts +522 -0
  287. package/ts/src/explorer/render.ts +335 -0
  288. package/ts/src/explorer/story.ts +769 -0
  289. package/ts/src/explorer/transition.ts +72 -0
  290. package/ts/src/extensions/bindings.ts +170 -0
  291. package/ts/src/extensions/catalog.ts +249 -0
  292. package/ts/src/extensions/catalogCommands.ts +513 -0
  293. package/ts/src/extensions/catalogWrites.ts +652 -0
  294. package/ts/src/extensions/contextRuntime.ts +325 -0
  295. package/ts/src/extensions/dispatch.ts +374 -0
  296. package/ts/src/extensions/errors.ts +24 -0
  297. package/ts/src/extensions/manifest.ts +356 -0
  298. package/ts/src/extensions/migrations.ts +350 -0
  299. package/ts/src/extraction/conversation.ts +304 -0
  300. package/ts/src/extraction/conversationMetadata.ts +206 -0
  301. package/ts/src/extraction/fencing.ts +106 -0
  302. package/ts/src/extraction/json.ts +17 -0
  303. package/ts/src/extraction/prompts.ts +470 -0
  304. package/ts/src/frontDoor/args.ts +30 -0
  305. package/ts/src/frontDoor/argvShape.ts +106 -0
  306. package/ts/src/frontDoor/buildLoadRuntime.ts +139 -0
  307. package/ts/src/frontDoor/buildRoute.ts +398 -0
  308. package/ts/src/frontDoor/cli.ts +1872 -0
  309. package/ts/src/frontDoor/cloneRoleGuard.ts +98 -0
  310. package/ts/src/frontDoor/consultRoute.ts +50 -0
  311. package/ts/src/frontDoor/contentTailRoute.ts +239 -0
  312. package/ts/src/frontDoor/conversationLoggerRoute.ts +83 -0
  313. package/ts/src/frontDoor/cultivationRoute.ts +210 -0
  314. package/ts/src/frontDoor/dbPath.ts +131 -0
  315. package/ts/src/frontDoor/dbSafetyToolsRoute.ts +240 -0
  316. package/ts/src/frontDoor/exploreRoute.ts +572 -0
  317. package/ts/src/frontDoor/extensionCatalogRoute.ts +252 -0
  318. package/ts/src/frontDoor/frontDoorLog.ts +57 -0
  319. package/ts/src/frontDoor/identityWrite.ts +36 -0
  320. package/ts/src/frontDoor/journeyWriteRoute.ts +26 -0
  321. package/ts/src/frontDoor/lifecycleWriteRoute.ts +110 -0
  322. package/ts/src/frontDoor/liveBackup.ts +100 -0
  323. package/ts/src/frontDoor/mirrorModeRoute.ts +163 -0
  324. package/ts/src/frontDoor/namedRefusal.ts +35 -0
  325. package/ts/src/frontDoor/nodeSupport.ts +24 -0
  326. package/ts/src/frontDoor/render/consolidate.ts +199 -0
  327. package/ts/src/frontDoor/render/conversations.ts +33 -0
  328. package/ts/src/frontDoor/render/cultivationShared.ts +21 -0
  329. package/ts/src/frontDoor/render/descriptor.ts +20 -0
  330. package/ts/src/frontDoor/render/detectPersona.ts +50 -0
  331. package/ts/src/frontDoor/render/icons.ts +13 -0
  332. package/ts/src/frontDoor/render/identity.ts +59 -0
  333. package/ts/src/frontDoor/render/identityRows.ts +17 -0
  334. package/ts/src/frontDoor/render/inspectPersona.ts +53 -0
  335. package/ts/src/frontDoor/render/journeyStatus.ts +78 -0
  336. package/ts/src/frontDoor/render/journeys.ts +79 -0
  337. package/ts/src/frontDoor/render/list.ts +41 -0
  338. package/ts/src/frontDoor/render/memories.ts +67 -0
  339. package/ts/src/frontDoor/render/recall.ts +49 -0
  340. package/ts/src/frontDoor/render/shadow.ts +155 -0
  341. package/ts/src/frontDoor/render/tasks.ts +99 -0
  342. package/ts/src/frontDoor/render/tasksImportSync.ts +63 -0
  343. package/ts/src/frontDoor/render/week.ts +113 -0
  344. package/ts/src/frontDoor/routing.ts +1001 -0
  345. package/ts/src/frontDoor/runtimeRoute.ts +623 -0
  346. package/ts/src/frontDoor/searchRoute.ts +166 -0
  347. package/ts/src/frontDoor/seedPaths.ts +98 -0
  348. package/ts/src/frontDoor/sessionStartWelcomeRoute.ts +166 -0
  349. package/ts/src/frontDoor/soulRoute.ts +433 -0
  350. package/ts/src/frontDoor/stdinSource.ts +37 -0
  351. package/ts/src/frontDoor/tasksImportSyncRoute.ts +110 -0
  352. package/ts/src/frontDoor/tasksWriteRoute.ts +101 -0
  353. package/ts/src/frontDoor/usage.ts +176 -0
  354. package/ts/src/guards/claudePlugin.ts +298 -0
  355. package/ts/src/guards/packContents.ts +306 -0
  356. package/ts/src/guards/piSourcedSkills.ts +70 -0
  357. package/ts/src/guards/retiredRouteShadows.ts +57 -0
  358. package/ts/src/guards/retiredSurfaces.ts +564 -0
  359. package/ts/src/hooks/claude.ts +214 -0
  360. package/ts/src/hooks/codex.ts +45 -0
  361. package/ts/src/hooks/gemini.ts +126 -0
  362. package/ts/src/hooks/main.ts +109 -0
  363. package/ts/src/hooks/mirrorState.ts +71 -0
  364. package/ts/src/hooks/payload.ts +73 -0
  365. package/ts/src/hooks/runtime.ts +179 -0
  366. package/ts/src/hooks/runtimeDetection.ts +34 -0
  367. package/ts/src/identity/applyConsolidationIdentityUpdate.ts +67 -0
  368. package/ts/src/identity/descriptorGenerate.ts +162 -0
  369. package/ts/src/identity/identityEdit.ts +143 -0
  370. package/ts/src/identity/identityKey.ts +77 -0
  371. package/ts/src/identity/identityRead.ts +69 -0
  372. package/ts/src/identity/identityStore.ts +80 -0
  373. package/ts/src/identity/journeyListing.ts +53 -0
  374. package/ts/src/identity/personaInspect.ts +44 -0
  375. package/ts/src/identity/personaListing.ts +37 -0
  376. package/ts/src/identity/setIdentity.ts +64 -0
  377. package/ts/src/index.ts +231 -0
  378. package/ts/src/init/init.ts +111 -0
  379. package/ts/src/journey/journeyOptions.ts +131 -0
  380. package/ts/src/journey/journeyRemoval.ts +158 -0
  381. package/ts/src/journey/journeyStatus.ts +149 -0
  382. package/ts/src/journey/journeySyncFile.ts +87 -0
  383. package/ts/src/journey/journeyWrite.ts +203 -0
  384. package/ts/src/journey/parentJourney.ts +41 -0
  385. package/ts/src/journey/validateParentJourney.ts +55 -0
  386. package/ts/src/mcp/boundary.ts +151 -0
  387. package/ts/src/mcp/guards.ts +244 -0
  388. package/ts/src/mcp/main.ts +121 -0
  389. package/ts/src/mcp/payload.ts +141 -0
  390. package/ts/src/mcp/protocol.ts +141 -0
  391. package/ts/src/mcp/readModels.ts +241 -0
  392. package/ts/src/mcp/registry.ts +201 -0
  393. package/ts/src/mcp/serve.ts +120 -0
  394. package/ts/src/mcp/tools/deterministic.ts +137 -0
  395. package/ts/src/mcp/tools/providerCrossing.ts +187 -0
  396. package/ts/src/mcp/wire.ts +8 -0
  397. package/ts/src/memory/journal.ts +180 -0
  398. package/ts/src/memory/listing.ts +107 -0
  399. package/ts/src/memory/memoryWrite.ts +88 -0
  400. package/ts/src/memory/reinforcement.ts +35 -0
  401. package/ts/src/mirror/context.ts +161 -0
  402. package/ts/src/mirror/defaultResolution.ts +199 -0
  403. package/ts/src/mirror/mirrorForm.ts +43 -0
  404. package/ts/src/mirror/orchestration.ts +364 -0
  405. package/ts/src/mirror/reception.ts +194 -0
  406. package/ts/src/mirror/render.ts +75 -0
  407. package/ts/src/mirror/runtimeSession.ts +205 -0
  408. package/ts/src/mode/operatingMode.ts +148 -0
  409. package/ts/src/observability/callOutcome.ts +115 -0
  410. package/ts/src/observability/inspectLedger.ts +329 -0
  411. package/ts/src/observability/ledgerHooks.ts +126 -0
  412. package/ts/src/observability/llmCalls.ts +154 -0
  413. package/ts/src/persona/detectPersona.ts +81 -0
  414. package/ts/src/planning/promptAssembly.ts +111 -0
  415. package/ts/src/planning/weekPending.ts +81 -0
  416. package/ts/src/planning/weekPlan.ts +183 -0
  417. package/ts/src/planning/weekSave.ts +117 -0
  418. package/ts/src/providers/config.ts +189 -0
  419. package/ts/src/providers/cost.ts +64 -0
  420. package/ts/src/providers/credits.ts +204 -0
  421. package/ts/src/providers/embedding.ts +321 -0
  422. package/ts/src/providers/familyProviders.ts +147 -0
  423. package/ts/src/providers/llm.ts +334 -0
  424. package/ts/src/providers/openrouter.ts +244 -0
  425. package/ts/src/providers/redaction.ts +110 -0
  426. package/ts/src/providers/replay.ts +15 -0
  427. package/ts/src/providers/transport.ts +410 -0
  428. package/ts/src/repair/encodingRepair.ts +253 -0
  429. package/ts/src/runtime/backup.ts +151 -0
  430. package/ts/src/runtime/channel.ts +146 -0
  431. package/ts/src/runtime/config.ts +168 -0
  432. package/ts/src/runtime/diagnose.ts +686 -0
  433. package/ts/src/runtime/git.ts +510 -0
  434. package/ts/src/runtime/installKind.ts +220 -0
  435. package/ts/src/runtime/migrate.ts +154 -0
  436. package/ts/src/runtime/packageIdentity.ts +102 -0
  437. package/ts/src/runtime/releaseNotes.ts +244 -0
  438. package/ts/src/runtime/status.ts +557 -0
  439. package/ts/src/runtime/strategies/clone.ts +200 -0
  440. package/ts/src/runtime/strategies/package.ts +328 -0
  441. package/ts/src/runtime/treeRoot.ts +30 -0
  442. package/ts/src/runtime/update.ts +445 -0
  443. package/ts/src/runtime/updateGate.ts +40 -0
  444. package/ts/src/runtime/updatePipeline.ts +159 -0
  445. package/ts/src/runtime/version.ts +36 -0
  446. package/ts/src/runtime/wiring.ts +130 -0
  447. package/ts/src/search/memorySearch.ts +338 -0
  448. package/ts/src/search/ranker.ts +154 -0
  449. package/ts/src/seed/seed.ts +256 -0
  450. package/ts/src/seed/seedYaml.ts +133 -0
  451. package/ts/src/soul/apply.ts +218 -0
  452. package/ts/src/soul/harvest.ts +267 -0
  453. package/ts/src/soul/prompts/soul_beauty_voice.md +103 -0
  454. package/ts/src/soul/prompts/soul_self_voice.md +219 -0
  455. package/ts/src/soul/prompts/soul_wisdom_voice.md +121 -0
  456. package/ts/src/soul/prompts.ts +85 -0
  457. package/ts/src/soul/render.ts +358 -0
  458. package/ts/src/soul/state.ts +212 -0
  459. package/ts/src/soul/transition.ts +37 -0
  460. package/ts/src/tasks/journeyPathParse.ts +113 -0
  461. package/ts/src/tasks/taskImportSync.ts +142 -0
  462. package/ts/src/tasks/taskStore.ts +312 -0
  463. package/ts/src/tasks/weekView.ts +120 -0
  464. package/ts/src/util/clipCodePoints.ts +26 -0
  465. package/ts/src/util/paths.ts +63 -0
  466. package/ts/src/util/program.ts +9 -0
  467. package/ts/src/util/pyGenerators.ts +144 -0
  468. package/ts/src/util/pythonText.ts +317 -0
  469. package/ts/src/util/semver.ts +45 -0
  470. package/ts/src/util/shellWord.ts +25 -0
  471. package/ts/src/util/slug.ts +64 -0
  472. package/ts/src/welcome/card.ts +339 -0
  473. package/ts/src/welcome/statusLine.ts +101 -0
  474. package/ts/src/welcome/updateCache.ts +129 -0
@@ -0,0 +1,112 @@
1
+ ---
2
+ name: "mm-consolidate"
3
+ description: Scans memories for recurring patterns and proposes consolidation (merge, identity update, or shadow candidate)
4
+ user-invocable: true
5
+ ---
6
+
7
+ # mm-consolidate
8
+
9
+ Consolidation as integration — the operation that promotes raw extracted memories into
10
+ structural identity content (CV7.E4.S3).
11
+
12
+ Memories accumulate over time. Patterns repeat. The same insight lands in five conversations
13
+ as five isolated memories, none of which reaches the identity layer where it could actually
14
+ change how the mirror responds. Consolidation is the bridge. This skill surfaces those
15
+ clusters, proposes a structural move, and waits for explicit acknowledgment before writing
16
+ anything.
17
+
18
+ **Promotion mechanism: manual-by-acknowledgment.** The scan is automatic; the promotion is not.
19
+ Every proposal must be reviewed and accepted (or rejected) before it changes the database.
20
+ This is intentional — identity updates are meaningful acts.
21
+
22
+ ---
23
+
24
+ ## Usage
25
+
26
+ ```
27
+ /mm-consolidate [--journey <slug>] [--layer <layer>] [--limit <n>]
28
+ /mm-consolidate apply <proposal_id>
29
+ /mm-consolidate reject <proposal_id>
30
+ /mm-consolidate list [--status pending|accepted|rejected]
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 1. Scan for proposals
36
+
37
+ > The scan answers from TypeScript against the live provider (CV22.DS8.TS2). Each cluster is one model call bounded by the extraction timeout (`MEMORY_LLM_TIMEOUT_EXTRACTION`, 60 s) with bounded retries, and every successful call leaves a priced `llm_calls` row before its proposal is parsed. A call that fails is logged by class (`outcome=transport_failed kind=…`) in `front-door.log` beside the database.
38
+
39
+ ```bash
40
+ mirror consolidate scan \
41
+ [--journey <slug>] \
42
+ [--layer <layer>] \
43
+ [--limit 5] \
44
+ [--threshold 0.75]
45
+ ```
46
+
47
+ This clusters semantically similar memories and calls the LLM to propose one of:
48
+ - **merge**: distill a redundant cluster into one sharper memory
49
+ - **identity_update**: encode a persistent pattern into an identity layer (ego/behavior, etc.)
50
+ - **shadow_candidate**: mark a tension/avoidance cluster for the mm-shadow pass
51
+
52
+ Each proposal is printed and stored with `status='pending'`.
53
+
54
+ **Default filters:** no journey or layer filter (all memories). Threshold 0.75. Limit 5 proposals.
55
+
56
+ ---
57
+
58
+ ## 2. Present each proposal to the user
59
+
60
+ For each proposal, show:
61
+ - The source memories (title, type, date)
62
+ - The proposed action and target (if identity_update: which layer/key)
63
+ - The rationale
64
+ - The proposed content
65
+
66
+ Ask: **accept as-is / edit / reject?**
67
+
68
+ ---
69
+
70
+ ## 3. Apply or reject
71
+
72
+ **Accept as-is:**
73
+ ```bash
74
+ mirror consolidate apply <proposal_id>
75
+ ```
76
+
77
+ **Accept with edited content:**
78
+ ```bash
79
+ mirror consolidate apply <proposal_id> \
80
+ --content "User-revised version of the proposed content"
81
+ ```
82
+
83
+ **Reject:**
84
+ ```bash
85
+ mirror consolidate reject <proposal_id>
86
+ ```
87
+
88
+ What happens on acceptance:
89
+ - **merge**: creates a merged memory; source memories advance to `integrated`
90
+ - **identity_update**: appends to the identity layer; source memories advance to `acknowledged`
91
+ - **shadow_candidate**: source memories advance to `candidate` for the next mm-shadow pass
92
+
93
+ Rejected proposals leave source memories unchanged.
94
+
95
+ ---
96
+
97
+ ## 4. List consolidation history
98
+
99
+ ```bash
100
+ mirror consolidate list [--status pending|accepted|rejected] [--limit 20]
101
+ ```
102
+
103
+ ---
104
+
105
+ ## Notes
106
+
107
+ - The skill uses the same model as extraction (Gemini Flash via OpenRouter). LLM calls are
108
+ logged to `llm_calls` when `MEMORY_LOG_LLM_CALLS=1`.
109
+ - Proposal IDs can be abbreviated to their first 8 characters.
110
+ - Memories with `readiness_state='integrated'` are excluded from clustering.
111
+ - Run with `--threshold 0.65` to surface more (and looser) clusters; raise to `0.85` for tighter ones.
112
+ - For shadow-specific work, use `mm-shadow` (CV7.E4.S4) after candidates are established.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: "mm-consult"
3
+ description: Asks other LLMs through OpenRouter with Mirror identity context
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Consult
8
+
9
+ Sends prompts with Mirror identity context to other models through OpenRouter.
10
+
11
+ ## Syntax
12
+
13
+ ```
14
+ /mm-consult <family> [tier] ["question"]
15
+ /mm-consult credits
16
+ ```
17
+
18
+ - **family:** `gemini`, `grok`, `deepseek`, `openai`, `claude`, `llama`, or a direct model ID
19
+ - **tier:** `lite` (default), `mid`, `flagship`
20
+ - **question present:** send it directly
21
+ - **question missing:** synthesize the current conversation and create the prompt
22
+
23
+ ## Flow
24
+
25
+ > The model call answers from TypeScript, bounded by the extraction timeout (`MEMORY_LLM_TIMEOUT_EXTRACTION`, 60 s) with bounded retries. (The 10-minute ceiling CR072 added applied only to the Python engine, which is gone.)
26
+
27
+ ### Explicit Question
28
+
29
+ Analyze the message to determine persona and journey using Mirror routing.
30
+
31
+ ```bash
32
+ mirror consult FAMILY TIER "QUESTION" \
33
+ [--persona PERSONA] [--journey JOURNEY] [--org]
34
+ ```
35
+
36
+ **Examples:**
37
+ - `/mm-consult gemini lite "draft an opening for this article"` → `mirror consult gemini lite "draft an opening for this article" --persona writer`
38
+ - `/mm-consult deepseek "is this design overengineered?"` → `mirror consult deepseek "is this design overengineered?" --persona engineer`
39
+
40
+ The script prints the response, cost, and balance. Always show the complete response to the user without summarizing or omitting it.
41
+
42
+ ### No Question
43
+
44
+ When the user omits the question, synthesize Mirror Mode content (reflection, strategy, content — not Builder Mode code or architecture) into a self-contained prompt, then call:
45
+
46
+ ```bash
47
+ mirror consult FAMILY TIER "SYNTHESIZED_PROMPT" \
48
+ [--persona PERSONA] [--journey JOURNEY] [--org]
49
+ ```
50
+
51
+ The synthesized prompt must be self-contained — the external LLM has no access to the conversation.
52
+
53
+ ## Credits
54
+
55
+ ```bash
56
+ mirror consult credits
57
+ ```
58
+
59
+ Shows OpenRouter usage and remaining balance.
60
+
61
+ ## Available Families And Tiers
62
+
63
+ | Family | Lite | Mid | Flagship |
64
+ |---------|------|-----|----------|
65
+ | gemini | gemini-2.5-flash-lite | gemini-2.5-flash | gemini-2.5-pro |
66
+ | grok | grok-3-mini | grok-3 | grok-4.1-fast |
67
+ | deepseek | deepseek-chat | deepseek-v3.2 | deepseek-r1 |
68
+ | openai | gpt-5.4-nano | gpt-5.4-mini | gpt-5.4 |
69
+ | claude | haiku-4.5 | sonnet-4.6 | opus-4.6 |
70
+ | llama | llama-3.3-70b-instruct | llama-4-scout | llama-4-maverick |
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: "mm-conversations"
3
+ description: Lists recent conversations from the memory database
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Conversations
8
+
9
+ When receiving `/mm-conversations [--limit N] [--journey SLUG] [--persona NAME]`: the plain
10
+ listing is answered by the TS core (CV22.DS7.US1).
11
+
12
+ ```bash
13
+ mirror conversations [args]
14
+ ```
15
+
16
+ Present the output to the user without modification.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: "mm-discard"
3
+ description: Discards the current runtime conversation from the Mirror database before quitting
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Discard Current Conversation
8
+
9
+ Use when the user wants to quit a test session without keeping the current
10
+ conversation in the Mirror database.
11
+
12
+ Natural language examples:
13
+
14
+ ```text
15
+ sair descartando esta conversa
16
+ fechar sem salvar esta conversa
17
+ quit and discard this conversation
18
+ ```
19
+
20
+ ## 1. Discard Current Conversation
21
+
22
+ Run:
23
+
24
+ ```bash
25
+ mirror conversation-logger discard-current --interface pi
26
+ ```
27
+
28
+ The command deletes the current conversation and marks the runtime session so the
29
+ assistant confirmation is not logged as a new conversation.
30
+
31
+ ## 2. Tell the User to Quit
32
+
33
+ After the command succeeds, answer briefly:
34
+
35
+ ```text
36
+ Conversa atual descartada do banco. Pode sair com /quit.
37
+ ```
38
+
39
+ Do not call `mirror log` for this skill.
@@ -0,0 +1,255 @@
1
+ ---
2
+ name: "mm-explore"
3
+ description: Activates Explorer Mode for a journey and loads exploratory context
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Explorer Mode
8
+
9
+ Activates Explorer Mode for a specific journey. Explorer Mode is a Mirror-native
10
+ lens for uncertainty before construction.
11
+
12
+ Explorer Mode is active and supports durable exploration, story thickening,
13
+ attractors, experiment proposals, and Builder handoff.
14
+
15
+ ## Usage
16
+
17
+ Pi and Gemini CLI:
18
+
19
+ ```text
20
+ /mm-explore <journey-slug>
21
+ ```
22
+
23
+ Codex:
24
+
25
+ ```text
26
+ $mm-explore <journey-slug>
27
+ ```
28
+
29
+ Claude Code:
30
+
31
+ ```text
32
+ /mm:explore <journey-slug>
33
+ ```
34
+
35
+ Natural-language equivalents should be treated as the product interface:
36
+
37
+ ```text
38
+ entrar em modo explorador nesta jornada
39
+ abrir exploração em <journey-slug>
40
+ ```
41
+
42
+ ## 1. Activate Explorer Mode
43
+
44
+ ```bash
45
+ mirror explore load <slug>
46
+ ```
47
+
48
+ The command:
49
+
50
+ - activates `△ Explorer Mode` for the journey;
51
+ - renders the Mode Transition Surface (`△ EXPLORER MODE ACTIVE`);
52
+ - sets the journey as sticky context;
53
+ - loads Mirror identity and journey context;
54
+ - resumes the active durable Exploratory Story when one exists;
55
+ - renders `△ EXPLORATORY STORY RESUMED` when resuming;
56
+ - prints Explorer Mode guidance with the active Explorer capability boundary.
57
+
58
+ ## 1.1 Required Surface Rendering
59
+
60
+ The `explore load` output includes the conversational transition surface. Render
61
+ that surface visibly to the user before continuing with exploratory work. Do not
62
+ recreate it from scratch unless the command failed to render it; copy the
63
+ rendered surface from the command output.
64
+
65
+ After any `mirror explore story ...` command that returns a
66
+ Mirror surface, paste the returned surface as the first visible block in the
67
+ response. Do not summarize, interpret, or paraphrase before rendering it.
68
+
69
+ Some Explorer story commands wrap required product surfaces with machine-readable
70
+ contract markers:
71
+
72
+ ```text
73
+ [[MIRROR_REQUIRED_SURFACE_BEGIN:<surface-id>]]
74
+ ...
75
+ [[MIRROR_REQUIRED_SURFACE_END:<surface-id>]]
76
+ ```
77
+
78
+ When markers are present, render the marked `Mirror` surface content first and do
79
+ not render the marker lines themselves. The markers are a runtime contract, not
80
+ user-facing product copy.
81
+
82
+ For `story open`, `story thicken`, `story snapshot`, `story attractors`, `story
83
+ experiment`, `story list`, `story archive`, and `story handoff`, the returned
84
+ `△ ...` surface is the primary response. Render it before commentary. Commentary
85
+ may follow only after the surface is visible.
86
+
87
+ ## 2. Work In Explorer Mode
88
+
89
+ Explorer Mode is active and supports durable exploration, story thickening,
90
+ attractors, experiment proposals, and Builder handoff.
91
+
92
+ Explorer preserves uncertainty. Builder executes commitment.
93
+
94
+ While Explorer Mode is active:
95
+
96
+ - Treat new substantive material as part of the current Exploratory Story unless the user asks for a clear operational action.
97
+ - Preserve tensions, hypotheses, corrections, and emerging story shape.
98
+ - When an Exploratory Story begins, open it with:
99
+
100
+ ```bash
101
+ mirror explore story open <slug> --story "..." --summary "..." --last-card "..."
102
+ ```
103
+
104
+ - Before calling `story thicken`, classify the change as either `narrative/substantive` or `local/refinement`.
105
+
106
+ - When material substantively changes the accumulated Exploratory Story, thicken it with:
107
+
108
+ ```bash
109
+ mirror explore story thicken <slug> --story "..." --summary "..." --last-card "..." --changed "..."
110
+ ```
111
+
112
+ Use `story thicken` for:
113
+
114
+ - new or changed attractor;
115
+ - new or changed exploratory hypothesis;
116
+ - new or changed ritual, voice, scope, or product concept;
117
+ - changed experiment or promotion boundary;
118
+ - meaningful correction to the narrative arc.
119
+
120
+ Do not use `story thicken` for local refinements:
121
+
122
+ - icon choice;
123
+ - microcopy;
124
+ - wording polish;
125
+ - visual label changes;
126
+ - surface formatting;
127
+ - small naming adjustments that do not change the story;
128
+ - conversational elaboration of an already captured idea.
129
+
130
+ For local refinements, continue the conversation without updating the story. If uncertain, ask the user whether to preserve the change in the Exploratory Story.
131
+
132
+ - When the user asks for the attractor, or when a strong directional pull should be proposed visibly, render attractors with:
133
+
134
+ ```bash
135
+ mirror explore story attractors <slug> --attractor "..." --description "..." --status proposed
136
+ ```
137
+
138
+ - When the user corrects an attractor, replace it with the corrected attractor using the same command. Do not accumulate hidden competing interpretations.
139
+ - When the user asks what small experiment tests the attractor, render an experiment proposal with:
140
+
141
+ ```bash
142
+ mirror explore story experiment <slug> --title "..." --description "..." --status proposed
143
+ ```
144
+
145
+ - When the user asks what is currently being explored, render a snapshot with:
146
+
147
+ ```bash
148
+ mirror explore story snapshot <slug>
149
+ ```
150
+
151
+ - When the user asks to see explorations for the active journey, render durable story visibility with:
152
+
153
+ ```bash
154
+ mirror explore story list <slug>
155
+ ```
156
+
157
+ - When the user asks to archive or close the active exploration without promoting it, archive the active story with:
158
+
159
+ ```bash
160
+ mirror explore story archive <slug>
161
+ ```
162
+
163
+ - Render the story surface returned by those commands visibly to the user.
164
+ - Do not promote to Builder or Delivery without explicit user confirmation.
165
+
166
+ ## 2.1 Operational Boundary
167
+
168
+ Explorer Mode must not directly execute clear operational mutation requests.
169
+ When the user asks to edit files, apply a procedure to documents, create code,
170
+ run implementation commands, mutate roadmap/docs/code, or otherwise change
171
+ project state, do not call Explorer story commands and do not mutate files.
172
+
173
+ Instead, name the boundary visibly and ask whether to switch to Builder Mode for
174
+ the same journey. Use this response shape:
175
+
176
+ ```text
177
+ △ EXPLORER → BUILDER BOUNDARY
178
+
179
+ This is operational Builder work, not exploratory thickening. Explorer preserves uncertainty; Builder executes commitment. I can switch to Builder Mode for <slug> and do this there.
180
+ ```
181
+
182
+ Only after the user confirms the switch should Mirror activate Builder Mode with:
183
+
184
+ ```bash
185
+ mirror build load <slug>
186
+ ```
187
+
188
+ Local refinements to the exploration itself, such as microcopy discussion,
189
+ labels, wording, icons, or formatting, remain conversational unless the user
190
+ explicitly asks to preserve them in the Exploratory Story.
191
+
192
+ ## 3. Deactivation
193
+
194
+ The user should use natural language:
195
+
196
+ ```text
197
+ sair do modo explorador
198
+ voltar ao modo normal
199
+ ```
200
+
201
+ Mirror should then call the contained Explorer operation:
202
+
203
+ ```bash
204
+ mirror explore deactivate
205
+ ```
206
+
207
+ Render the deactivation confirmation visibly to the user. Deactivation leaves the
208
+ explicit Explorer lens and returns to Mirror Mode when journey context remains
209
+ active. It does not clear sticky journey context or promote the exploration to
210
+ Builder. Rendering and clearing the status bar are internal effects, not
211
+ user-facing operations.
212
+
213
+ ## 4. Promotion Boundary
214
+
215
+ When the user says:
216
+
217
+ ```text
218
+ promover essa exploração para construção
219
+ promover para builder
220
+ isso já está pronto para virar Builder?
221
+ ```
222
+
223
+ Do not switch to Builder silently. First produce a transfer document set and
224
+ render the handoff proposal. If the user asks to include source conversations,
225
+ confirm which conversations should be included before adding raw source evidence.
226
+ When the user names the current or recent conversation rather than an id, inspect
227
+ recent journey conversations with `mirror conversations --journey
228
+ <slug> --limit 5`, show the candidate source evidence, and ask for confirmation.
229
+ Use `--source-conversation <conversation-id>` for reviewed source evidence. Use
230
+ `--include-full-conversation` only after explicit confirmation that raw
231
+ conversation evidence should be written with privacy obfuscation.
232
+
233
+ ```bash
234
+ mirror explore story handoff <slug> --title "..." --summary "..." --editorial-synthesis "..." --source-conversation "<conversation-id>:origin conversation" --include-full-conversation
235
+ ```
236
+
237
+ Render `△ BUILDER HANDOFF PROPOSED` visibly, including the generated document
238
+ paths under `docs/project/explorations/<exploratory-story-slug>/` when available:
239
+
240
+ ```text
241
+ index.md
242
+ exploratory-story.md
243
+ handoff-info.md
244
+ product-design-proposal.md
245
+ full-conversation.md # only after explicit confirmation
246
+ ```
247
+
248
+ Ask for explicit confirmation. Only after the user confirms should Mirror call:
249
+
250
+ ```bash
251
+ mirror explore story promote <slug>
252
+ ```
253
+
254
+ Promotion activates Builder Mode through the normal Builder load path. If the
255
+ user does not confirm, remain in Explorer Mode and continue thickening the story.
@@ -0,0 +1,74 @@
1
+ ---
2
+ name: "mm-help"
3
+ description: Shows available Mirror Mind commands on Pi and Gemini CLI
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Help
8
+
9
+ Show the user the available commands (same on Pi and Gemini CLI):
10
+
11
+ ## Operating Modes
12
+
13
+ | Command | What it does |
14
+ |---------|-------------|
15
+ | `/mm-mirror` | Activates ◌ Mirror Mode |
16
+ | | `--persona ID` · `--journey ID` · `--query "terms"` · `--org` |
17
+ | `/mm-build <slug>` | Activates ■ Builder Mode for a journey |
18
+ | `/mm-explore <slug>` | Activates △ Explorer Mode for a journey |
19
+ | `/mm-soul [slug]` | Activates ☾ Soul Mode ritual entry |
20
+
21
+ ## Journeys
22
+
23
+ | Command | What it does |
24
+ |---------|-------------|
25
+ | `/mm-journeys` | Lists journeys with status and current stage |
26
+ | `/mm-journey [slug]` | Shows detailed status for one or all journeys |
27
+
28
+ ## Memories & Journal
29
+
30
+ | Command | What it does |
31
+ |---------|-------------|
32
+ | `/mm-memories` | Lists recorded memories |
33
+ | | `--type TYPE` · `--layer LAYER` · `--journey ID` · `--search "text"` · `--limit N` |
34
+ | `/mm-journal "text"` | Records a personal journal entry |
35
+ | | `--journey ID` |
36
+
37
+ ## Tasks
38
+
39
+ | Command | What it does |
40
+ |---------|-------------|
41
+ | `/mm-tasks` | Lists open tasks |
42
+ | | `--journey SLUG` · `--status STATUS` · `--all` |
43
+ | `/mm-tasks add "title"` | Creates a task |
44
+ | `/mm-tasks done ID` · `doing ID` · `block ID` · `delete ID` | Status changes |
45
+ | `/mm-tasks import [slug]` | Imports tasks from journey paths |
46
+ | `/mm-tasks sync [slug]` | Syncs tasks from external file |
47
+
48
+ ## Weekly Planning
49
+
50
+ | Command | What it does |
51
+ |---------|-------------|
52
+ | `/mm-week` | Shows the current week view |
53
+ | `/mm-week plan "text"` | Ingests a weekly plan |
54
+
55
+ ## Conversations & Logging
56
+
57
+ | Command | What it does |
58
+ |---------|-------------|
59
+ | `/mm-conversations` | Lists recent conversations |
60
+ | `/mm-recall ID` | Loads a previous conversation |
61
+ | `/mm-save` | Export conversation (Claude Code only — no Pi transcript) |
62
+ | `/mm-new` | Starts a new conversation |
63
+ | `/mm-discard` | Discards the current conversation from the database before quitting |
64
+ | `/mm-mute` | Toggles conversation logging |
65
+
66
+ ## System
67
+
68
+ | Command | What it does |
69
+ |---------|-------------|
70
+ | `/mm-backup` | Backs up the memory database |
71
+ | `/mm-seed` | Seeds identity files from the active user home into the database |
72
+ | `/mm-release-notes [latest|vX.Y.Z]` | Shows Mirror Mind release notes |
73
+ | `/mm-update` | Updates the local Mirror runtime through the safe updater |
74
+ | `/mm-help` | Shows this list |
@@ -0,0 +1,96 @@
1
+ ---
2
+ name: "mm-identity"
3
+ description: Read and update identity directly in the database
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Identity
8
+
9
+ After the initial seed, the database is the source of truth for identity.
10
+ Use these commands to inspect and edit identity directly — no YAML files needed.
11
+
12
+ ## Usage
13
+
14
+ ```
15
+ /mm-identity list [--layer LAYER]
16
+ /mm-identity get <layer> <key>
17
+ /mm-identity set <layer> <key> --content "..."
18
+ /mm-identity edit <layer> <key>
19
+ ```
20
+
21
+ ---
22
+
23
+ ## Subcommands
24
+
25
+ ### list
26
+
27
+ List all identity entries currently stored in the database. Answered by the TS core (CV22.DS7.US1).
28
+
29
+ ```bash
30
+ mirror identity list [--layer LAYER] [--mirror-home PATH]
31
+ ```
32
+
33
+ **Examples:**
34
+ - `mirror identity list` — all entries
35
+ - `mirror identity list --layer ego` — only ego layer
36
+
37
+ Layers: `self`, `ego`, `user`, `organization`, `persona`, `journey`, `journey_path`
38
+
39
+ ---
40
+
41
+ ### get
42
+
43
+ Print the full content of one identity entry. Answered by the TS core (CV22.DS7.US1).
44
+
45
+ ```bash
46
+ mirror identity get <layer> <key> [--mirror-home PATH]
47
+ ```
48
+
49
+ **Examples:**
50
+ - `mirror identity get ego behavior`
51
+ - `mirror identity get self soul`
52
+ - `mirror identity get persona engineer`
53
+
54
+ ---
55
+
56
+ ### set
57
+
58
+ Update identity content directly in the database.
59
+
60
+ ```bash
61
+ mirror identity set <layer> <key> --content "..." [--mirror-home PATH]
62
+ ```
63
+
64
+ If `--content` is omitted, content is read from stdin.
65
+
66
+ A new `journey` or `persona` key must be kebab-case: lowercase letters, digits,
67
+ and single hyphens, up to 80 characters, such as `product-launch`. Agents put
68
+ these keys into commands, so `set` and `edit` refuse any other new key and name
69
+ one that would work. A key created before this rule keeps working.
70
+
71
+ **Examples:**
72
+ - `mirror identity set ego behavior --content "Be direct."`
73
+ - `cat new-soul.md | mirror identity set self soul`
74
+
75
+ ---
76
+
77
+ ### edit
78
+
79
+ Open the current content in `$EDITOR`, edit it, and save back to the database on close.
80
+
81
+ ```bash
82
+ mirror identity edit <layer> <key> [--mirror-home PATH]
83
+ ```
84
+
85
+ **Examples:**
86
+ - `mirror identity edit ego behavior`
87
+ - `mirror identity edit self soul`
88
+ - `mirror identity edit persona engineer`
89
+
90
+ If no changes are detected, nothing is written. If the file is left empty, the edit is aborted.
91
+
92
+ ---
93
+
94
+ ## When receiving `/mm-identity [subcommand] [args]`
95
+
96
+ Run the corresponding command above and present the output to the user.
@@ -0,0 +1,16 @@
1
+ ---
2
+ name: "mm-journal"
3
+ description: Records a personal journal entry in the memory database
4
+ user-invocable: true
5
+ ---
6
+
7
+ # Journal
8
+
9
+ When receiving `/mm-journal "entry text" [--journey SLUG]`:
10
+
11
+ ```bash
12
+ mirror journal "entry text" [--journey SLUG]
13
+ ```
14
+
15
+ The script records the entry, classifies it into a memory layer, and prints the result.
16
+ Present the output to the user without modification.