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,397 @@
1
+ # Hierarchical Charting (MultiChartContextManager)
2
+
3
+ > RISE Framework Specification v1.0
4
+ > Document: miadi-code/rispecs/hierarchical-charting.rispecs.md
5
+ > Status: miadi-code Enhancement
6
+
7
+ ---
8
+
9
+ ## Creative Intent
10
+
11
+ The MultiChartContextManager empowers users to create complex, nested structural tension charts for orchestrating hierarchical projects. Users achieve clear visibility into multi-level goal structures where master charts telescope into sub-charts, maintaining both overview clarity and actionable detail.
12
+
13
+ ---
14
+
15
+ ## Structural Tension Analysis
16
+
17
+ **Current Reality:**
18
+ - miadi-code has ChartRegistry for tracking active charts (`src/registry/`)
19
+ - coaia-narrative MCP supports chart creation and telescoping
20
+ - Charts can have parent/child relationships via `parentChart` and `parentActionStep` metadata
21
+ - Current implementation handles one active chart at a time
22
+ - No unified context manager for multi-chart navigation
23
+ - Three-universe analysis applies to single charts, not chart hierarchies
24
+ - STC workspace integration pending (per SPEC.md)
25
+
26
+ **Desired Structural State:**
27
+ - MultiChartContextManager maintains awareness of entire chart hierarchy
28
+ - Users can zoom in/out of chart levels seamlessly
29
+ - Three-universe analysis can operate at any hierarchy level
30
+ - Cross-chart dependencies tracked and honored
31
+ - Ceremonies cascade through hierarchy (parent completion triggers child review)
32
+ - Visual representation available via coaia-visualizer integration
33
+
34
+ ---
35
+
36
+ ## Core Components
37
+
38
+ ### MultiChartContextManager
39
+
40
+ **Purpose:** Orchestrate navigation and operations across chart hierarchies.
41
+
42
+ ```typescript
43
+ interface MultiChartContextManager {
44
+ // Hierarchy Management
45
+ loadHierarchy(rootChartId: string): Promise<ChartHierarchy>;
46
+ createSubChart(parentChartId: string, actionStepId: string): Promise<StructuralTensionChart>;
47
+
48
+ // Navigation
49
+ getCurrentChart(): StructuralTensionChart | null;
50
+ setCurrentChart(chartId: string): void;
51
+ zoomIn(actionStepId: string): Promise<void>;
52
+ zoomOut(): Promise<void>;
53
+
54
+ // Context Awareness
55
+ getHierarchyPath(): ChartPathNode[];
56
+ getRelatedCharts(): RelatedChart[];
57
+
58
+ // Operations
59
+ cascadeProgress(chartId: string): Promise<void>;
60
+ checkHierarchyObligations(): ObligationReport;
61
+
62
+ // Three-Universe Integration
63
+ analyzeAtLevel(level: 'master' | 'current' | 'detail'): UniverseAnalysis;
64
+
65
+ // Persistence
66
+ saveState(): Promise<void>;
67
+ restoreState(stateId: string): Promise<void>;
68
+ }
69
+
70
+ interface ChartHierarchy {
71
+ root: StructuralTensionChart;
72
+ children: Map<string, ChartHierarchy>; // chartId -> subtree
73
+ totalDepth: number;
74
+ totalCharts: number;
75
+ }
76
+
77
+ interface ChartPathNode {
78
+ chartId: string;
79
+ desiredOutcome: string;
80
+ level: number;
81
+ isActive: boolean;
82
+ }
83
+
84
+ interface RelatedChart {
85
+ chartId: string;
86
+ relationship: 'parent' | 'sibling' | 'child' | 'dependency';
87
+ desiredOutcome: string;
88
+ }
89
+ ```
90
+
91
+ ### HierarchyRenderer
92
+
93
+ **Purpose:** Generate visual representations of chart hierarchies.
94
+
95
+ ```typescript
96
+ interface HierarchyRenderer {
97
+ // Terminal rendering
98
+ renderTree(hierarchy: ChartHierarchy): string;
99
+ renderBreadcrumb(path: ChartPathNode[]): string;
100
+ renderProgressRollup(hierarchy: ChartHierarchy): string;
101
+
102
+ // JSON for visualizer
103
+ toVisualizerFormat(hierarchy: ChartHierarchy): VisualizerData;
104
+ }
105
+
106
+ // Terminal tree output example:
107
+ // ┌─ 📊 Mastery of Terminal Agent Workflows [52%]
108
+ // │ ├── 📋 Engine Abstraction Layer [80%]
109
+ // │ │ ├── ✅ Gemini CLI Integration
110
+ // │ │ └── 🔄 Claude CLI Integration [60%]
111
+ // │ ├── 🔄 Session Persistence [45%]
112
+ // │ └── ⏳ Ceremonial Output Layer [30%]
113
+ // └──────────────────────────────────────────
114
+
115
+ interface VisualizerData {
116
+ nodes: VisualizerNode[];
117
+ edges: VisualizerEdge[];
118
+ metadata: {
119
+ rootId: string;
120
+ levels: number;
121
+ totalProgress: number;
122
+ };
123
+ }
124
+ ```
125
+
126
+ ### CrossChartDependencyTracker
127
+
128
+ **Purpose:** Track and enforce dependencies between charts.
129
+
130
+ ```typescript
131
+ interface CrossChartDependencyTracker {
132
+ // Define dependency
133
+ addDependency(fromChart: string, toChart: string, type: DependencyType): void;
134
+
135
+ // Query
136
+ getDependencies(chartId: string): Dependency[];
137
+ getDependents(chartId: string): Dependency[];
138
+
139
+ // Validation
140
+ checkDependenciesMet(chartId: string): DependencyCheck;
141
+ detectCircularDependencies(): CircularDependency[];
142
+
143
+ // Cascade
144
+ notifyCompletion(chartId: string): CascadeResult;
145
+ }
146
+
147
+ type DependencyType =
148
+ | 'blocks' // This chart blocks another
149
+ | 'requires' // This chart requires another
150
+ | 'informs' // Completion of this informs another
151
+ | 'parallel'; // These can proceed in parallel
152
+
153
+ interface Dependency {
154
+ fromChartId: string;
155
+ toChartId: string;
156
+ type: DependencyType;
157
+ description?: string;
158
+ }
159
+
160
+ interface CascadeResult {
161
+ triggeredCharts: string[];
162
+ updatedProgress: Map<string, number>;
163
+ ceremonies: Ceremony[];
164
+ }
165
+ ```
166
+
167
+ ---
168
+
169
+ ## Three-Universe Hierarchical Analysis
170
+
171
+ ### Level-Aware Analysis
172
+
173
+ ```typescript
174
+ interface HierarchicalUniverseAnalysis {
175
+ // Engineer Universe at hierarchy level
176
+ engineer: {
177
+ atMaster: string; // "Project requires X components"
178
+ atCurrent: string; // "Current task needs Y implementation"
179
+ atDetail: string; // "Specific step involves Z"
180
+ };
181
+
182
+ // Ceremony Universe at hierarchy level
183
+ ceremony: {
184
+ atMaster: string; // "Project honors these relationships"
185
+ atCurrent: string; // "Current phase maintains these obligations"
186
+ atDetail: string; // "Step fulfills this specific ceremony"
187
+ };
188
+
189
+ // Story Engine at hierarchy level
190
+ storyEngine: {
191
+ atMaster: string; // "The narrative arc of this project"
192
+ atCurrent: string; // "Current chapter in the story"
193
+ atDetail: string; // "This beat advances the narrative"
194
+ };
195
+ }
196
+
197
+ // Usage in prompt processing
198
+ function analyzePromptHierarchically(
199
+ prompt: string,
200
+ manager: MultiChartContextManager
201
+ ): HierarchicalUniverseAnalysis {
202
+ const path = manager.getHierarchyPath();
203
+
204
+ return {
205
+ engineer: {
206
+ atMaster: analyzeEngineer(prompt, path[0]),
207
+ atCurrent: analyzeEngineer(prompt, manager.getCurrentChart()),
208
+ atDetail: path.length > 2 ? analyzeEngineer(prompt, path[path.length - 1]) : null
209
+ },
210
+ // ... ceremony and storyEngine
211
+ };
212
+ }
213
+ ```
214
+
215
+ ---
216
+
217
+ ## Integration with miadi-code
218
+
219
+ ### CLI Commands
220
+
221
+ ```bash
222
+ # View chart hierarchy
223
+ /charts tree
224
+
225
+ # Navigate hierarchy
226
+ /charts zoom-in <actionStepId>
227
+ /charts zoom-out
228
+ /charts goto <chartId>
229
+
230
+ # Show current position
231
+ /charts where
232
+
233
+ # Progress rollup
234
+ /charts progress
235
+
236
+ # Dependency management
237
+ /charts depend <fromChart> blocks <toChart>
238
+ /charts check-deps
239
+ ```
240
+
241
+ ### Interactive Navigation
242
+
243
+ ```typescript
244
+ // In cli.ts
245
+ async function handleChartsCommand(args: string[], manager: MultiChartContextManager) {
246
+ switch (args[0]) {
247
+ case 'tree':
248
+ const hierarchy = await manager.loadHierarchy(manager.getCurrentChart().chartId);
249
+ console.log(renderer.renderTree(hierarchy));
250
+ break;
251
+
252
+ case 'zoom-in':
253
+ await manager.zoomIn(args[1]);
254
+ console.log(renderer.renderBreadcrumb(manager.getHierarchyPath()));
255
+ break;
256
+
257
+ case 'where':
258
+ const path = manager.getHierarchyPath();
259
+ console.log('📍 Current position:');
260
+ path.forEach((node, i) => {
261
+ const indent = ' '.repeat(i);
262
+ const marker = node.isActive ? '→' : ' ';
263
+ console.log(`${indent}${marker} ${node.desiredOutcome}`);
264
+ });
265
+ break;
266
+ }
267
+ }
268
+ ```
269
+
270
+ ### coaia-visualizer Integration
271
+
272
+ ```typescript
273
+ // Launch visualizer with hierarchy context
274
+ async function launchVisualizerWithHierarchy(manager: MultiChartContextManager) {
275
+ const hierarchy = await manager.loadHierarchy(manager.getCurrentChart().chartId);
276
+ const visualizerData = renderer.toVisualizerFormat(hierarchy);
277
+
278
+ // POST to coaia-visualizer API
279
+ await fetch('http://localhost:3336/api/charts/hierarchy', {
280
+ method: 'POST',
281
+ body: JSON.stringify(visualizerData)
282
+ });
283
+
284
+ // Open in browser
285
+ exec(`open http://localhost:3336/hierarchy/${hierarchy.root.chartId}`);
286
+ }
287
+ ```
288
+
289
+ ---
290
+
291
+ ## Ceremonies for Hierarchy Operations
292
+
293
+ ```typescript
294
+ // When creating a sub-chart
295
+ const telescopeCeremony: Ceremony = {
296
+ type: 'telescoped',
297
+ participants: ['miadi', 'user'],
298
+ intentions: [
299
+ 'Expand action step into detailed chart',
300
+ 'Maintain hierarchy coherence'
301
+ ],
302
+ observations: [
303
+ `Created sub-chart for "${actionStep.description}"`,
304
+ `Depth level: ${parentChart.level + 1}`,
305
+ `Parent: ${parentChart.desiredOutcome}`
306
+ ],
307
+ timestamp: new Date().toISOString()
308
+ };
309
+
310
+ // When cascading completion
311
+ const cascadeCeremony: Ceremony = {
312
+ type: 'hierarchy_cascade',
313
+ participants: ['multi_chart_manager', 'charts'],
314
+ intentions: ['Propagate completion through hierarchy'],
315
+ observations: [
316
+ `Completed: ${completedChart.desiredOutcome}`,
317
+ `Updated parent progress: ${parentProgress}%`,
318
+ `Triggered charts: ${triggeredCharts.join(', ')}`
319
+ ],
320
+ timestamp: new Date().toISOString()
321
+ };
322
+ ```
323
+
324
+ ---
325
+
326
+ ## API Surface
327
+
328
+ ```typescript
329
+ export class MultiChartContextManager {
330
+ // Lifecycle
331
+ static create(mcpClient: MCPClient, chartPath: string): MultiChartContextManager;
332
+
333
+ // Hierarchy
334
+ loadHierarchy(rootChartId: string): Promise<ChartHierarchy>;
335
+ getHierarchy(): ChartHierarchy;
336
+ getHierarchyPath(): ChartPathNode[];
337
+
338
+ // Navigation
339
+ getCurrentChart(): StructuralTensionChart | null;
340
+ zoomIn(actionStepId: string): Promise<void>;
341
+ zoomOut(): Promise<void>;
342
+ gotoChart(chartId: string): Promise<void>;
343
+
344
+ // Operations
345
+ createSubChart(actionStepId: string, currentReality: string): Promise<StructuralTensionChart>;
346
+ updateProgress(chartId: string, progress: number): Promise<void>;
347
+ markComplete(chartId: string): Promise<CascadeResult>;
348
+
349
+ // Dependencies
350
+ addDependency(from: string, to: string, type: DependencyType): void;
351
+ checkDependencies(): ObligationReport;
352
+
353
+ // Visualization
354
+ renderTree(): string;
355
+ renderBreadcrumb(): string;
356
+ toVisualizerFormat(): VisualizerData;
357
+
358
+ // Events
359
+ onChartChanged(handler: (chart: StructuralTensionChart) => void): Disposable;
360
+ onHierarchyUpdated(handler: (hierarchy: ChartHierarchy) => void): Disposable;
361
+ }
362
+
363
+ interface ObligationReport {
364
+ met: Obligation[];
365
+ unmet: Obligation[];
366
+ blocked: string[]; // Charts blocked by unmet obligations
367
+ }
368
+
369
+ interface Obligation {
370
+ chartId: string;
371
+ description: string;
372
+ type: 'dependency' | 'ceremony' | 'phase_gate';
373
+ }
374
+ ```
375
+
376
+ ---
377
+
378
+ ## Success Criteria
379
+
380
+ ✅ MultiChartContextManager tracks entire chart hierarchies
381
+ ✅ Navigation (zoom-in, zoom-out, goto) works seamlessly
382
+ ✅ Breadcrumb rendering shows current position in hierarchy
383
+ ✅ Tree rendering displays full hierarchy with progress
384
+ ✅ Dependencies enforced across charts
385
+ ✅ Ceremonies cascade through hierarchy on completion
386
+ ✅ Three-universe analysis operates at configurable levels
387
+ ✅ coaia-visualizer integration for visual hierarchy navigation
388
+ ✅ State persistence across sessions
389
+
390
+ ---
391
+
392
+ ## References
393
+
394
+ - miadi-code registry: `/a/src/Miadi/miadi-code/src/registry/`
395
+ - coaia-narrative chart structure: `/a/src/llms/llms-structural-tension-charts.txt`
396
+ - coaia-visualizer API: `/a/src/coaia-visualizer/`
397
+ - miadi-code SPEC.md: `/a/src/Miadi/miadi-code/rispecs/SPEC.md`
@@ -0,0 +1,70 @@
1
+ # STC (Structural Tension Charting) - Implementation Status
2
+
3
+ **Module**: `miadi-code/src/stc/`
4
+ **Version**: 1.1.0
5
+ **Last Updated**: 2026-01-31
6
+
7
+ ---
8
+
9
+ ## Implementation Status: OPERATIONAL ✅
10
+
11
+ ### Core Components
12
+
13
+ | Component | Status | Location |
14
+ |-----------|--------|----------|
15
+ | Workspace Client | ✅ Complete | `stc/workspace-client.ts` |
16
+ | File Operations | ✅ Complete | `stc/file-operations.ts` |
17
+ | Workspace Config | ✅ Complete | `stc/workspace-config.ts` |
18
+ | Chart Types | ✅ Complete | `stc/types.ts` |
19
+ | Dashboard TUI | ✅ Enhanced | `dashboard.ts` |
20
+
21
+ ### Command Support
22
+
23
+ | Command | Status | Notes |
24
+ |---------|--------|-------|
25
+ | `/stc config add` | ✅ Working | Maps repo to local path |
26
+ | `/stc config list` | ✅ Working | Shows workspace mappings |
27
+ | `/stc load` | ✅ Working | Loads from STC files |
28
+ | `/stc observe` | ✅ Working | Adds observations to chart |
29
+ | `/stc action` | ✅ Working | Adds action steps |
30
+ | `/dashboard` | ✅ Enhanced | Improved error feedback |
31
+
32
+ ### Dashboard Improvements (v1.1.0)
33
+
34
+ 1. **Prerequisite Checks**: Dashboard now checks for loaded chart before prompting
35
+ 2. **Dynamic Menu Hints**: Menu shows availability status for each operation
36
+ 3. **Clear Error Messages**: When no chart is loaded, user gets actionable guidance
37
+
38
+ ### Prerequisites for Dashboard Operations
39
+
40
+ For observation/action features to work:
41
+
42
+ 1. **Workspace must be configured**: Run `/stc config add <owner/repo> <local_path>`
43
+ 2. **Miadi Platform must be running**: API server on port 3335
44
+ 3. **Chart must be initialized**: Run `/stc sync` or the dashboard will create one
45
+
46
+ ### Test Coverage
47
+
48
+ - Unit tests: 119 tests passing
49
+ - Dashboard data adapter tests: Comprehensive coverage
50
+ - Integration tests: API workflow validated
51
+
52
+ ---
53
+
54
+ ## Architecture Notes
55
+
56
+ The STC system uses a layered architecture:
57
+
58
+ ```
59
+ Dashboard TUI (dashboard.ts)
60
+
61
+ Workspace Client (stc/workspace-client.ts)
62
+ ↓ HTTP
63
+ Miadi Platform API (/api/stc/*)
64
+
65
+ Chart Manager (lib/stc/chart-manager.ts)
66
+
67
+ Local Filesystem (.coaia/*.jsonl)
68
+ ```
69
+
70
+ Charts are stored in `.coaia/` directory as JSONL files with entity/relation records.
@@ -0,0 +1,119 @@
1
+ # SPEC — mia-code Inquiry Routing Upgrade
2
+
3
+ > Consumer: mia-code (`/a/src/mia-code`)
4
+ > Upstream: `ava-langchain-inquiry-routing@0.1.0`, `ava-langgraph-inquiry-routing-engine@0.1.0`
5
+ > Related: `/a/src/mia-code/KINSHIP.md` (LangGraph/LangChain integration section)
6
+
7
+ ## Desired Outcome
8
+
9
+ mia-code's PDE workflow gains structured inquiry routing: after `pde_decompose` produces a `DecompositionResult`, the result flows through the `InquiryRoutingGraph` to produce classified, relationally-grounded inquiries before agent execution. The `miaco decompose` command outputs both the PDE decomposition and the inquiry routing report. `ceremony_hold` pauses the agent when relational accountability requires human presence.
10
+
11
+ ## Current Reality
12
+
13
+ - mia-code calls `pde_decompose` → gets `DecompositionResult` → works through action stack manually
14
+ - No structured inquiry generation from PDE output
15
+ - No routing classification — the agent decides per-turn where to search
16
+ - `KINSHIP.md` documents the intent to integrate ava-langchainjs/ava-langgraphjs libraries but inquiry routing is not yet wired
17
+
18
+ ### Existing PDE Types (from `@iaip/mcp-pde`)
19
+ ```typescript
20
+ import type { DecompositionResult, StoredDecomposition } from '@iaip/mcp-pde';
21
+ ```
22
+
23
+ ### Integration Points (from KINSHIP.md)
24
+ - `src/commands.ts` — `decompose` command (wraps PDE MCP tools)
25
+ - `src/mcp/` — MCP tool generation
26
+ - `src/sessionStore.ts` — session metadata linking
27
+
28
+ ## Structural Tension
29
+
30
+ mia-code has PDE *decomposition* but not PDE *inquiry routing*. The agent decomposes prompts into structure but then executes without systematic inquiry classification or relational validation. The tension between structured decomposition and ad-hoc execution resolves through the inquiry-routing pipeline.
31
+
32
+ ## Type Mapping: PDE → Inquiry
33
+
34
+ | PDE Type (`@iaip/mcp-pde`) | Inquiry Type (`ava-langchain-inquiry-routing`) |
35
+ |----|-----|
36
+ | `DecompositionResult` | Input to `InquiryGenerator.generate()` |
37
+ | `DecompositionResult.directions` | Maps to `InquiryBatch.{east,south,west,north}` |
38
+ | `DecompositionResult.ambiguities` | Each `AmbiguityFlag` → `Inquiry` in WEST bucket |
39
+ | `DecompositionResult.context.assumptions` | Each assumption string → `Inquiry` in SOUTH bucket |
40
+ | `StoredDecomposition` | Parallel: `StoredInquiryRoutingSession` |
41
+ | `DecompositionResult.id` | → `Inquiry.pde_id` (traceability link) |
42
+
43
+ ## Architecture
44
+
45
+ ### 1. Add Dependencies
46
+
47
+ ```json
48
+ {
49
+ "dependencies": {
50
+ "ava-langchain-inquiry-routing": ">=0.1.0",
51
+ "ava-langgraph-inquiry-routing-engine": ">=0.1.0"
52
+ }
53
+ }
54
+ ```
55
+
56
+ ### 2. Extend `decompose` Command
57
+
58
+ In `src/commands.ts`, after PDE decomposition:
59
+
60
+ ```typescript
61
+ import { InquiryRoutingGraph } from "ava-langgraph-inquiry-routing-engine";
62
+
63
+ // After: const pde = await decompose(prompt);
64
+ const routingGraph = new InquiryRoutingGraph({ enforceCeremony: true });
65
+ const routingState = await routingGraph.invoke(pde.decomposition);
66
+
67
+ if (routingState.status === "ceremony_hold") {
68
+ // Surface to user: relational review required
69
+ presentCeremonyHold(routingState.relationalValidation);
70
+ return;
71
+ }
72
+
73
+ // Use dispatch payloads for directed search
74
+ for (const payload of routingState.dispatchPayloads ?? []) {
75
+ await executeDispatch(payload);
76
+ }
77
+ ```
78
+
79
+ ### 3. Session Store Integration
80
+
81
+ Link inquiry routing sessions to PDE sessions in `src/sessionStore.ts`:
82
+
83
+ ```typescript
84
+ import type { StoredInquiryRoutingSession } from "ava-langgraph-inquiry-routing-engine";
85
+
86
+ interface SessionMetadata {
87
+ // ... existing fields
88
+ inquiryRoutingSession?: StoredInquiryRoutingSession;
89
+ }
90
+ ```
91
+
92
+ ### 4. MCP Tool Extension
93
+
94
+ In `src/mcp/`, expose inquiry routing as MCP tools:
95
+ - `inquiry_route` — run inquiry routing on an existing PDE decomposition
96
+ - `inquiry_status` — check routing state for a session
97
+
98
+ ### 5. `.mw/` Architecture Integration
99
+
100
+ Per KINSHIP.md convergence role:
101
+ - `miaco decompose` → writes PDE to `.mw/east/`
102
+ - **New:** inquiry routing results write to `.mw/south/` (routed inquiries as JSONL)
103
+ - Dispatch payloads flow to `.mw/north/` (action-ready queries)
104
+
105
+ ## Implementation Notes
106
+
107
+ - `enforceCeremony: true` is mandatory in mia-code context — the agent must not bypass relational gates
108
+ - Inquiry routing runs synchronously via `InquiryRoutingGraph` (no LangGraph runtime needed)
109
+ - For LangGraph integration: use `createInquiryRoutingStateGraph()` as subgraph in larger pipelines
110
+ - Markdown report from `InquiryFormatter.toMarkdown()` can be written to `.pde/<uuid>-inquiries.md` alongside existing PDE markdown
111
+
112
+ ## RISE Compliance
113
+
114
+ | Phase | Status | Notes |
115
+ |-------|--------|-------|
116
+ | **R**everse-engineer | ✅ Done | mia-code PDE flow analyzed, KINSHIP.md integration points identified |
117
+ | **I**ntent-extract | ✅ Done | Intent: add structured inquiry routing to mia-code's PDE workflow with ceremony gating |
118
+ | **S**pecify | ✅ This document | Type mapping, command extension, session store integration, MCP tools |
119
+ | **E**xport | ⏳ Not started | Requires implementation in mia-code |
@@ -0,0 +1,98 @@
1
+ # RISE-001: Client-Server Architecture
2
+
3
+ > RISE Framework Specification — Borrowed from OpenCode for mia-code
4
+ > Document: rispecs/borrowed_from_opencode/001-client-server-architecture.rispec.md
5
+
6
+ ## Creative Intent
7
+
8
+ mia-code enables developers to separate agent execution from user interface rendering. Users achieve location-independent agent driving by connecting lightweight clients to a persistent server that manages sessions, tool execution, and agent orchestration. A developer runs the agent on a powerful workstation and drives it from a phone, a tablet, or a second terminal — the interface becomes a window, not a cage.
9
+
10
+ ## Structural Tension Analysis
11
+
12
+ **Current Reality:**
13
+ - mia-code runs as a monolithic CLI process — UI rendering, agent execution, session management, and I/O all share one process
14
+ - The TUI (Commander.js + enquirer + ora + chalk) is tightly coupled to the agent loop in `cli.ts` and `commands.ts`
15
+ - Closing the terminal kills the agent mid-operation; there is no way to reconnect
16
+ - Remote access requires SSH into the machine and attaching to a tmux/screen session
17
+ - Only one view into a running session is possible at a time
18
+ - Session state lives in `~/.mia-code-sessions.json`, readable only from the local filesystem
19
+
20
+ **Desired State:**
21
+ - The mia-code server runs as a long-lived process that accepts connections from any client
22
+ - Agent logic (Gemini/Claude headless execution, unifier interpretation, session persistence) lives entirely server-side
23
+ - Clients are thin renderers: they display events, capture input, and send it to the server
24
+ - Multiple clients can observe the same session simultaneously (pair programming, monitoring)
25
+ - The server survives client disconnection — work continues, and a new client reconnects to live output
26
+ - Headless operation (no client at all) is a natural subset — the server executes prompts from scripts or CI
27
+
28
+ ## Desired Outcome Definition
29
+
30
+ A running `mia-code serve` process exposes an HTTP API on localhost. A `mia-code connect` client (or any HTTP-capable program) attaches to it. The server manages the full agent lifecycle. Clients come and go without disrupting agent work.
31
+
32
+ ## Natural Language Functional Description
33
+
34
+ ### Server Component
35
+
36
+ The server starts via `mia-code serve [--port PORT] [--password SECRET]`. It binds to `127.0.0.1` on the specified port (default: `7880`). If a password is provided, every client request must include it as a Bearer token in the Authorization header.
37
+
38
+ The server exposes these REST endpoints:
39
+
40
+ - `GET /sessions` — list all sessions with metadata (id, project root, timestamps, model)
41
+ - `POST /sessions` — create a new session, returns session ID
42
+ - `GET /sessions/:id` — get session details including message history
43
+ - `DELETE /sessions/:id` — archive or remove a session
44
+ - `POST /sessions/:id/messages` — send a user prompt to the agent; returns immediately with a message ID
45
+ - `GET /sessions/:id/messages` — retrieve message history with pagination
46
+ - `GET /sessions/:id/events` — SSE (Server-Sent Events) stream for real-time updates
47
+ - `GET /config` — current configuration
48
+ - `PUT /config` — update configuration values
49
+ - `GET /health` — server status, uptime, active sessions count
50
+
51
+ The SSE event stream (`/sessions/:id/events`) emits typed events:
52
+ - `message.start` — agent begins processing
53
+ - `message.chunk` — streaming text chunk from agent
54
+ - `message.complete` — agent finished, includes full response
55
+ - `tool.start` — tool execution begins (name, parameters)
56
+ - `tool.complete` — tool finished (result, duration)
57
+ - `ceremonial.output` — the 🧠 Mia / 🌸 Miette dual-perspective interpretation
58
+ - `error` — any error during processing
59
+
60
+ Each event is a JSON object with `type`, `timestamp`, `sessionId`, and a typed `payload`.
61
+
62
+ ### Client Component
63
+
64
+ The default TUI client starts via `mia-code connect [--server URL] [--password SECRET]`. It renders the same chalk/ora interface users already know, but sources data from the server instead of running agents locally. The client:
65
+
66
+ 1. Connects to the server's SSE endpoint for the active session
67
+ 2. Renders incoming events using existing `formatting.ts` logic
68
+ 3. Captures user input via `multiline-input.ts` and POSTs to `/sessions/:id/messages`
69
+ 4. Handles reconnection automatically if the connection drops
70
+
71
+ ### Session Ownership
72
+
73
+ The server owns session state. The `sessionStore.ts` module moves from file I/O to an internal server-side store. Clients never read `~/.mia-code-sessions.json` directly — they query the API.
74
+
75
+ ### Authentication
76
+
77
+ When `--password` is set, the server validates every request. Unauthorized requests receive `401`. This is lightweight security for localhost use — not intended for public exposure.
78
+
79
+ ## Supporting Structures
80
+
81
+ - **Event Bus (RISE-002)** provides the internal pub/sub that the SSE stream exposes externally
82
+ - **Instance State (RISE-003)** ensures server-side state is scoped per project directory
83
+ - **Structured Logging (RISE-007)** gives the server observable request/response logging
84
+ - **Lazy Initialization (RISE-008)** defers agent process spawning until the first prompt arrives
85
+
86
+ ## Creative Advancement Scenarios
87
+
88
+ **Scenario 1 — Remote Driving from Mobile:**
89
+ A developer starts `mia-code serve --port 7880 --password hunter2` on their workstation. They SSH-tunnel port 7880 to their phone. A simple web client (or curl) sends prompts and receives SSE events. The agent runs with full CPU/memory of the workstation while the developer lounges on the couch.
90
+
91
+ **Scenario 2 — Headless CI Integration:**
92
+ A CI pipeline calls `curl -X POST http://localhost:7880/sessions -d '{"projectRoot":"/app"}'` to create a session, then sends a prompt asking the agent to review a PR diff. The response streams back as SSE events. No TUI, no terminal, no human in the loop.
93
+
94
+ **Scenario 3 — Pair Programming Observer:**
95
+ Two developers connect to the same session. Developer A types prompts. Developer B watches the SSE stream in their own terminal. Both see the same agent output in real-time. Developer B can also send messages — the server queues them.
96
+
97
+ **Scenario 4 — Surviving Disconnection:**
98
+ A developer starts a long refactoring prompt, then their laptop sleeps. The server continues executing. When the laptop wakes, `mia-code connect` reconnects and replays missed events from the message history endpoint.