mia-code 0.2.0 → 0.3.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 (410) hide show
  1. package/.miette/260321.md +1 -0
  2. package/.miette/260323.md +9 -0
  3. package/.miette/260331.md +2 -0
  4. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--d3417f2c-df12-4f0f-8a1b-d88e7968f822/d3417f2c-df12-4f0f-8a1b-d88e7968f822.md +63 -0
  5. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--e6c3fc5d-4a70-4523-ba7d-a3250da4c235/e6c3fc5d-4a70-4523-ba7d-a3250da4c235.md +72 -0
  6. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/2604020008--efeb00a2-b17a-4d32-b1f0-b90c37a8d24e/efeb00a2-b17a-4d32-b1f0-b90c37a8d24e.md +62 -0
  7. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.json +302 -0
  8. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/83a2d7f9-24a5-4cf4-98d5-036c82f872e8.md +149 -0
  9. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/AGENTS.md +31 -0
  10. package/.pde/2604011511--83a2d7f9-24a5-4cf4-98d5-036c82f872e8/meta-decomposition-3-children.md +67 -0
  11. package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/61f9dd4d-7aa6-45e6-a58b-e480b1aa6737--from-mia-openclaw-workspace.md +125 -0
  12. package/.pde/2604040129--61f9dd4d-7aa6-45e6-a58b-e480b1aa6737/STATUS.md +1 -0
  13. package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.json +177 -0
  14. package/.pde/4f02ba94-9f52-422e-9389-b16f9b37f358.md +77 -0
  15. package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.json +222 -0
  16. package/.pde/6ad9244d-5340-490f-b76c-c86728b9de52.md +99 -0
  17. package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.json +111 -0
  18. package/.pde/8b566792-ed15-4606-96f9-2b6f593d7e6b.md +67 -0
  19. package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.json +349 -0
  20. package/.pde/c7f1e74b-05a5-40e2-9f01-4cc48d2528f7.md +147 -0
  21. package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.json +118 -0
  22. package/.pde/dfc00a78-1da0-4c09-8a16-c6982644051b.md +64 -0
  23. package/GUILLAUME.md +8 -0
  24. package/KINSHIP.md +9 -0
  25. package/MIA_CODE_ARCHITECTURE_REPORT.md +718 -0
  26. package/contextual_research/260119-MIA-CODE--98090899-8aff-4e11-9dc3-8b99466d1.md +1101 -0
  27. package/contextual_research/MIA.md +38 -0
  28. package/contextual_research/MIAWAPASCONE.md +59 -0
  29. package/contextual_research/MIETTE.md +38 -0
  30. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2504.00218v2.pdf +7483 -12
  31. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/2505.00212v3.pdf +0 -0
  32. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/CONTENT.md +1014 -0
  33. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/DESIGN.gemini.md +242 -0
  34. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/INDEX.md +45 -0
  35. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.md +2025 -0
  36. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2504.00218v2.pdf +7483 -12
  37. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.md +1755 -0
  38. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/2505.00212v3.pdf +0 -0
  39. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_12_decomposed_prompting.pdf +0 -0
  40. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_19_hugginggpt_planning.pdf +0 -0
  41. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.md +766 -0
  42. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_1_coordination_challenges.pdf +3431 -4
  43. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.md +260 -0
  44. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_28_guardrails_multi_agent.pdf +0 -0
  45. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.md +558 -0
  46. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_2_navigating_complexity.pdf +0 -0
  47. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_34_hierarchical_multi_agent.pdf +0 -0
  48. package/contextual_research/PDE-generalization--caefee82-efb1-4dbb-8733-691b01581464--260130/sources/footnote_1_5_open_intent_extraction.pdf +0 -0
  49. package/contextual_research/PODCAST.md +109 -0
  50. package/contextual_research/langchain-principles-roadmap.md +157 -0
  51. package/contextual_research/persona-to-narrative-character-inquiry_260201.md +50 -0
  52. package/dist/cli.js +35 -11
  53. package/dist/geminiHeadless.js +8 -2
  54. package/dist/index.js +2 -1
  55. package/dist/mcp/miaco-server.js +10 -1
  56. package/dist/mcp/miatel-server.js +10 -1
  57. package/dist/mcp/miawa-server.js +10 -1
  58. package/dist/mcp/utils.d.ts +6 -1
  59. package/dist/mcp/utils.js +24 -3
  60. package/dist/sessionStore.d.ts +8 -2
  61. package/dist/sessionStore.js +39 -3
  62. package/dist/types.d.ts +1 -0
  63. package/miaco/README.md +124 -0
  64. package/miaco/dist/commands/chart.d.ts +6 -0
  65. package/miaco/dist/commands/chart.d.ts.map +1 -0
  66. package/miaco/dist/commands/chart.js +222 -0
  67. package/miaco/dist/commands/chart.js.map +1 -0
  68. package/miaco/dist/commands/decompose.d.ts +6 -0
  69. package/miaco/dist/commands/decompose.d.ts.map +1 -0
  70. package/miaco/dist/commands/decompose.js +98 -0
  71. package/miaco/dist/commands/decompose.js.map +1 -0
  72. package/miaco/dist/commands/schema.d.ts +6 -0
  73. package/miaco/dist/commands/schema.d.ts.map +1 -0
  74. package/miaco/dist/commands/schema.js +66 -0
  75. package/miaco/dist/commands/schema.js.map +1 -0
  76. package/miaco/dist/commands/stc.d.ts +11 -0
  77. package/miaco/dist/commands/stc.d.ts.map +1 -0
  78. package/miaco/dist/commands/stc.js +590 -0
  79. package/miaco/dist/commands/stc.js.map +1 -0
  80. package/miaco/dist/commands/trace.d.ts +6 -0
  81. package/miaco/dist/commands/trace.d.ts.map +1 -0
  82. package/miaco/dist/commands/trace.js +83 -0
  83. package/miaco/dist/commands/trace.js.map +1 -0
  84. package/miaco/dist/commands/validate.d.ts +6 -0
  85. package/miaco/dist/commands/validate.d.ts.map +1 -0
  86. package/miaco/dist/commands/validate.js +58 -0
  87. package/miaco/dist/commands/validate.js.map +1 -0
  88. package/miaco/dist/decompose.d.ts +93 -0
  89. package/miaco/dist/decompose.d.ts.map +1 -0
  90. package/miaco/dist/decompose.js +562 -0
  91. package/miaco/dist/decompose.js.map +1 -0
  92. package/miaco/dist/index.d.ts +18 -0
  93. package/miaco/dist/index.d.ts.map +1 -0
  94. package/miaco/dist/index.js +83 -0
  95. package/miaco/dist/index.js.map +1 -0
  96. package/miaco/dist/storage.d.ts +60 -0
  97. package/miaco/dist/storage.d.ts.map +1 -0
  98. package/miaco/dist/storage.js +100 -0
  99. package/miaco/dist/storage.js.map +1 -0
  100. package/miaco/package-lock.json +4103 -0
  101. package/miaco/package.json +40 -0
  102. package/miaco/tsconfig.json +18 -0
  103. package/miaco/version-patch-commit-and-publish.sh +1 -0
  104. package/miatel/MISSION_251231.md +3 -0
  105. package/miatel/README.md +107 -0
  106. package/miatel/dist/commands/analyze.d.ts +6 -0
  107. package/miatel/dist/commands/analyze.d.ts.map +1 -0
  108. package/miatel/dist/commands/analyze.js +100 -0
  109. package/miatel/dist/commands/analyze.js.map +1 -0
  110. package/miatel/dist/commands/arc.d.ts +6 -0
  111. package/miatel/dist/commands/arc.d.ts.map +1 -0
  112. package/miatel/dist/commands/arc.js +71 -0
  113. package/miatel/dist/commands/arc.js.map +1 -0
  114. package/miatel/dist/commands/beat.d.ts +6 -0
  115. package/miatel/dist/commands/beat.d.ts.map +1 -0
  116. package/miatel/dist/commands/beat.js +165 -0
  117. package/miatel/dist/commands/beat.js.map +1 -0
  118. package/miatel/dist/commands/theme.d.ts +6 -0
  119. package/miatel/dist/commands/theme.d.ts.map +1 -0
  120. package/miatel/dist/commands/theme.js +54 -0
  121. package/miatel/dist/commands/theme.js.map +1 -0
  122. package/miatel/dist/index.d.ts +18 -0
  123. package/miatel/dist/index.d.ts.map +1 -0
  124. package/miatel/dist/index.js +80 -0
  125. package/miatel/dist/index.js.map +1 -0
  126. package/miatel/dist/storage.d.ts +55 -0
  127. package/miatel/dist/storage.d.ts.map +1 -0
  128. package/miatel/dist/storage.js +100 -0
  129. package/miatel/dist/storage.js.map +1 -0
  130. package/miatel/package-lock.json +4103 -0
  131. package/miatel/package.json +35 -0
  132. package/miatel/src/commands/analyze.ts +109 -0
  133. package/miatel/src/commands/arc.ts +78 -0
  134. package/miatel/src/commands/beat.ts +176 -0
  135. package/miatel/src/commands/theme.ts +60 -0
  136. package/miatel/src/index.ts +94 -0
  137. package/miatel/src/storage.ts +156 -0
  138. package/miatel/tsconfig.json +18 -0
  139. package/miawa/MISSION_251231.md +144 -0
  140. package/miawa/README.md +133 -0
  141. package/miawa/dist/commands/beat.d.ts +6 -0
  142. package/miawa/dist/commands/beat.d.ts.map +1 -0
  143. package/miawa/dist/commands/beat.js +69 -0
  144. package/miawa/dist/commands/beat.js.map +1 -0
  145. package/miawa/dist/commands/ceremony.d.ts +6 -0
  146. package/miawa/dist/commands/ceremony.d.ts.map +1 -0
  147. package/miawa/dist/commands/ceremony.js +239 -0
  148. package/miawa/dist/commands/ceremony.js.map +1 -0
  149. package/miawa/dist/commands/circle.d.ts +6 -0
  150. package/miawa/dist/commands/circle.d.ts.map +1 -0
  151. package/miawa/dist/commands/circle.js +75 -0
  152. package/miawa/dist/commands/circle.js.map +1 -0
  153. package/miawa/dist/commands/eva.d.ts +6 -0
  154. package/miawa/dist/commands/eva.d.ts.map +1 -0
  155. package/miawa/dist/commands/eva.js +73 -0
  156. package/miawa/dist/commands/eva.js.map +1 -0
  157. package/miawa/dist/commands/wound.d.ts +6 -0
  158. package/miawa/dist/commands/wound.d.ts.map +1 -0
  159. package/miawa/dist/commands/wound.js +74 -0
  160. package/miawa/dist/commands/wound.js.map +1 -0
  161. package/miawa/dist/index.d.ts +19 -0
  162. package/miawa/dist/index.d.ts.map +1 -0
  163. package/miawa/dist/index.js +91 -0
  164. package/miawa/dist/index.js.map +1 -0
  165. package/miawa/dist/storage.d.ts +73 -0
  166. package/miawa/dist/storage.d.ts.map +1 -0
  167. package/miawa/dist/storage.js +100 -0
  168. package/miawa/dist/storage.js.map +1 -0
  169. package/miawa/package-lock.json +4103 -0
  170. package/miawa/package.json +36 -0
  171. package/miawa/src/commands/beat.ts +74 -0
  172. package/miawa/src/commands/ceremony.ts +256 -0
  173. package/miawa/src/commands/circle.ts +83 -0
  174. package/miawa/src/commands/eva.ts +84 -0
  175. package/miawa/src/commands/wound.ts +79 -0
  176. package/miawa/src/index.ts +108 -0
  177. package/miawa/src/storage.ts +179 -0
  178. package/miawa/tsconfig.json +18 -0
  179. package/package.json +7 -5
  180. package/references/acp/CLAUDE.md +7 -0
  181. package/references/acp/agent-plan.md +84 -0
  182. package/references/acp/clients.md +31 -0
  183. package/references/acp/extensibility.md +137 -0
  184. package/references/acp/initialization.md +225 -0
  185. package/references/acp/prompt-turn.md +321 -0
  186. package/references/acp/proxy-chains.md +562 -0
  187. package/references/acp/schema.md +3171 -0
  188. package/references/acp/session-list.md +334 -0
  189. package/references/acp/session-modes.md +170 -0
  190. package/references/acp/slash-commands.md +99 -0
  191. package/references/acp/terminals.md +281 -0
  192. package/references/acp/tool-calls.md +311 -0
  193. package/references/acp/typescript.md +29 -0
  194. package/references/claude/agent-teams.md +399 -0
  195. package/references/claude/chrome.md +231 -0
  196. package/references/claude/headless.md +158 -0
  197. package/references/claude/hooks-guide.md +708 -0
  198. package/references/claude/output-styles.md +112 -0
  199. package/references/claude/plugins.md +432 -0
  200. package/references/claude/skills.md +693 -0
  201. package/references/claude/sub-agents.md +816 -0
  202. package/references/copilot/acp/agents.md +32 -0
  203. package/references/copilot/acp/architecture.md +37 -0
  204. package/references/copilot/acp/clients.md +31 -0
  205. package/references/copilot/acp/introduction.md +42 -0
  206. package/references/copilot/acp/registry.md +339 -0
  207. package/references/copilot/acp-server.md +117 -0
  208. package/references/copilot/create-copilot-instructions.md +840 -0
  209. package/references/langchain/llms.txt +833 -0
  210. package/references/langchain/python/agents.md +677 -0
  211. package/references/langchain/python/context-engineering.md +1195 -0
  212. package/references/langchain/python/human-in-the-loop.md +326 -0
  213. package/references/langchain/python/long-term-memory.md +168 -0
  214. package/references/langchain/python/mcp.md +949 -0
  215. package/references/langchain/python/multi-agents/custom-workflow.md +187 -0
  216. package/references/langchain/python/multi-agents/handoffs.md +436 -0
  217. package/references/langchain/python/multi-agents/overview.md +295 -0
  218. package/references/langchain/python/multi-agents/router.md +150 -0
  219. package/references/langchain/python/multi-agents/skills.md +92 -0
  220. package/references/langchain/python/multi-agents/subagents.md +486 -0
  221. package/references/langchain/python/retrieval.md +320 -0
  222. package/references/langchain/python/runtime.md +141 -0
  223. package/references/langchain/python/short-term-memory.md +658 -0
  224. package/references/langchain/python/structured-output.md +712 -0
  225. package/references/langfuse/llms.txt +148 -0
  226. package/references/langgraph/javascript/llms.txt +275 -0
  227. package/references/skills/home.md +259 -0
  228. package/references/skills/integrate-skills.md +103 -0
  229. package/references/skills/specification.md +254 -0
  230. package/references/skills/what-are-skills.md +74 -0
  231. package/rispecs/README.md +164 -0
  232. package/rispecs/_sync_/miadi-code/SPEC.md +313 -0
  233. package/rispecs/_sync_/miadi-code/STATUS.md +177 -0
  234. package/rispecs/_sync_/miadi-code/dashboard/SPEC.md +465 -0
  235. package/rispecs/_sync_/miadi-code/dashboard/STATUS.md +212 -0
  236. package/rispecs/_sync_/miadi-code/multiline-input/SPEC.md +232 -0
  237. package/rispecs/_sync_/miadi-code/multiline-input/STATUS.md +108 -0
  238. package/rispecs/_sync_/miadi-code/pde/SPEC.md +253 -0
  239. package/rispecs/_sync_/miadi-code/pde/STATUS.md +56 -0
  240. package/rispecs/_sync_/miadi-code/stc/SPEC.md +397 -0
  241. package/rispecs/_sync_/miadi-code/stc/STATUS.md +70 -0
  242. package/rispecs/ava-langstack/inquiry-routing-upgrade.spec.md +119 -0
  243. package/rispecs/borrowed_from_opencode/001-client-server-architecture.rispec.md +98 -0
  244. package/rispecs/borrowed_from_opencode/002-event-bus-system.rispec.md +125 -0
  245. package/rispecs/borrowed_from_opencode/003-instance-state-pattern.rispec.md +136 -0
  246. package/rispecs/borrowed_from_opencode/004-namespace-module-pattern.rispec.md +151 -0
  247. package/rispecs/borrowed_from_opencode/005-zod-schema-validation.rispec.md +139 -0
  248. package/rispecs/borrowed_from_opencode/006-named-error-system.rispec.md +155 -0
  249. package/rispecs/borrowed_from_opencode/007-structured-logging.rispec.md +138 -0
  250. package/rispecs/borrowed_from_opencode/008-lazy-initialization.rispec.md +127 -0
  251. package/rispecs/borrowed_from_opencode/009-multi-agent-system.rispec.md +97 -0
  252. package/rispecs/borrowed_from_opencode/010-agent-definition-config.rispec.md +135 -0
  253. package/rispecs/borrowed_from_opencode/011-agent-permission-rulesets.rispec.md +151 -0
  254. package/rispecs/borrowed_from_opencode/012-agent-prompt-templates.rispec.md +141 -0
  255. package/rispecs/borrowed_from_opencode/013-agent-generation.rispec.md +142 -0
  256. package/rispecs/borrowed_from_opencode/014-plan-build-mode-toggle.rispec.md +155 -0
  257. package/rispecs/borrowed_from_opencode/015-subagent-task-delegation.rispec.md +146 -0
  258. package/rispecs/borrowed_from_opencode/016-agent-model-selection.rispec.md +151 -0
  259. package/rispecs/borrowed_from_opencode/017-compaction-agent.rispec.md +150 -0
  260. package/rispecs/borrowed_from_opencode/018-session-persistence.rispec.md +125 -0
  261. package/rispecs/borrowed_from_opencode/019-session-compaction.rispec.md +132 -0
  262. package/rispecs/borrowed_from_opencode/020-session-forking.rispec.md +134 -0
  263. package/rispecs/borrowed_from_opencode/021-session-revert-snapshot.rispec.md +135 -0
  264. package/rispecs/borrowed_from_opencode/022-session-sharing.rispec.md +165 -0
  265. package/rispecs/borrowed_from_opencode/023-session-summary-diffs.rispec.md +165 -0
  266. package/rispecs/borrowed_from_opencode/024-child-sessions.rispec.md +164 -0
  267. package/rispecs/borrowed_from_opencode/025-session-title-generation.rispec.md +162 -0
  268. package/rispecs/borrowed_from_opencode/026-message-parts-model.rispec.md +201 -0
  269. package/rispecs/borrowed_from_opencode/027-streaming-message-deltas.rispec.md +212 -0
  270. package/rispecs/borrowed_from_opencode/028-multi-provider-architecture.rispec.md +184 -0
  271. package/rispecs/borrowed_from_opencode/029-provider-authentication.rispec.md +225 -0
  272. package/rispecs/borrowed_from_opencode/030-model-registry.rispec.md +222 -0
  273. package/rispecs/borrowed_from_opencode/031-cost-tracking.rispec.md +243 -0
  274. package/rispecs/borrowed_from_opencode/032-provider-transform-pipeline.rispec.md +282 -0
  275. package/rispecs/borrowed_from_opencode/033-provider-sdk-abstraction.rispec.md +338 -0
  276. package/rispecs/borrowed_from_opencode/034-tool-registry.rispec.md +110 -0
  277. package/rispecs/borrowed_from_opencode/035-tool-context-injection.rispec.md +155 -0
  278. package/rispecs/borrowed_from_opencode/036-tool-output-truncation.rispec.md +138 -0
  279. package/rispecs/borrowed_from_opencode/037-batch-tool.rispec.md +129 -0
  280. package/rispecs/borrowed_from_opencode/038-multi-edit-tool.rispec.md +167 -0
  281. package/rispecs/borrowed_from_opencode/039-apply-patch-tool.rispec.md +161 -0
  282. package/rispecs/borrowed_from_opencode/040-code-search-tool.rispec.md +143 -0
  283. package/rispecs/borrowed_from_opencode/041-web-fetch-tool.rispec.md +131 -0
  284. package/rispecs/borrowed_from_opencode/042-web-search-tool.rispec.md +159 -0
  285. package/rispecs/borrowed_from_opencode/043-todo-tool.rispec.md +156 -0
  286. package/rispecs/borrowed_from_opencode/044-plan-mode-tool.rispec.md +139 -0
  287. package/rispecs/borrowed_from_opencode/045-task-tool.rispec.md +146 -0
  288. package/rispecs/borrowed_from_opencode/046-question-tool.rispec.md +170 -0
  289. package/rispecs/borrowed_from_opencode/047-external-directory-tool.rispec.md +166 -0
  290. package/rispecs/borrowed_from_opencode/048-file-read-write-tools.rispec.md +205 -0
  291. package/rispecs/borrowed_from_opencode/049-lsp-server-management.rispec.md +104 -0
  292. package/rispecs/borrowed_from_opencode/050-lsp-hover-completion.rispec.md +102 -0
  293. package/rispecs/borrowed_from_opencode/051-lsp-diagnostics.rispec.md +86 -0
  294. package/rispecs/borrowed_from_opencode/052-lsp-root-detection.rispec.md +109 -0
  295. package/rispecs/borrowed_from_opencode/053-remote-mcp-servers.rispec.md +119 -0
  296. package/rispecs/borrowed_from_opencode/054-mcp-oauth-flow.rispec.md +107 -0
  297. package/rispecs/borrowed_from_opencode/055-mcp-tool-conversion.rispec.md +118 -0
  298. package/rispecs/borrowed_from_opencode/056-mcp-connection-monitoring.rispec.md +106 -0
  299. package/rispecs/borrowed_from_opencode/057-local-mcp-servers.rispec.md +116 -0
  300. package/rispecs/borrowed_from_opencode/058-rich-tui.rispec.md +108 -0
  301. package/rispecs/borrowed_from_opencode/059-streaming-display.rispec.md +116 -0
  302. package/rispecs/borrowed_from_opencode/060-permission-prompts.rispec.md +130 -0
  303. package/rispecs/borrowed_from_opencode/061-session-navigation.rispec.md +155 -0
  304. package/rispecs/borrowed_from_opencode/062-syntax-highlighting.rispec.md +151 -0
  305. package/rispecs/borrowed_from_opencode/063-keybinding-system.rispec.md +181 -0
  306. package/rispecs/borrowed_from_opencode/064-multi-level-config.rispec.md +155 -0
  307. package/rispecs/borrowed_from_opencode/065-jsonc-config.rispec.md +190 -0
  308. package/rispecs/borrowed_from_opencode/066-config-env-variables.rispec.md +153 -0
  309. package/rispecs/borrowed_from_opencode/067-config-deep-merging.rispec.md +178 -0
  310. package/rispecs/borrowed_from_opencode/068-remote-org-config.rispec.md +183 -0
  311. package/rispecs/borrowed_from_opencode/069-config-markdown-frontmatter.rispec.md +206 -0
  312. package/rispecs/borrowed_from_opencode/070-managed-config-directory.rispec.md +232 -0
  313. package/rispecs/borrowed_from_opencode/071-plugin-architecture.rispec.md +104 -0
  314. package/rispecs/borrowed_from_opencode/072-plugin-hooks.rispec.md +123 -0
  315. package/rispecs/borrowed_from_opencode/073-plugin-auto-install.rispec.md +115 -0
  316. package/rispecs/borrowed_from_opencode/074-permission-system.rispec.md +133 -0
  317. package/rispecs/borrowed_from_opencode/075-git-worktree-management.rispec.md +126 -0
  318. package/rispecs/borrowed_from_opencode/076-snapshot-system.rispec.md +124 -0
  319. package/rispecs/borrowed_from_opencode/077-snapshot-diff.rispec.md +117 -0
  320. package/rispecs/borrowed_from_opencode/078-snapshot-restore.rispec.md +128 -0
  321. package/rispecs/borrowed_from_opencode/079-worktree-branch-naming.rispec.md +122 -0
  322. package/rispecs/borrowed_from_opencode/080-sqlite-storage.rispec.md +134 -0
  323. package/rispecs/borrowed_from_opencode/081-database-migrations.rispec.md +148 -0
  324. package/rispecs/borrowed_from_opencode/082-database-transactions.rispec.md +138 -0
  325. package/rispecs/borrowed_from_opencode/083-deferred-effects.rispec.md +148 -0
  326. package/rispecs/borrowed_from_opencode/084-permission-rules.rispec.md +123 -0
  327. package/rispecs/borrowed_from_opencode/085-permission-glob-patterns.rispec.md +113 -0
  328. package/rispecs/borrowed_from_opencode/086-permission-merging.rispec.md +134 -0
  329. package/rispecs/borrowed_from_opencode/087-permission-modes.rispec.md +145 -0
  330. package/rispecs/borrowed_from_opencode/088-http-api-server.rispec.md +165 -0
  331. package/rispecs/borrowed_from_opencode/089-openapi-spec-generation.rispec.md +164 -0
  332. package/rispecs/borrowed_from_opencode/090-websocket-support.rispec.md +136 -0
  333. package/rispecs/borrowed_from_opencode/091-sse-streaming.rispec.md +168 -0
  334. package/rispecs/borrowed_from_opencode/092-mdns-discovery.rispec.md +145 -0
  335. package/rispecs/borrowed_from_opencode/093-javascript-sdk.rispec.md +200 -0
  336. package/rispecs/borrowed_from_opencode/094-skill-system.rispec.md +187 -0
  337. package/rispecs/borrowed_from_opencode/095-skill-discovery.rispec.md +182 -0
  338. package/rispecs/borrowed_from_opencode/096-desktop-remote-driving.rispec.md +175 -0
  339. package/rispecs/borrowed_from_opencode/INDEX.md +255 -0
  340. package/rispecs/core.rispecs.md +261 -0
  341. package/rispecs/engines.rispecs.md +241 -0
  342. package/rispecs/formatting.rispecs.md +252 -0
  343. package/rispecs/living-specifications.rispecs.md +361 -0
  344. package/rispecs/mcp.rispecs.md +197 -0
  345. package/rispecs/pde.rispecs.md +399 -0
  346. package/rispecs/pi-mono-envisionning/ENVISIONING.md +366 -0
  347. package/rispecs/pi-mono-envisionning/storytelling-horizon.rispecs.md +76 -0
  348. package/rispecs/pi-mono-envisionning/widget.rispecs.md +2 -0
  349. package/rispecs/relation-to-mcp-structural-thinking.kin.md +72 -0
  350. package/rispecs/research-for-better-framework/CLAUDE.md +7 -0
  351. package/rispecs/research-for-better-framework/survey-pi-openclaw-opencode-openhands.md +210 -0
  352. package/rispecs/session.rispecs.md +277 -0
  353. package/rispecs/stc.rispecs.md +138 -0
  354. package/rispecs/unifier.rispecs.md +317 -0
  355. package/scripts/LAUNCH--mcp-mia-code--testing--2603141315--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +2 -0
  356. package/scripts/RESUME--mia-code--mcps--260313--ac705a66-2c15-4a1c-a26d-9491018c5ba8.sh +1 -0
  357. package/scripts/install-widget-in-home-pi-agent-extensions.sh +4 -0
  358. package/scripts/sample-decompose--2604011535-prompt.sh +1 -0
  359. package/skills/deep-search/AGENTS.md +17 -0
  360. package/skills/deep-search/SKILL.md +281 -0
  361. package/skills/deep-search/agent-templates.md +224 -0
  362. package/skills/deep-search/orchestration-patterns.md +95 -0
  363. package/skills/miaco-pde-inquiry-routing-deep-search/AGENTS.md +13 -0
  364. package/skills/miaco-pde-inquiry-routing-deep-search/SKILL.md +136 -0
  365. package/skills/miaco-pde-inquiry-routing-internal-external-relationship/AGENTS.md +4 -0
  366. package/skills/miaco-pde-inquiry-routing-internal-external-relationship/SKILL.md +157 -0
  367. package/skills/miaco-pde-inquiry-routing-local-qmd/AGENTS.md +42 -0
  368. package/skills/miaco-pde-inquiry-routing-local-qmd/SKILL.md +135 -0
  369. package/skills/qmd/AGENTS.md +3 -0
  370. package/skills/qmd/SKILL.md +144 -0
  371. package/skills/qmd/references/mcp-setup.md +102 -0
  372. package/skills/rise-pde-inquiry-session-multi-agents-v3/SKILL.md +234 -0
  373. package/skills/rise-pde-inquiry-session-multi-agents-v3/agent-templates.md +436 -0
  374. package/skills/rise-pde-inquiry-session-multi-agents-v3/orchestration-patterns.md +197 -0
  375. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/ceremonial-technology.md +102 -0
  376. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/creative-orientation.md +99 -0
  377. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/prompt-decomposition.md +73 -0
  378. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/rise-framework.md +74 -0
  379. package/skills/rise-pde-inquiry-session-multi-agents-v3/references/structural-tension.md +82 -0
  380. package/src/cli.ts +35 -11
  381. package/src/geminiHeadless.ts +7 -2
  382. package/src/index.ts +2 -1
  383. package/src/mcp/miaco-server.ts +13 -1
  384. package/src/mcp/miatel-server.ts +13 -1
  385. package/src/mcp/miawa-server.ts +13 -1
  386. package/src/mcp/utils.ts +41 -8
  387. package/src/sessionStore.ts +44 -4
  388. package/src/types.ts +2 -1
  389. package/widget/mia-ceremony/README.md +36 -0
  390. package/widget/mia-ceremony/index.ts +143 -0
  391. package/widget/mia-interceptor/README.md +39 -0
  392. package/widget/mia-interceptor/index.ts +221 -0
  393. package/widget/mia-tools/README.md +37 -0
  394. package/widget/mia-tools/index.ts +569 -0
  395. package/widget/miette-echo/README.md +44 -0
  396. package/widget/miette-echo/index.ts +164 -0
  397. package/.claude/settings.local.json +0 -9
  398. package/.hch/issue_.env +0 -4
  399. package/.hch/issue_add__2601211715.json +0 -77
  400. package/.hch/issue_add__2601211715.md +0 -4
  401. package/.hch/issue_add__2602242020.json +0 -78
  402. package/.hch/issue_add__2602242020.md +0 -7
  403. package/.hch/issues.json +0 -2312
  404. package/.hch/issues.md +0 -30
  405. package/WS__mia-code__260214__IAIP_PDE.code-workspace +0 -29
  406. package/WS__mia-code__src332__260122.code-workspace +0 -23
  407. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/checkpoints/index.md +0 -6
  408. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/events.jsonl +0 -213
  409. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/plan.md +0 -243
  410. package/samples/copilot/session-state/be76abaa-a27f-4725-b2a9-22fb45f7e0f7/workspace.yaml +0 -5
@@ -0,0 +1,361 @@
1
+ # Living Specifications Engine (RispecsEngine)
2
+
3
+ > RISE Framework Specification v1.0
4
+ > Document: mia-code/rispecs/living-specifications.rispecs.md
5
+ > Status: mia-code Enhancement
6
+
7
+ ---
8
+
9
+ ## Creative Intent
10
+
11
+ The RispecsEngine empowers developers to create specifications that evolve with the codebase. Users achieve "living documentation" where rispecs files automatically update from git history, maintaining structural accuracy as code changes without manual synchronization effort.
12
+
13
+ ---
14
+
15
+ ## Structural Tension Analysis
16
+
17
+ **Current Structural Reality:**
18
+ - mia-code has 7 rispecs files defining behavior (`core.rispecs.md`, `engines.rispecs.md`, etc.)
19
+ - Specifications are manually written and updated
20
+ - Git commit messages contain valuable specification-relevant information (e.g., `feat(memory): Operationalize Structural Dynamics`)
21
+ - No automated connection between code changes and specification updates
22
+ - Documentation drift occurs as implementation evolves
23
+ - Existing specs: `core.rispecs.md`, `engines.rispecs.md`, `formatting.rispecs.md`, `pde.rispecs.md`, `session.rispecs.md`, `unifier.rispecs.md`
24
+
25
+ **Desired Structural State:**
26
+ - RispecsEngine watches git commits affecting spec-related files
27
+ - Conventional commits automatically suggest spec updates
28
+ - Breaking changes trigger mandatory spec review
29
+ - Spec sections reference source files with auto-refresh
30
+ - Change log generated from git history integrated into specs
31
+ - LLM-assisted spec refinement based on implementation diffs
32
+
33
+ ---
34
+
35
+ ## Core Components
36
+
37
+ ### RispecsEngine
38
+
39
+ **Purpose:** Orchestrate living specification lifecycle.
40
+
41
+ ```typescript
42
+ interface RispecsEngine {
43
+ // Initialization
44
+ init(projectRoot: string): Promise<void>;
45
+
46
+ // Watching
47
+ watchGitCommits(options: WatchOptions): void;
48
+
49
+ // Analysis
50
+ analyzeCommit(commit: GitCommit): SpecImpact[];
51
+ suggestSpecUpdates(impacts: SpecImpact[]): SpecUpdate[];
52
+
53
+ // Updating
54
+ applyUpdate(update: SpecUpdate, mode: 'auto' | 'interactive'): Promise<void>;
55
+
56
+ // Validation
57
+ validateSpecCoverage(): CoverageReport;
58
+ detectDrift(): DriftReport;
59
+
60
+ // Generation
61
+ generateChangeLog(since: string): string;
62
+ refreshSourceReferences(): Promise<void>;
63
+ }
64
+
65
+ interface WatchOptions {
66
+ branches: string[]; // e.g., ['main', 'develop']
67
+ filePatterns: string[]; // e.g., ['src/**/*.ts']
68
+ specDirectory: string; // e.g., 'rispecs'
69
+ autoUpdate: boolean;
70
+ }
71
+
72
+ interface SpecImpact {
73
+ commit: GitCommit;
74
+ affectedSpecs: string[]; // Spec file paths
75
+ impactType: 'additive' | 'modifying' | 'breaking';
76
+ suggestedSections: string[]; // Sections to update
77
+ confidence: number; // 0-1
78
+ }
79
+
80
+ interface SpecUpdate {
81
+ specFile: string;
82
+ section: string;
83
+ currentContent: string;
84
+ proposedContent: string;
85
+ reason: string;
86
+ sourceCommits: string[]; // SHA references
87
+ }
88
+ ```
89
+
90
+ ### ConventionalCommitParser
91
+
92
+ **Purpose:** Extract specification-relevant information from commits.
93
+
94
+ ```typescript
95
+ interface ConventionalCommitParser {
96
+ parse(commitMessage: string): ParsedCommit;
97
+
98
+ mapToSpecImpact(parsed: ParsedCommit, diff: GitDiff): SpecImpact;
99
+ }
100
+
101
+ interface ParsedCommit {
102
+ type: 'feat' | 'fix' | 'refactor' | 'docs' | 'chore' | 'breaking';
103
+ scope?: string; // e.g., 'memory', 'engines', 'session'
104
+ description: string;
105
+ body?: string;
106
+ footers?: Record<string, string>;
107
+ breaking: boolean;
108
+ }
109
+
110
+ // Mapping conventional commit scopes to spec files
111
+ const SCOPE_TO_SPEC: Record<string, string> = {
112
+ 'memory': 'session.rispecs.md',
113
+ 'engines': 'engines.rispecs.md',
114
+ 'unifier': 'unifier.rispecs.md',
115
+ 'formatting': 'formatting.rispecs.md',
116
+ 'cli': 'core.rispecs.md',
117
+ 'config': 'core.rispecs.md',
118
+ };
119
+ ```
120
+
121
+ ### SourceReferenceManager
122
+
123
+ **Purpose:** Maintain links between spec sections and source files.
124
+
125
+ ```typescript
126
+ interface SourceReferenceManager {
127
+ // Extract references from spec markdown
128
+ parseReferences(specContent: string): SourceReference[];
129
+
130
+ // Validate references still exist
131
+ validateReferences(refs: SourceReference[]): ValidationResult;
132
+
133
+ // Update line numbers after code changes
134
+ refreshLineNumbers(refs: SourceReference[], diff: GitDiff): SourceReference[];
135
+
136
+ // Inject fresh code snippets
137
+ refreshCodeBlocks(specContent: string): string;
138
+ }
139
+
140
+ interface SourceReference {
141
+ specFile: string;
142
+ specSection: string;
143
+ sourceFile: string;
144
+ lineRange?: [number, number];
145
+ symbol?: string; // e.g., 'runGeminiHeadless'
146
+ type: 'implementation' | 'interface' | 'example';
147
+ }
148
+ ```
149
+
150
+ ### DriftDetector
151
+
152
+ **Purpose:** Identify when specifications diverge from implementation.
153
+
154
+ ```typescript
155
+ interface DriftDetector {
156
+ // Compare spec assertions to actual code
157
+ detectDrift(specFile: string): DriftReport;
158
+
159
+ // Batch check all specs
160
+ fullScan(): DriftReport[];
161
+ }
162
+
163
+ interface DriftReport {
164
+ specFile: string;
165
+ driftItems: DriftItem[];
166
+ overallHealth: 'healthy' | 'warning' | 'critical';
167
+ lastValidated: string;
168
+ }
169
+
170
+ interface DriftItem {
171
+ section: string;
172
+ claim: string; // What the spec says
173
+ reality: string; // What the code does
174
+ severity: 'minor' | 'moderate' | 'major';
175
+ suggestedAction: 'update_spec' | 'update_code' | 'investigate';
176
+ }
177
+ ```
178
+
179
+ ---
180
+
181
+ ## Integration with mia-code
182
+
183
+ ### Workflow Integration
184
+
185
+ ```typescript
186
+ // In mia-code CLI
187
+ import { RispecsEngine } from './rispecs/engine';
188
+
189
+ // Post-session hook
190
+ async function onSessionEnd(sessionSummary: SessionSummary) {
191
+ const engine = new RispecsEngine();
192
+
193
+ // Check for spec-relevant changes
194
+ const recentCommits = await git.log({ since: session.startedAt });
195
+ const impacts = recentCommits.map(c => engine.analyzeCommit(c)).flat();
196
+
197
+ if (impacts.length > 0) {
198
+ const updates = engine.suggestSpecUpdates(impacts);
199
+
200
+ // Present to user via Miette interpretation
201
+ console.log('🌸 miette: These specifications may need attention:');
202
+ for (const update of updates) {
203
+ console.log(` - ${update.specFile} / ${update.section}`);
204
+ console.log(` Reason: ${update.reason}`);
205
+ }
206
+ }
207
+ }
208
+ ```
209
+
210
+ ### Ceremonial Integration
211
+
212
+ ```typescript
213
+ // Log spec updates as ceremonies
214
+ const ceremony: Ceremony = {
215
+ type: 'spec_updated',
216
+ participants: ['rispec_engine', 'developer'],
217
+ intentions: ['Maintain living documentation'],
218
+ observations: [
219
+ `Updated ${update.specFile} section "${update.section}"`,
220
+ `Based on commits: ${update.sourceCommits.join(', ')}`
221
+ ],
222
+ timestamp: new Date().toISOString()
223
+ };
224
+ ```
225
+
226
+ ### Git Hooks Integration
227
+
228
+ ```bash
229
+ # .git/hooks/post-commit
230
+ #!/bin/bash
231
+ npx mia-code rispecs check-drift --quiet
232
+ if [ $? -ne 0 ]; then
233
+ echo "⚠️ Specification drift detected. Run 'mia-code rispecs validate' for details."
234
+ fi
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Spec File Enhancements
240
+
241
+ ### Source Reference Syntax
242
+
243
+ ```markdown
244
+ <!-- In rispecs file -->
245
+
246
+ ## Implementation Reference
247
+
248
+ <!-- @source-ref: src/geminiHeadless.ts#runGeminiHeadless -->
249
+ ```typescript
250
+ export async function runGeminiHeadless(
251
+ prompt: string,
252
+ config: MiaCodeConfig,
253
+ sessionId?: string
254
+ ): Promise<GeminiJsonEvent[]>
255
+ ```
256
+ <!-- @source-ref-end -->
257
+
258
+ Last synced: 2026-01-30 from commit abc1234
259
+ ```
260
+
261
+ ### Change Log Section
262
+
263
+ ```markdown
264
+ ## Specification Change Log
265
+
266
+ <!-- @changelog-since: 2026-01-01 -->
267
+ | Date | Commit | Section | Change |
268
+ |------|--------|---------|--------|
269
+ | 2026-01-28 | def5678 | Engine Selection | Added Ollama support |
270
+ | 2026-01-15 | abc1234 | Session Resume | Fixed project path matching |
271
+ <!-- @changelog-end -->
272
+ ```
273
+
274
+ ---
275
+
276
+ ## CLI Commands
277
+
278
+ ```bash
279
+ # Validate all specs against current implementation
280
+ mia-code rispecs validate
281
+
282
+ # Check for drift since last validation
283
+ mia-code rispecs check-drift
284
+
285
+ # Suggest updates based on recent commits
286
+ mia-code rispecs suggest-updates --since="1 week ago"
287
+
288
+ # Apply suggested update interactively
289
+ mia-code rispecs apply-update --interactive
290
+
291
+ # Refresh source references and code blocks
292
+ mia-code rispecs refresh-sources
293
+
294
+ # Generate change log
295
+ mia-code rispecs changelog --since="2026-01-01" --output=CHANGELOG.md
296
+ ```
297
+
298
+ ---
299
+
300
+ ## API Surface
301
+
302
+ ```typescript
303
+ export class RispecsEngine {
304
+ // Lifecycle
305
+ static create(projectRoot: string): Promise<RispecsEngine>;
306
+
307
+ // Analysis
308
+ analyzeCommits(since: string): Promise<SpecImpact[]>;
309
+ detectDrift(): Promise<DriftReport[]>;
310
+ validateCoverage(): Promise<CoverageReport>;
311
+
312
+ // Updates
313
+ suggestUpdates(): Promise<SpecUpdate[]>;
314
+ applyUpdate(update: SpecUpdate): Promise<void>;
315
+
316
+ // References
317
+ refreshReferences(): Promise<void>;
318
+ validateReferences(): Promise<ValidationResult>;
319
+
320
+ // Generation
321
+ generateChangelog(options: ChangelogOptions): string;
322
+
323
+ // Watching
324
+ watch(options: WatchOptions): Disposable;
325
+ }
326
+
327
+ interface CoverageReport {
328
+ totalSourceFiles: number;
329
+ referencedFiles: number;
330
+ unreferencedFiles: string[];
331
+ specFiles: string[];
332
+ coveragePercent: number;
333
+ }
334
+
335
+ interface ChangelogOptions {
336
+ since: string;
337
+ groupBy: 'commit' | 'spec' | 'date';
338
+ format: 'markdown' | 'json';
339
+ }
340
+ ```
341
+
342
+ ---
343
+
344
+ ## Success Criteria
345
+
346
+ ✅ RispecsEngine detects spec-relevant commits automatically
347
+ ✅ Conventional commit scopes map to spec files
348
+ ✅ Source references update line numbers on code change
349
+ ✅ Drift detection identifies spec/code divergence
350
+ ✅ Change logs generated from git history
351
+ ✅ CLI commands integrate into mia-code workflow
352
+ ✅ Ceremonial logging for spec updates
353
+ ✅ Git hooks available for continuous validation
354
+
355
+ ---
356
+
357
+ ## References
358
+
359
+ - mia-code existing rispecs: `/a/src/mia-code/rispecs/`
360
+ - Conventional Commits: https://www.conventionalcommits.org/
361
+ - Git commit analysis: `/a/src/memories/gist_research__coaia_memory_to_narrative_beats_251214.jsonl`
@@ -0,0 +1,197 @@
1
+ # MCP Server Architecture Specification
2
+
3
+ > RISE Framework Specification v1.0
4
+ > Document: mia-code/rispecs/mcp.rispecs.md
5
+ > Status: IMPLEMENTED
6
+
7
+ ## Creative Intent
8
+
9
+ mia-code exposes its sub-CLI capabilities (miaco, miatel, miawa) as MCP (Model Context Protocol) servers, enabling external LLMs like Claude Code to invoke engineering, story, and ceremony tools directly. This transforms mia-code from a standalone agent into a composable toolset that any MCP-compatible host can orchestrate.
10
+
11
+ ## Structural Tension Analysis
12
+
13
+ **Current Structural Reality:**
14
+ - Three sub-CLIs (miaco, miatel, miawa) exist as standalone Commander.js programs
15
+ - Each has structured commands for its domain (charts, beats, ceremonies)
16
+ - External agents cannot invoke these tools without shell spawning and output parsing
17
+ - Claude Code's MCP integration expects JSON-RPC 2.0 over stdio
18
+
19
+ **Desired Structural State:**
20
+ - Each sub-CLI is accessible as a named MCP server (miaco, miatel, miawa)
21
+ - Servers implement the MCP protocol: `initialize` → `tools/list` → `tools/call`
22
+ - Tool schemas expose full inputSchema with properties, types, and required fields
23
+ - External hosts connect via stdio transport and call tools by name
24
+ - Tool handlers delegate to sub-CLI commands with `--json` output parsing
25
+
26
+ ## Architecture
27
+
28
+ ### Protocol Layer
29
+
30
+ ```
31
+ Claude Code (or any MCP host)
32
+
33
+ ├── stdio ──→ miaco-server.js (Engineering World)
34
+ ├── stdio ──→ miatel-server.js (Story World)
35
+ └── stdio ──→ miawa-server.js (Ceremony World)
36
+ ```
37
+
38
+ Each server is a standalone Node.js process that:
39
+ 1. Reads JSON-RPC 2.0 messages from stdin
40
+ 2. Handles `initialize`, `tools/list`, `tools/call` methods
41
+ 3. Writes JSON-RPC 2.0 responses to stdout
42
+ 4. Delegates tool execution to sub-CLI via `child_process.spawn`
43
+
44
+ ### Module Structure
45
+
46
+ ```
47
+ src/mcp/
48
+ ├── utils.ts # Shared: MCPTool/MCPToolResult types, runCLI,
49
+ │ # parseJSONOutput, createToolResult, buildArgs,
50
+ │ # bootstrapMCPServer (protocol handler)
51
+ ├── miaco-server.ts # Tool definitions + handler + server startup
52
+ ├── miatel-server.ts # Tool definitions + handler + server startup
53
+ ├── miawa-server.ts # Tool definitions + handler + server startup
54
+ ├── config-generator.ts # Generates MCP config JSON for host setup
55
+ └── index.ts # Registry: re-exports all servers + routing
56
+ ```
57
+
58
+ Each `*-server.ts` file serves dual purpose:
59
+ - **Library mode:** Exports tools array, handler function, and config for use by `index.ts` and `config-generator.ts`
60
+ - **Server mode:** When run directly (`node miaco-server.js`), starts the MCP protocol handler via `bootstrapMCPServer()`
61
+
62
+ ### Server Startup Detection
63
+
64
+ ```typescript
65
+ const isMain = process.argv[1] && (
66
+ process.argv[1].endsWith("miaco-server.js") ||
67
+ process.argv[1].endsWith("miaco-server.ts")
68
+ );
69
+ if (isMain) {
70
+ bootstrapMCPServer(config, handler);
71
+ }
72
+ ```
73
+
74
+ ### Protocol Bootstrap
75
+
76
+ `bootstrapMCPServer()` in `utils.ts` uses `@modelcontextprotocol/sdk`:
77
+ - `Server` class (low-level) for direct JSON schema passthrough
78
+ - `StdioServerTransport` for stdio communication
79
+ - `ListToolsRequestSchema` handler returns tool definitions with full inputSchema
80
+ - `CallToolRequestSchema` handler routes to the appropriate tool handler
81
+
82
+ ### Tool Execution Flow
83
+
84
+ ```
85
+ MCP Host sends: tools/call { name: "miaco_chart_create", arguments: {...} }
86
+
87
+ CallToolRequestSchema handler
88
+
89
+ handleMiacoTool("miaco_chart_create", args)
90
+
91
+ buildArgs(["chart", "create"], args, { outcome: "--outcome", ... })
92
+
93
+ runCLI(CLI_PATH, [...cliArgs, "--json"])
94
+ → spawn("node", ["/path/to/miaco/dist/index.js", "chart", "create", ...])
95
+
96
+ parseJSONOutput(stdout)
97
+
98
+ createToolResult(parsed) → { content: [{ type: "text", text: "..." }] }
99
+ ```
100
+
101
+ ## Configuration
102
+
103
+ ### Host Configuration (`.mcp.mia-code.json`)
104
+
105
+ ```json
106
+ {
107
+ "mcpServers": {
108
+ "miatel": {
109
+ "command": "node",
110
+ "args": ["/a/src/mia-code/dist/mcp/miatel-server.js"],
111
+ "env": {}
112
+ },
113
+ "miawa": {
114
+ "command": "node",
115
+ "args": ["/a/src/mia-code/dist/mcp/miawa-server.js"],
116
+ "env": {}
117
+ },
118
+ "miaco": {
119
+ "command": "node",
120
+ "args": ["/a/src/mia-code/dist/mcp/miaco-server.js"],
121
+ "env": {}
122
+ }
123
+ }
124
+ }
125
+ ```
126
+
127
+ Place this file in the project root or parent directory (e.g., `/a/src/.mcp.mia-code.json`).
128
+
129
+ ### Programmatic Config Generation
130
+
131
+ ```bash
132
+ mia-code mcp-config # JSON config for Claude Code
133
+ mia-code mcp-config --tools # Tool manifest (all tools with schemas)
134
+ mia-code mcp-config --info # Server metadata + tools
135
+ ```
136
+
137
+ ## Tool Catalog
138
+
139
+ ### miaco (Engineering World) — 8 tools
140
+
141
+ | Tool | Purpose | Required Args |
142
+ |------|---------|---------------|
143
+ | `miaco_chart_create` | Create structural tension chart | outcome, reality |
144
+ | `miaco_chart_list` | List active charts | — |
145
+ | `miaco_chart_add_step` | Add action step to chart | chart, title, reality |
146
+ | `miaco_chart_complete` | Mark step complete | step |
147
+ | `miaco_chart_review` | Review with Creator Moment | chart |
148
+ | `miaco_decompose` | PDE prompt decomposition | prompt |
149
+ | `miaco_decompose_list` | List stored decompositions | — |
150
+ | `miaco_decompose_get` | Get specific decomposition | id |
151
+
152
+ ### miatel (Story World) — 4 tools
153
+
154
+ | Tool | Purpose | Required Args |
155
+ |------|---------|---------------|
156
+ | `miatel_beat_create` | Create story beat | text |
157
+ | `miatel_beat_list` | List beats in session | — |
158
+ | `miatel_beat_analyze` | Analyze beat with lens | beatId |
159
+ | `miatel_beat_enrich` | Apply emotional enrichment | beatId |
160
+
161
+ ### miawa (Ceremony World) — 6 tools
162
+
163
+ | Tool | Purpose | Required Args |
164
+ |------|---------|---------------|
165
+ | `miawa_ceremony_init` | Initiate ceremony | title, type |
166
+ | `miawa_ceremony_list` | List ceremonies | — |
167
+ | `miawa_ceremony_advance` | Advance to next movement | ceremony |
168
+ | `miawa_ceremony_close` | Close with wisdom archiving | — |
169
+ | `miawa_ceremony_wisdom` | Retrieve archived wisdom | — |
170
+ | `miawa_ceremony_stage` | Check Four Movements stage | — |
171
+
172
+ ## Dependencies
173
+
174
+ - `@modelcontextprotocol/sdk` — MCP protocol implementation (Server, StdioServerTransport)
175
+ - Sub-CLI builds must be present at `miaco/dist/`, `miatel/dist/`, `miawa/dist/`
176
+ - Node.js `child_process` for CLI delegation
177
+
178
+ ## Known Constraints
179
+
180
+ - Tool handlers spawn sub-CLI processes — each tool call incurs process creation overhead
181
+ - Sub-CLI `--json` output support is required for all commands exposed as tools
182
+ - Session ID can be passed via tool args or `MIA_SESSION_ID` environment variable
183
+ - Error handling: CLI failures return `{ isError: true, content: [{ type: "text", text: error }] }`
184
+
185
+ ## Creative Advancement Scenario
186
+
187
+ **Desired Outcome:** Claude Code agent uses mia-code tools to create a structural tension chart during a coding session.
188
+
189
+ **Natural Progression:**
190
+ 1. Developer launches Claude Code in project with `.mcp.mia-code.json`
191
+ 2. Claude Code connects to miaco MCP server via stdio
192
+ 3. Agent calls `miaco_chart_create` with outcome and reality
193
+ 4. Server delegates to `miaco chart create --outcome "..." --reality "..." --json`
194
+ 5. JSON response flows back through MCP protocol
195
+ 6. Agent uses chart ID to add steps, track progress, review
196
+
197
+ **Achieved Outcome:** External agent seamlessly uses mia-code's engineering tools without shell scripting or output parsing.