minima-cli 0.5.0__tar.gz → 0.7.0__tar.gz

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 (599) hide show
  1. minima_cli-0.7.0/AGENTS.md +58 -0
  2. {minima_cli-0.5.0 → minima_cli-0.7.0}/CHANGELOG.md +60 -0
  3. {minima_cli-0.5.0 → minima_cli-0.7.0}/Makefile +2 -16
  4. {minima_cli-0.5.0 → minima_cli-0.7.0}/PKG-INFO +11 -32
  5. {minima_cli-0.5.0 → minima_cli-0.7.0}/README.md +10 -23
  6. minima_cli-0.7.0/docs/agent-core-architecture.md +748 -0
  7. minima_cli-0.7.0/docs/agent-core-implementation-plan.md +168 -0
  8. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/api-reference.md +2 -1
  9. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/configuration.md +6 -1
  10. minima_cli-0.7.0/docs/harness.md +22 -0
  11. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/publishing.md +17 -20
  12. minima_cli-0.7.0/docs-site/.dockerignore +5 -0
  13. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs-site/Dockerfile +15 -6
  14. minima_cli-0.7.0/docs-site/components/Accordion.tsx +38 -0
  15. minima_cli-0.7.0/docs-site/components/Badge.tsx +49 -0
  16. minima_cli-0.7.0/docs-site/components/Card.tsx +148 -0
  17. minima_cli-0.7.0/docs-site/components/CardGroup.tsx +22 -0
  18. minima_cli-0.7.0/docs-site/components/Frame.tsx +35 -0
  19. minima_cli-0.7.0/docs-site/components/Note.tsx +41 -0
  20. minima_cli-0.7.0/docs-site/components/PageHeader.tsx +28 -0
  21. minima_cli-0.7.0/docs-site/components/Steps.tsx +76 -0
  22. minima_cli-0.7.0/docs-site/components/Tabs.tsx +70 -0
  23. minima_cli-0.7.0/docs-site/components/index.ts +9 -0
  24. minima_cli-0.7.0/docs-site/components/sidebar.ts +95 -0
  25. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs-site/netlify.toml +1 -1
  26. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs-site/nginx.conf +12 -13
  27. minima_cli-0.7.0/docs-site/package-lock.json +10525 -0
  28. minima_cli-0.7.0/docs-site/package.json +22 -0
  29. minima_cli-0.5.0/docs-site/src/content/docs/api-reference.mdx → minima_cli-0.7.0/docs-site/pages/api-reference/endpoints.mdx +64 -20
  30. minima_cli-0.7.0/docs-site/pages/harness/cli.mdx +96 -0
  31. minima_cli-0.7.0/docs-site/pages/harness/configuration.mdx +108 -0
  32. minima_cli-0.7.0/docs-site/pages/harness/installation.mdx +101 -0
  33. minima_cli-0.7.0/docs-site/pages/harness/interactive.mdx +82 -0
  34. minima_cli-0.7.0/docs-site/pages/harness/overview.mdx +49 -0
  35. minima_cli-0.7.0/docs-site/pages/harness/routing.mdx +54 -0
  36. minima_cli-0.7.0/docs-site/pages/harness/sessions.mdx +40 -0
  37. minima_cli-0.7.0/docs-site/pages/harness/tools.mdx +80 -0
  38. minima_cli-0.7.0/docs-site/pages/harness/troubleshooting.mdx +56 -0
  39. {minima_cli-0.5.0/docs-site/src/content/docs → minima_cli-0.7.0/docs-site/pages}/index.mdx +34 -26
  40. {minima_cli-0.5.0/docs-site/src/content/docs → minima_cli-0.7.0/docs-site/pages/sdk}/client-sdk.mdx +11 -9
  41. {minima_cli-0.5.0/docs-site/src/content/docs → minima_cli-0.7.0/docs-site/pages/sdk}/concepts.mdx +9 -7
  42. {minima_cli-0.5.0/docs-site/src/content/docs → minima_cli-0.7.0/docs-site/pages/sdk}/examples.mdx +13 -10
  43. minima_cli-0.7.0/docs-site/pages/sdk/getting-started.mdx +71 -0
  44. minima_cli-0.7.0/docs-site/public/images/favicon.png +0 -0
  45. minima_cli-0.7.0/docs-site/public/images/logo-dark.svg +11 -0
  46. minima_cli-0.7.0/docs-site/public/images/logo-light.svg +11 -0
  47. minima_cli-0.7.0/docs-site/public/styles/global.css +63 -0
  48. minima_cli-0.7.0/docs-site/tsconfig.json +20 -0
  49. minima_cli-0.7.0/docs-site/vocs.config.ts +96 -0
  50. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/README.md +0 -1
  51. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/README.md +1 -1
  52. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/bun.lock +75 -0
  53. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/package.json +3 -2
  54. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/agent/agent.ts +5 -1
  55. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/agent/index.ts +1 -1
  56. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/agent/state.ts +1 -1
  57. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/agent/tools.ts +1 -1
  58. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/compat.ts +1 -1
  59. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/events.ts +1 -1
  60. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/index.ts +1 -1
  61. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/provider_catalog.ts +1 -1
  62. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/provider_quirks.ts +1 -1
  63. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/providers/_common.ts +1 -1
  64. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/providers/anthropic.ts +12 -3
  65. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/providers/base.ts +1 -1
  66. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/providers/faux.ts +1 -1
  67. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/providers/google.ts +3 -2
  68. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/providers/index.ts +1 -1
  69. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/providers/openai_compat.ts +13 -3
  70. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/registry.ts +1 -1
  71. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/stream.ts +1 -1
  72. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/types.ts +1 -1
  73. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/ai/usage.ts +1 -1
  74. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/cli/main.ts +174 -10
  75. minima_cli-0.7.0/packages/tui/src/db/metrics.ts +167 -0
  76. minima_cli-0.7.0/packages/tui/src/db/minima_db.ts +442 -0
  77. minima_cli-0.7.0/packages/tui/src/db/rehydrate.ts +80 -0
  78. minima_cli-0.7.0/packages/tui/src/db/sink.ts +161 -0
  79. minima_cli-0.7.0/packages/tui/src/errtext.ts +11 -0
  80. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/index.ts +1 -1
  81. minima_cli-0.7.0/packages/tui/src/minima/budget.ts +251 -0
  82. minima_cli-0.7.0/packages/tui/src/minima/catalog.ts +150 -0
  83. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/client.ts +14 -1
  84. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/config.ts +1 -1
  85. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/index.ts +1 -1
  86. minima_cli-0.7.0/packages/tui/src/minima/judge.ts +173 -0
  87. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/mapping.ts +1 -1
  88. minima_cli-0.7.0/packages/tui/src/minima/memory.ts +171 -0
  89. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/meter.ts +1 -1
  90. minima_cli-0.7.0/packages/tui/src/minima/mubit_memory_factory.ts +32 -0
  91. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/router.ts +84 -7
  92. minima_cli-0.7.0/packages/tui/src/minima/runtime.ts +651 -0
  93. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/schemas.ts +17 -0
  94. minima_cli-0.7.0/packages/tui/src/minima/spawn.ts +225 -0
  95. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/run_modes.ts +34 -15
  96. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/session/store.ts +1 -1
  97. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/_io.ts +25 -2
  98. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/bash.ts +16 -5
  99. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/builtin.ts +15 -8
  100. minima_cli-0.7.0/packages/tui/src/tools/edit.ts +56 -0
  101. minima_cli-0.7.0/packages/tui/src/tools/glob.ts +37 -0
  102. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/grep.ts +11 -5
  103. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/index.ts +1 -1
  104. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/ls.ts +12 -6
  105. minima_cli-0.7.0/packages/tui/src/tools/read.ts +40 -0
  106. minima_cli-0.7.0/packages/tui/src/tools/task.ts +289 -0
  107. minima_cli-0.7.0/packages/tui/src/tools/todowrite.ts +65 -0
  108. minima_cli-0.7.0/packages/tui/src/tools/types.ts +9 -0
  109. minima_cli-0.7.0/packages/tui/src/tools/write.ts +37 -0
  110. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/app.tsx +409 -113
  111. minima_cli-0.7.0/packages/tui/src/tui/child_tree.tsx +62 -0
  112. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/config_store.ts +1 -1
  113. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/context.ts +1 -1
  114. minima_cli-0.7.0/packages/tui/src/tui/layout.ts +164 -0
  115. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/messages.tsx +7 -42
  116. minima_cli-0.7.0/packages/tui/src/tui/model-picker.tsx +106 -0
  117. minima_cli-0.7.0/packages/tui/src/tui/routing-warnings.ts +31 -0
  118. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/status.tsx +31 -1
  119. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/text-input.tsx +8 -2
  120. minima_cli-0.7.0/packages/tui/src/version.ts +9 -0
  121. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/agent.test.ts +11 -12
  122. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/ai.test.ts +4 -10
  123. minima_cli-0.7.0/packages/tui/tests/anthropic.test.ts +197 -0
  124. minima_cli-0.7.0/packages/tui/tests/budget.test.ts +262 -0
  125. minima_cli-0.7.0/packages/tui/tests/candidate-filter.test.ts +129 -0
  126. minima_cli-0.7.0/packages/tui/tests/catalog.test.ts +135 -0
  127. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/client.test.ts +58 -14
  128. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/config_store.test.ts +6 -6
  129. minima_cli-0.7.0/packages/tui/tests/db.test.ts +367 -0
  130. minima_cli-0.7.0/packages/tui/tests/effort.test.ts +157 -0
  131. minima_cli-0.7.0/packages/tui/tests/error-ux.test.ts +74 -0
  132. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/google.test.ts +77 -39
  133. minima_cli-0.7.0/packages/tui/tests/isolation.test.ts +155 -0
  134. minima_cli-0.7.0/packages/tui/tests/judge.test.ts +145 -0
  135. minima_cli-0.7.0/packages/tui/tests/ladder.test.ts +207 -0
  136. minima_cli-0.7.0/packages/tui/tests/layout.test.ts +150 -0
  137. minima_cli-0.7.0/packages/tui/tests/memory.test.ts +158 -0
  138. minima_cli-0.7.0/packages/tui/tests/minima.test.ts +363 -0
  139. minima_cli-0.7.0/packages/tui/tests/minima_memory.test.ts +209 -0
  140. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/openai_compat.test.ts +10 -13
  141. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/run_modes.test.ts +14 -5
  142. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/session.test.ts +1 -1
  143. minima_cli-0.7.0/packages/tui/tests/spawn.test.ts +351 -0
  144. minima_cli-0.7.0/packages/tui/tests/task.test.ts +273 -0
  145. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/thinking.test.ts +15 -7
  146. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/tools.test.ts +8 -1
  147. {minima_cli-0.5.0 → minima_cli-0.7.0}/pyproject.toml +8 -14
  148. minima_cli-0.7.0/scripts/eval/classify_dataset.json +46 -0
  149. minima_cli-0.7.0/scripts/eval/eval_classify.py +116 -0
  150. {minima_cli-0.5.0 → minima_cli-0.7.0}/scripts/test-routing.sh +3 -3
  151. {minima_cli-0.5.0 → minima_cli-0.7.0}/scripts/test-routing.ts +1 -1
  152. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/auth.py +9 -3
  153. minima_cli-0.7.0/src/minima/api/routers/capabilities.py +42 -0
  154. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/feedback.py +16 -4
  155. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/strategies.py +11 -3
  156. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/config.py +6 -1
  157. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/llm/base.py +6 -0
  158. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/llm/gemini.py +6 -0
  159. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/main.py +2 -0
  160. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/metrics/calibration.py +5 -0
  161. minima_cli-0.7.0/src/minima/recommender/classify.py +580 -0
  162. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/engine.py +119 -49
  163. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/escalation.py +17 -0
  164. minima_cli-0.7.0/src/minima/schemas/capabilities.py +15 -0
  165. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/feedback.py +9 -0
  166. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/recommend.py +31 -0
  167. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/strategies.py +1 -0
  168. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/version.py +1 -1
  169. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/conftest.py +28 -0
  170. minima_cli-0.7.0/tests/eval/prompt_length_benchmark.py +296 -0
  171. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/factories.py +2 -0
  172. minima_cli-0.7.0/tests/integration/test_escalation_reasoner.py +147 -0
  173. minima_cli-0.7.0/tests/integration/test_feedback_loop.py +166 -0
  174. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/integration/test_recommend_api.py +29 -0
  175. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/integration/test_strategies_api.py +21 -0
  176. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/live/test_escalation_fixes.py +13 -9
  177. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/live/test_full_surface_live.py +2 -0
  178. minima_cli-0.7.0/tests/unit/test_capabilities.py +55 -0
  179. minima_cli-0.7.0/tests/unit/test_classify_benchmark.py +247 -0
  180. minima_cli-0.7.0/tests/unit/test_classify_keys.py +131 -0
  181. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_neighbor_classify.py +14 -1
  182. minima_cli-0.7.0/tests/unit/test_prompt_length_benchmark.py +43 -0
  183. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_reasoner.py +27 -0
  184. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_store_backends.py +28 -0
  185. {minima_cli-0.5.0 → minima_cli-0.7.0}/uv.lock +3 -205
  186. minima_cli-0.5.0/AGENTS.md +0 -90
  187. minima_cli-0.5.0/agent/task_set.py +0 -8
  188. minima_cli-0.5.0/docs/harness.md +0 -223
  189. minima_cli-0.5.0/docs-site/astro.config.mjs +0 -44
  190. minima_cli-0.5.0/docs-site/package-lock.json +0 -7460
  191. minima_cli-0.5.0/docs-site/package.json +0 -19
  192. minima_cli-0.5.0/docs-site/public/favicon.svg +0 -5
  193. minima_cli-0.5.0/docs-site/src/assets/logo.svg +0 -6
  194. minima_cli-0.5.0/docs-site/src/content/config.ts +0 -7
  195. minima_cli-0.5.0/docs-site/src/content/docs/getting-started.mdx +0 -72
  196. minima_cli-0.5.0/docs-site/src/styles/custom.css +0 -100
  197. minima_cli-0.5.0/docs-site/tsconfig.json +0 -6
  198. minima_cli-0.5.0/examples/harness_warmup.py +0 -333
  199. minima_cli-0.5.0/packages/tui/src/minima/judge.ts +0 -110
  200. minima_cli-0.5.0/packages/tui/src/minima/runtime.ts +0 -273
  201. minima_cli-0.5.0/packages/tui/src/tools/edit.ts +0 -55
  202. minima_cli-0.5.0/packages/tui/src/tools/glob.ts +0 -37
  203. minima_cli-0.5.0/packages/tui/src/tools/read.ts +0 -39
  204. minima_cli-0.5.0/packages/tui/src/tools/todowrite.ts +0 -67
  205. minima_cli-0.5.0/packages/tui/src/tools/write.ts +0 -34
  206. minima_cli-0.5.0/packages/tui/src/tui/model-picker.tsx +0 -66
  207. minima_cli-0.5.0/packages/tui/tests/anthropic.test.ts +0 -121
  208. minima_cli-0.5.0/packages/tui/tests/minima.test.ts +0 -172
  209. minima_cli-0.5.0/src/minima/recommender/classify.py +0 -165
  210. minima_cli-0.5.0/src/minima_harness/LICENSE_PI +0 -32
  211. minima_cli-0.5.0/src/minima_harness/__init__.py +0 -16
  212. minima_cli-0.5.0/src/minima_harness/agent/__init__.py +0 -72
  213. minima_cli-0.5.0/src/minima_harness/agent/agent.py +0 -276
  214. minima_cli-0.5.0/src/minima_harness/agent/events.py +0 -124
  215. minima_cli-0.5.0/src/minima_harness/agent/loop.py +0 -311
  216. minima_cli-0.5.0/src/minima_harness/agent/state.py +0 -79
  217. minima_cli-0.5.0/src/minima_harness/agent/tools.py +0 -97
  218. minima_cli-0.5.0/src/minima_harness/ai/__init__.py +0 -66
  219. minima_cli-0.5.0/src/minima_harness/ai/compat.py +0 -71
  220. minima_cli-0.5.0/src/minima_harness/ai/errors.py +0 -96
  221. minima_cli-0.5.0/src/minima_harness/ai/events.py +0 -117
  222. minima_cli-0.5.0/src/minima_harness/ai/openrouter_catalog.py +0 -153
  223. minima_cli-0.5.0/src/minima_harness/ai/provider_catalog.py +0 -299
  224. minima_cli-0.5.0/src/minima_harness/ai/provider_quirks.py +0 -37
  225. minima_cli-0.5.0/src/minima_harness/ai/providers/__init__.py +0 -75
  226. minima_cli-0.5.0/src/minima_harness/ai/providers/_common.py +0 -48
  227. minima_cli-0.5.0/src/minima_harness/ai/providers/anthropic.py +0 -290
  228. minima_cli-0.5.0/src/minima_harness/ai/providers/base.py +0 -65
  229. minima_cli-0.5.0/src/minima_harness/ai/providers/faux.py +0 -173
  230. minima_cli-0.5.0/src/minima_harness/ai/providers/google.py +0 -221
  231. minima_cli-0.5.0/src/minima_harness/ai/providers/openai_compat.py +0 -278
  232. minima_cli-0.5.0/src/minima_harness/ai/registry.py +0 -184
  233. minima_cli-0.5.0/src/minima_harness/ai/stream.py +0 -82
  234. minima_cli-0.5.0/src/minima_harness/ai/tools.py +0 -51
  235. minima_cli-0.5.0/src/minima_harness/ai/types.py +0 -204
  236. minima_cli-0.5.0/src/minima_harness/ai/usage.py +0 -41
  237. minima_cli-0.5.0/src/minima_harness/minima/__init__.py +0 -40
  238. minima_cli-0.5.0/src/minima_harness/minima/cache.py +0 -102
  239. minima_cli-0.5.0/src/minima_harness/minima/config.py +0 -86
  240. minima_cli-0.5.0/src/minima_harness/minima/goals.py +0 -226
  241. minima_cli-0.5.0/src/minima_harness/minima/judge.py +0 -144
  242. minima_cli-0.5.0/src/minima_harness/minima/mapping.py +0 -147
  243. minima_cli-0.5.0/src/minima_harness/minima/meter.py +0 -143
  244. minima_cli-0.5.0/src/minima_harness/minima/router.py +0 -220
  245. minima_cli-0.5.0/src/minima_harness/minima/runtime.py +0 -544
  246. minima_cli-0.5.0/src/minima_harness/minima/signals.py +0 -195
  247. minima_cli-0.5.0/src/minima_harness/session/__init__.py +0 -14
  248. minima_cli-0.5.0/src/minima_harness/session/format.py +0 -35
  249. minima_cli-0.5.0/src/minima_harness/session/store.py +0 -236
  250. minima_cli-0.5.0/src/minima_harness/tasks/__init__.py +0 -17
  251. minima_cli-0.5.0/src/minima_harness/tasks/task_set.py +0 -78
  252. minima_cli-0.5.0/src/minima_harness/tools/__init__.py +0 -7
  253. minima_cli-0.5.0/src/minima_harness/tools/_io.py +0 -34
  254. minima_cli-0.5.0/src/minima_harness/tools/bash.py +0 -70
  255. minima_cli-0.5.0/src/minima_harness/tools/builtin.py +0 -23
  256. minima_cli-0.5.0/src/minima_harness/tools/edit.py +0 -50
  257. minima_cli-0.5.0/src/minima_harness/tools/find.py +0 -38
  258. minima_cli-0.5.0/src/minima_harness/tools/grep.py +0 -73
  259. minima_cli-0.5.0/src/minima_harness/tools/ls.py +0 -35
  260. minima_cli-0.5.0/src/minima_harness/tools/read.py +0 -38
  261. minima_cli-0.5.0/src/minima_harness/tools/tasks.py +0 -75
  262. minima_cli-0.5.0/src/minima_harness/tools/write.py +0 -36
  263. minima_cli-0.5.0/src/minima_harness/tui/__init__.py +0 -3
  264. minima_cli-0.5.0/src/minima_harness/tui/analytics.py +0 -111
  265. minima_cli-0.5.0/src/minima_harness/tui/app.py +0 -1943
  266. minima_cli-0.5.0/src/minima_harness/tui/bridge.py +0 -103
  267. minima_cli-0.5.0/src/minima_harness/tui/cli.py +0 -227
  268. minima_cli-0.5.0/src/minima_harness/tui/clipboard.py +0 -60
  269. minima_cli-0.5.0/src/minima_harness/tui/commands.py +0 -49
  270. minima_cli-0.5.0/src/minima_harness/tui/compaction.py +0 -17
  271. minima_cli-0.5.0/src/minima_harness/tui/config_cli.py +0 -141
  272. minima_cli-0.5.0/src/minima_harness/tui/config_store.py +0 -237
  273. minima_cli-0.5.0/src/minima_harness/tui/context.py +0 -93
  274. minima_cli-0.5.0/src/minima_harness/tui/customize.py +0 -95
  275. minima_cli-0.5.0/src/minima_harness/tui/diff.py +0 -53
  276. minima_cli-0.5.0/src/minima_harness/tui/editor.py +0 -43
  277. minima_cli-0.5.0/src/minima_harness/tui/extensions.py +0 -84
  278. minima_cli-0.5.0/src/minima_harness/tui/extra_models.py +0 -52
  279. minima_cli-0.5.0/src/minima_harness/tui/history.py +0 -71
  280. minima_cli-0.5.0/src/minima_harness/tui/mubit.py +0 -295
  281. minima_cli-0.5.0/src/minima_harness/tui/overlays.py +0 -593
  282. minima_cli-0.5.0/src/minima_harness/tui/packages.py +0 -59
  283. minima_cli-0.5.0/src/minima_harness/tui/run_modes.py +0 -66
  284. minima_cli-0.5.0/src/minima_harness/tui/theme.py +0 -77
  285. minima_cli-0.5.0/src/minima_harness/tui/welcome.py +0 -83
  286. minima_cli-0.5.0/src/minima_harness/tui/widgets/__init__.py +0 -3
  287. minima_cli-0.5.0/src/minima_harness/tui/widgets/banner.py +0 -38
  288. minima_cli-0.5.0/src/minima_harness/tui/widgets/editor.py +0 -84
  289. minima_cli-0.5.0/src/minima_harness/tui/widgets/footer.py +0 -73
  290. minima_cli-0.5.0/src/minima_harness/tui/widgets/messages.py +0 -151
  291. minima_cli-0.5.0/src/minima_harness/tui/widgets/status.py +0 -57
  292. minima_cli-0.5.0/tests/harness/__init__.py +0 -0
  293. minima_cli-0.5.0/tests/harness/session/__init__.py +0 -0
  294. minima_cli-0.5.0/tests/harness/session/test_format.py +0 -23
  295. minima_cli-0.5.0/tests/harness/session/test_manager.py +0 -85
  296. minima_cli-0.5.0/tests/harness/session/test_store.py +0 -109
  297. minima_cli-0.5.0/tests/harness/test_agent_loop.py +0 -300
  298. minima_cli-0.5.0/tests/harness/test_anthropic_mapping.py +0 -310
  299. minima_cli-0.5.0/tests/harness/test_auth_reroute.py +0 -408
  300. minima_cli-0.5.0/tests/harness/test_cache.py +0 -65
  301. minima_cli-0.5.0/tests/harness/test_catalog_overlay.py +0 -104
  302. minima_cli-0.5.0/tests/harness/test_common_and_wire.py +0 -82
  303. minima_cli-0.5.0/tests/harness/test_compat.py +0 -74
  304. minima_cli-0.5.0/tests/harness/test_errors.py +0 -99
  305. minima_cli-0.5.0/tests/harness/test_goals.py +0 -153
  306. minima_cli-0.5.0/tests/harness/test_google_mapping.py +0 -182
  307. minima_cli-0.5.0/tests/harness/test_judge.py +0 -62
  308. minima_cli-0.5.0/tests/harness/test_live.py +0 -58
  309. minima_cli-0.5.0/tests/harness/test_mapping.py +0 -53
  310. minima_cli-0.5.0/tests/harness/test_minima_e2e.py +0 -150
  311. minima_cli-0.5.0/tests/harness/test_openai_compat_sse.py +0 -142
  312. minima_cli-0.5.0/tests/harness/test_openrouter_catalog.py +0 -134
  313. minima_cli-0.5.0/tests/harness/test_phase0_smoke.py +0 -162
  314. minima_cli-0.5.0/tests/harness/test_phase_a.py +0 -272
  315. minima_cli-0.5.0/tests/harness/test_phase_b.py +0 -119
  316. minima_cli-0.5.0/tests/harness/test_phase_c.py +0 -102
  317. minima_cli-0.5.0/tests/harness/test_provider_catalog.py +0 -102
  318. minima_cli-0.5.0/tests/harness/test_provider_quirks.py +0 -14
  319. minima_cli-0.5.0/tests/harness/test_provider_registration.py +0 -33
  320. minima_cli-0.5.0/tests/harness/test_provider_wiring.py +0 -166
  321. minima_cli-0.5.0/tests/harness/test_runtime.py +0 -491
  322. minima_cli-0.5.0/tests/harness/test_signals.py +0 -264
  323. minima_cli-0.5.0/tests/harness/tools/__init__.py +0 -0
  324. minima_cli-0.5.0/tests/harness/tools/test_agent_smoke.py +0 -21
  325. minima_cli-0.5.0/tests/harness/tools/test_bash.py +0 -41
  326. minima_cli-0.5.0/tests/harness/tools/test_builtin.py +0 -17
  327. minima_cli-0.5.0/tests/harness/tools/test_edit.py +0 -42
  328. minima_cli-0.5.0/tests/harness/tools/test_find.py +0 -22
  329. minima_cli-0.5.0/tests/harness/tools/test_grep.py +0 -30
  330. minima_cli-0.5.0/tests/harness/tools/test_io.py +0 -38
  331. minima_cli-0.5.0/tests/harness/tools/test_ls.py +0 -26
  332. minima_cli-0.5.0/tests/harness/tools/test_read.py +0 -34
  333. minima_cli-0.5.0/tests/harness/tools/test_write.py +0 -21
  334. minima_cli-0.5.0/tests/harness/tui/__init__.py +0 -0
  335. minima_cli-0.5.0/tests/harness/tui/test_analytics.py +0 -48
  336. minima_cli-0.5.0/tests/harness/tui/test_app_pilot.py +0 -70
  337. minima_cli-0.5.0/tests/harness/tui/test_bridge.py +0 -64
  338. minima_cli-0.5.0/tests/harness/tui/test_clipboard.py +0 -80
  339. minima_cli-0.5.0/tests/harness/tui/test_command_popup.py +0 -46
  340. minima_cli-0.5.0/tests/harness/tui/test_commands.py +0 -36
  341. minima_cli-0.5.0/tests/harness/tui/test_config.py +0 -279
  342. minima_cli-0.5.0/tests/harness/tui/test_context.py +0 -42
  343. minima_cli-0.5.0/tests/harness/tui/test_customize.py +0 -31
  344. minima_cli-0.5.0/tests/harness/tui/test_decision_card.py +0 -231
  345. minima_cli-0.5.0/tests/harness/tui/test_diff.py +0 -45
  346. minima_cli-0.5.0/tests/harness/tui/test_editor.py +0 -39
  347. minima_cli-0.5.0/tests/harness/tui/test_editor_widget.py +0 -53
  348. minima_cli-0.5.0/tests/harness/tui/test_export.py +0 -37
  349. minima_cli-0.5.0/tests/harness/tui/test_extensions.py +0 -76
  350. minima_cli-0.5.0/tests/harness/tui/test_goals_tui.py +0 -183
  351. minima_cli-0.5.0/tests/harness/tui/test_history_sessions.py +0 -151
  352. minima_cli-0.5.0/tests/harness/tui/test_messages.py +0 -64
  353. minima_cli-0.5.0/tests/harness/tui/test_mouse_copy.py +0 -101
  354. minima_cli-0.5.0/tests/harness/tui/test_mubit.py +0 -67
  355. minima_cli-0.5.0/tests/harness/tui/test_optimize.py +0 -118
  356. minima_cli-0.5.0/tests/harness/tui/test_overlays.py +0 -106
  357. minima_cli-0.5.0/tests/harness/tui/test_p2.py +0 -61
  358. minima_cli-0.5.0/tests/harness/tui/test_p3.py +0 -65
  359. minima_cli-0.5.0/tests/harness/tui/test_p5.py +0 -89
  360. minima_cli-0.5.0/tests/harness/tui/test_permissions.py +0 -142
  361. minima_cli-0.5.0/tests/harness/tui/test_predictability.py +0 -77
  362. minima_cli-0.5.0/tests/harness/tui/test_prompt_layers.py +0 -106
  363. minima_cli-0.5.0/tests/harness/tui/test_queue.py +0 -81
  364. minima_cli-0.5.0/tests/harness/tui/test_run_modes.py +0 -41
  365. minima_cli-0.5.0/tests/harness/tui/test_status.py +0 -24
  366. minima_cli-0.5.0/tests/harness/tui/test_status_bar.py +0 -45
  367. minima_cli-0.5.0/tests/harness/tui/test_theme.py +0 -21
  368. minima_cli-0.5.0/tests/harness/tui/test_thoughts.py +0 -70
  369. minima_cli-0.5.0/tests/harness/tui/test_tool_render.py +0 -65
  370. minima_cli-0.5.0/tests/harness/tui/test_ux.py +0 -228
  371. minima_cli-0.5.0/tests/harness/tui/test_welcome.py +0 -113
  372. minima_cli-0.5.0/tests/harness/tui/test_widgets.py +0 -126
  373. minima_cli-0.5.0/tests/integration/test_escalation_reasoner.py +0 -71
  374. minima_cli-0.5.0/tests/integration/test_feedback_loop.py +0 -81
  375. minima_cli-0.5.0/tests/unit/test_classify_keys.py +0 -53
  376. {minima_cli-0.5.0 → minima_cli-0.7.0}/.dockerignore +0 -0
  377. {minima_cli-0.5.0 → minima_cli-0.7.0}/.env.example +0 -0
  378. {minima_cli-0.5.0 → minima_cli-0.7.0}/.github/workflows/prod.yml +0 -0
  379. {minima_cli-0.5.0 → minima_cli-0.7.0}/.github/workflows/release-cli.yml +0 -0
  380. {minima_cli-0.5.0 → minima_cli-0.7.0}/.github/workflows/staging.yml +0 -0
  381. {minima_cli-0.5.0 → minima_cli-0.7.0}/.gitignore +0 -0
  382. {minima_cli-0.5.0 → minima_cli-0.7.0}/Dockerfile +0 -0
  383. {minima_cli-0.5.0 → minima_cli-0.7.0}/LICENSE +0 -0
  384. {minima_cli-0.5.0 → minima_cli-0.7.0}/client_sdk/minima_client/__init__.py +0 -0
  385. {minima_cli-0.5.0 → minima_cli-0.7.0}/client_sdk/minima_client/autocapture.py +0 -0
  386. {minima_cli-0.5.0 → minima_cli-0.7.0}/client_sdk/minima_client/client.py +0 -0
  387. {minima_cli-0.5.0 → minima_cli-0.7.0}/client_sdk/minima_client/errors.py +0 -0
  388. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/README.md +0 -0
  389. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/client-sdk.md +0 -0
  390. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/concepts.md +0 -0
  391. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/examples.md +0 -0
  392. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/getting-started.md +0 -0
  393. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/goals-feature-plan.md +0 -0
  394. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/multi-tenancy.md +0 -0
  395. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/operations.md +0 -0
  396. {minima_cli-0.5.0 → minima_cli-0.7.0}/docs/seeding.md +0 -0
  397. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/01_quickstart.sh +0 -0
  398. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/02_recommend_and_feedback.py +0 -0
  399. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/03_constraints_and_tradeoff.py +0 -0
  400. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/04_workflow.py +0 -0
  401. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/05_autocapture.py +0 -0
  402. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/06_routed_llm_call.py +0 -0
  403. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/07_multitenant_admin.py +0 -0
  404. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/agent_escalation.py +0 -0
  405. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/agent_escalation_learn.py +0 -0
  406. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/agent_gemini.py +0 -0
  407. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/agent_retention.py +0 -0
  408. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/agent_warmup.py +0 -0
  409. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/agent_warmup_vary.py +0 -0
  410. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/metrics_demo.py +0 -0
  411. {minima_cli-0.5.0 → minima_cli-0.7.0}/examples/smoke_test.py +0 -0
  412. {minima_cli-0.5.0 → minima_cli-0.7.0}/maybe.js +0 -0
  413. {minima_cli-0.5.0 → minima_cli-0.7.0}/maybe.ts +0 -0
  414. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/.gitignore +0 -0
  415. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/biome.json +0 -0
  416. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/scripts/build-all.ts +0 -0
  417. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/scripts/build.ts +0 -0
  418. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/scripts/install.sh +0 -0
  419. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/scripts/stub-devtools.ts +0 -0
  420. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/agent/events.ts +0 -0
  421. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/agent/loop.ts +0 -0
  422. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/minima/errors.ts +0 -0
  423. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/session/index.ts +0 -0
  424. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/at_mentions.ts +0 -0
  425. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/schema.ts +0 -0
  426. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tools/web_fetch.ts +0 -0
  427. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/auth.ts +0 -0
  428. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/compact.ts +0 -0
  429. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/mouse-scroll.ts +0 -0
  430. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/permissions.ts +0 -0
  431. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/tui/projects.ts +0 -0
  432. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/src/types.d.ts +0 -0
  433. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tests/auth.test.ts +0 -0
  434. {minima_cli-0.5.0 → minima_cli-0.7.0}/packages/tui/tsconfig.json +0 -0
  435. {minima_cli-0.5.0 → minima_cli-0.7.0}/packaging/homebrew/README.md +0 -0
  436. {minima_cli-0.5.0 → minima_cli-0.7.0}/packaging/homebrew/render_formula.py +0 -0
  437. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_125009/recall_debug.jsonl +0 -0
  438. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_125009/strategies_run1.json +0 -0
  439. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_125009/strategies_run2.json +0 -0
  440. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_125009/strategies_run3.json +0 -0
  441. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_125009/tasks.jsonl +0 -0
  442. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/REPORT.md +0 -0
  443. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/recall_debug.jsonl +0 -0
  444. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/strategies_run1.json +0 -0
  445. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/strategies_run2.json +0 -0
  446. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/strategies_run3.json +0 -0
  447. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/strategies_run4.json +0 -0
  448. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/strategies_run5.json +0 -0
  449. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/summary.json +0 -0
  450. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_130252/tasks.jsonl +0 -0
  451. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_182838/recall_debug.jsonl +0 -0
  452. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_182838/strategies_run1.json +0 -0
  453. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_182838/strategies_run2.json +0 -0
  454. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_182838/tasks.jsonl +0 -0
  455. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/REPORT.md +0 -0
  456. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/memory_audit.json +0 -0
  457. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/recall_debug.jsonl +0 -0
  458. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/strategies_run1.json +0 -0
  459. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/strategies_run2.json +0 -0
  460. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/strategies_run3.json +0 -0
  461. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/strategies_run4.json +0 -0
  462. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/strategies_run5.json +0 -0
  463. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/summary.json +0 -0
  464. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260612_183343/tasks.jsonl +0 -0
  465. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/REPORT.md +0 -0
  466. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/memory_audit.json +0 -0
  467. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/recall_debug.jsonl +0 -0
  468. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/strategies_run1.json +0 -0
  469. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/strategies_run2.json +0 -0
  470. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/strategies_run3.json +0 -0
  471. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/strategies_run4.json +0 -0
  472. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/strategies_run5.json +0 -0
  473. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/summary.json +0 -0
  474. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260615_101732/tasks.jsonl +0 -0
  475. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260624_103307/memory_audit.json +0 -0
  476. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260624_103307/recall_debug.jsonl +0 -0
  477. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/20260624_103307/tasks.jsonl +0 -0
  478. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalate_20260615_133108/cold_probe.json +0 -0
  479. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalate_20260615_133108/summary.json +0 -0
  480. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalate_20260615_133108/tasks.jsonl +0 -0
  481. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalate_20260615_134209/REPORT.md +0 -0
  482. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalate_20260615_134209/cold_probe.json +0 -0
  483. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalate_20260615_134209/summary.json +0 -0
  484. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalate_20260615_134209/tasks.jsonl +0 -0
  485. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalation_20260612_201825/REPORT.md +0 -0
  486. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalation_20260612_201825/results.jsonl +0 -0
  487. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/escalation_20260612_201825/summary.json +0 -0
  488. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/_manifest.json +0 -0
  489. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/calibration.json +0 -0
  490. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/feedback.json +0 -0
  491. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/health.json +0 -0
  492. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/models.json +0 -0
  493. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/recommend.json +0 -0
  494. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/savings.json +0 -0
  495. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/strategies.json +0 -0
  496. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/playground_p1/workflow.json +0 -0
  497. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/retention_20260612_201828/REPORT.md +0 -0
  498. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/retention_20260612_201828/results.jsonl +0 -0
  499. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/retention_20260612_201828/summary.json +0 -0
  500. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/warmupvary_20260615_123818/REPORT.md +0 -0
  501. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/warmupvary_20260615_123818/summary.json +0 -0
  502. {minima_cli-0.5.0 → minima_cli-0.7.0}/runs/warmupvary_20260615_123818/tasks.jsonl +0 -0
  503. {minima_cli-0.5.0 → minima_cli-0.7.0}/scripts/test-routing-web.ts +0 -0
  504. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/__init__.py +0 -0
  505. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/__init__.py +0 -0
  506. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/errors.py +0 -0
  507. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/__init__.py +0 -0
  508. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/calibration.py +0 -0
  509. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/health.py +0 -0
  510. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/models.py +0 -0
  511. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/recommend.py +0 -0
  512. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/api/routers/savings.py +0 -0
  513. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/__init__.py +0 -0
  514. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/data/capability_priors.json +0 -0
  515. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/data/model_aliases.json +0 -0
  516. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/merge.py +0 -0
  517. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/refresh.py +0 -0
  518. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/sources/__init__.py +0 -0
  519. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/sources/litellm.py +0 -0
  520. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/sources/openrouter.py +0 -0
  521. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/catalog/store.py +0 -0
  522. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/deps.py +0 -0
  523. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/llm/__init__.py +0 -0
  524. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/llm/anthropic.py +0 -0
  525. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/llm/registry.py +0 -0
  526. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/logging.py +0 -0
  527. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/memory/__init__.py +0 -0
  528. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/memory/adapter.py +0 -0
  529. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/memory/keys.py +0 -0
  530. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/memory/records.py +0 -0
  531. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/memory/threadpool.py +0 -0
  532. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/metrics/__init__.py +0 -0
  533. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/metrics/report.py +0 -0
  534. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/metrics/savings.py +0 -0
  535. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/__init__.py +0 -0
  536. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/_pg_pool.py +0 -0
  537. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/_redis_client.py +0 -0
  538. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/aggregate.py +0 -0
  539. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/decisionlog.py +0 -0
  540. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/durablerefs.py +0 -0
  541. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/propensity.py +0 -0
  542. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/recstore.py +0 -0
  543. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/score.py +0 -0
  544. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/recommender/types.py +0 -0
  545. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/__init__.py +0 -0
  546. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/common.py +0 -0
  547. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/models_catalog.py +0 -0
  548. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/savings.py +0 -0
  549. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/schemas/workflow.py +0 -0
  550. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/seeding/__init__.py +0 -0
  551. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/seeding/items.py +0 -0
  552. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/seeding/llmrouterbench.py +0 -0
  553. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/seeding/routerbench.py +0 -0
  554. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/seeding/run_seed.py +0 -0
  555. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/seeding/synthetic.py +0 -0
  556. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/tenancy/__init__.py +0 -0
  557. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/tenancy/context.py +0 -0
  558. {minima_cli-0.5.0 → minima_cli-0.7.0}/src/minima/tenancy/passthrough.py +0 -0
  559. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/__init__.py +0 -0
  560. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/BENCHMARKS.md +0 -0
  561. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/CRITERIA.md +0 -0
  562. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/RESULTS.md +0 -0
  563. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/__init__.py +0 -0
  564. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/harness.py +0 -0
  565. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/llmrouterbench_config.py +0 -0
  566. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/test_llmrouterbench_savings.py +0 -0
  567. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/eval/test_routerbench_savings.py +0 -0
  568. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/integration/test_lesson_promotion.py +0 -0
  569. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/integration/test_measurement_api.py +0 -0
  570. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/integration/test_observed_cost_ranking.py +0 -0
  571. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/integration/test_workflow_models_health.py +0 -0
  572. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/live/test_cost_savings_spotcheck_live.py +0 -0
  573. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/live/test_mubit_roundtrip.py +0 -0
  574. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/live/test_phase3_live.py +0 -0
  575. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/live/test_reasoner_live.py +0 -0
  576. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/live/test_recall_params_live.py +0 -0
  577. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_aggregate.py +0 -0
  578. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_aggregate_decay.py +0 -0
  579. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_autocapture.py +0 -0
  580. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_calibration_fit.py +0 -0
  581. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_cluster.py +0 -0
  582. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_collapse_guard.py +0 -0
  583. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_cost_band.py +0 -0
  584. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_decisionlog.py +0 -0
  585. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_escalation.py +0 -0
  586. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_exploration.py +0 -0
  587. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_ipw.py +0 -0
  588. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_iterations.py +0 -0
  589. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_latency_quality.py +0 -0
  590. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_lever_cost.py +0 -0
  591. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_metrics.py +0 -0
  592. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_metrics_demo.py +0 -0
  593. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_records_catalog.py +0 -0
  594. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_recstore_sqlite.py +0 -0
  595. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_score.py +0 -0
  596. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_shadow_bandit.py +0 -0
  597. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_strategies.py +0 -0
  598. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_tenancy.py +0 -0
  599. {minima_cli-0.5.0 → minima_cli-0.7.0}/tests/unit/test_thompson.py +0 -0
@@ -0,0 +1,58 @@
1
+ # AGENTS.md
2
+
3
+ Guidance for both human and AI agents working in this repo.
4
+
5
+ ## What this repo is
6
+
7
+ - **`src/minima/`** — Minima: a recommend-only LLM cost-optimization service (FastAPI,
8
+ Python 3.11+). It does NOT proxy LLM calls. It tells you which model to run, you run
9
+ it, judge quality, and feed the outcome back via `POST /v1/feedback` so its Mubit
10
+ memory sharpens. See `docs/concepts.md` for the algorithm.
11
+ - **`client_sdk/minima_client/`** — bundled sync + async Python client. Ships inside the
12
+ same wheel.
13
+ - **`packages/tui/`** — the `minima` CLI/TUI (TypeScript/Bun, shipped via Homebrew:
14
+ `brew tap mubit-ai/minima`). It replaced the old Python harness (`src/minima_harness`,
15
+ removed in v0.7.0). See `packages/tui/README.md`.
16
+
17
+ ## The Minima loop (always respect this)
18
+
19
+ ```
20
+ recommend -> run the model yourself -> judge quality -> feedback
21
+ ```
22
+
23
+ Minima never runs the model. Any harness owns model dispatch + quality judging. Feedback
24
+ MUST include realized `input_tokens` / `output_tokens` / `actual_cost_usd` / `latency_ms`
25
+ so the cost basis can climb `estimate -> observed -> rescaled` (the biggest accuracy
26
+ lever). Outcome thresholds: `success >= 0.8`, `partial >= 0.4`, else `failure`.
27
+
28
+ ## Conventions
29
+
30
+ - `from __future__ import annotations` at the top of every module.
31
+ - Pydantic v2 `BaseModel` for serializable schemas; `@dataclass(slots=True)` for internal
32
+ types; `StrEnum` for enums; `Protocol` for seams (`Memory`, `Reasoner`, `Provider`).
33
+ - Async-first. Bridge sync SDKs (Mubit) off the event loop via `anyio`/threadpools.
34
+ - `structlog` via `get_logger("minima.<sub>")`.
35
+ - ruff `line-length=100`, mypy `py311`. Never break the hot path: bookkeeping failures are
36
+ logged-and-swallowed (`except Exception: # noqa: BLE001`).
37
+ - NO comments unless asked. Match existing style.
38
+
39
+ ## Commands
40
+
41
+ ```bash
42
+ uv sync --extra dev # install (uv is the package manager)
43
+ uv run ruff check . && uv run ruff format . # lint + format
44
+ uv run mypy src/minima # typecheck
45
+ uv run pytest # unit + integration (hermetic, offline)
46
+ uv run pytest -m live # needs a running Mubit (make run-mubit)
47
+ make run # local Minima on :8080
48
+ ```
49
+
50
+ Offline tests MUST stay hermetic: the `conftest.py` autouse fixture neutralizes `.env`.
51
+ Use `tests/factories.py:FakeMemory` + `create_app(...)` + `TestClient` for in-process
52
+ tests without Mubit.
53
+
54
+ ## Agent harness
55
+
56
+ The Python harness (`src/minima_harness`) was removed in v0.7.0. Its successor is the
57
+ TypeScript harness + TUI in `packages/tui` (the shipped `minima` CLI) — see
58
+ `packages/tui/README.md` for architecture, commands, and hard rules.
@@ -4,6 +4,66 @@ All notable changes to Minima are documented here. The format follows
4
4
  [Keep a Changelog](https://keepachangelog.com/), and the project aims to follow
5
5
  [Semantic Versioning](https://semver.org/).
6
6
 
7
+ ## [0.7.0] - 2026-07-05
8
+
9
+ ### Added
10
+ - **`GET /v1/capabilities`** — server feature handshake (api version, honored constraint
11
+ fields, feature flags) so clients can gate enforce-mode features on what the server
12
+ actually supports instead of guessing. (#54)
13
+ - **Sub-agent tree visualization** — a live `▸ step [status] $cost` panel (`/tree`) fed by
14
+ tagged child events during multi-agent runs. (#55)
15
+ - **Git worktree isolation for parallel sub-agents** — `isolation: "workdir"` delegations run
16
+ in a temporary `git worktree` (with a dirty-tree warning and automatic cleanup), so parallel
17
+ children editing the same files can't clobber each other. (#55)
18
+ - **Delegation ops-rules + BLOCKED convention** — sub-agents get explicit operational rules,
19
+ boundary refusals surface as `BLOCKED` → `partial` outcome so the parent can tell, and the
20
+ task tool carries anti-retry guidance (no more re-running an identical failed DAG). (#59)
21
+
22
+ ### Fixed
23
+ - **Every Claude call timed out in the harness** — the Anthropic SDK was handed a timeout in
24
+ seconds where it expects milliseconds (a 30–60 ms budget), so every Claude stream/complete
25
+ call died with "Request timed out" and fed quality-0 failures into routing. (#56)
26
+ - **Quality-score fabrication in the feedback loop (M-J2)** — unjudged successes no longer
27
+ default to quality 0.9 in the server decision log; the harness now sends a `judged` flag and
28
+ unjudged rows reconcile with `quality = NULL`, so calibration and savings metrics stop
29
+ trusting values that were never measured. (#54)
30
+ - **Judge hardening** — empty-output guard (scores 0 without an API call), head+tail
31
+ truncation so tail requirements survive long outputs, `<response>` delimiters + scoped-trust
32
+ system prompt against response-embedded injection, and a `parseScore` fix for
33
+ "X out of 10" phrasing. (#57)
34
+ - **Gemini reasoner starvation** — advisory JSON calls (classify/rank) no longer burn their
35
+ entire token budget on thinking before emitting JSON; RANK_SYSTEM invariants hardened. (#58)
36
+
37
+ ### Notes
38
+ - `minima-cli` on PyPI resumes at 0.7.0: the project version had lagged at 0.5.0, so the
39
+ 0.6.0 release build was silently skipped by `--skip-existing` and 0.6.0 was never published.
40
+
41
+ ## [0.6.0] - 2026-07-02
42
+
43
+ Agent-core release (milestones M-A…M-I): cost-aware sub-agent orchestration — `task` tool
44
+ with sequential and parallel DAG fan-out under a semaphore, per-child routing, budgets and
45
+ timeouts; DB-backed `BudgetLedger` with graduated enforcement; SQLite persistence spine
46
+ (runs/events/decisions + rehydration); recovery ladder walking server-supplied rungs on
47
+ failure; effort routing Phase A + fleet metrics; feedback-loop poisoning fixes; feature-vector
48
+ classifier with strongest-signal scoring. *(Never published to PyPI — see the 0.7.0 note.)*
49
+
50
+ ## [0.5.2] - 2026-07-02
51
+
52
+ Fixed TUI viewport-overflow rendering corruption; docs rebrand (Manrope, "minima by Mubit"
53
+ nav logo, new favicon).
54
+
55
+ ## [0.5.1] - 2026-07-01
56
+
57
+ Mubit memory in the TS harness (recall-before-route + outcome write-back with stable session
58
+ ids); benign routing diagnostics no longer render as errors; live model catalog; docs migrated
59
+ to Vocs with a Homebrew install guide.
60
+
61
+ ## [0.5.0] - 2026-07-01
62
+
63
+ The TypeScript/Bun TUI becomes the shipped CLI: one-click `minima auth` (browser login,
64
+ per-repo project mapping, workspace provisioning), the Homebrew tap ships the compiled binary
65
+ instead of a Python venv formula, and a comprehensive routing/tool test suite lands.
66
+
7
67
  ## [0.4.10] - 2026-06-26
8
68
 
9
69
  ### Changed
@@ -1,7 +1,7 @@
1
- .PHONY: install run test lint fmt live eval seed refresh-catalog harness-demo harness-live harness-test harness tui-install tui-test tui-check tui-build tui tui-dev
1
+ .PHONY: install run test lint fmt live eval seed refresh-catalog tui-install tui-test tui-check tui-build tui tui-dev
2
2
 
3
3
  install:
4
- uv sync --extra dev # dev pulls server + harness + tui for the full test suite
4
+ uv sync --extra dev # dev pulls server + reasoner extras for the full test suite
5
5
 
6
6
  run:
7
7
  uv run --extra server uvicorn minima.main:app --reload --host $${MINIMA_HOST:-0.0.0.0} --port $${MINIMA_PORT:-8080}
@@ -26,20 +26,6 @@ eval:
26
26
  seed:
27
27
  uv run minima-seed --limit $${LIMIT:-2000} --lane $${LANE:-minima:default}
28
28
 
29
- # --- minima_harness convenience targets (creds live in gitignored .env.harness) ---
30
-
31
- harness-demo:
32
- uv run python examples/harness_warmup.py
33
-
34
- harness-live:
35
- uv run --env-file .env.harness python examples/harness_warmup.py --live --rounds $${ROUNDS:-1}
36
-
37
- harness-test:
38
- uv run --env-file .env.harness pytest tests/harness -m live -v
39
-
40
- harness:
41
- uv run --extra harness --extra tui --env-file .env.harness minima-harness $(ARGS)
42
-
43
29
  # --- TS TUI (packages/tui) — run from the repo root so .env.harness auto-loads --------
44
30
 
45
31
  TUI := packages/tui
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: minima-cli
3
- Version: 0.5.0
3
+ Version: 0.7.0
4
4
  Summary: Minima CLI: cost-aware LLM model routing — recommend cheaper models, backed by Mubit memory.
5
5
  Project-URL: Homepage, https://docs.minima.sh
6
6
  Project-URL: Documentation, https://docs.minima.sh
@@ -30,7 +30,6 @@ Provides-Extra: dev
30
30
  Requires-Dist: anthropic>=0.40; extra == 'dev'
31
31
  Requires-Dist: fastapi>=0.115; extra == 'dev'
32
32
  Requires-Dist: google-genai>=0.3; extra == 'dev'
33
- Requires-Dist: keyring>=24; extra == 'dev'
34
33
  Requires-Dist: mypy>=1.10; extra == 'dev'
35
34
  Requires-Dist: psycopg2-binary>=2.9; extra == 'dev'
36
35
  Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
@@ -38,11 +37,7 @@ Requires-Dist: pytest>=8.2; extra == 'dev'
38
37
  Requires-Dist: redis>=5.0; extra == 'dev'
39
38
  Requires-Dist: respx>=0.21; extra == 'dev'
40
39
  Requires-Dist: ruff>=0.5; extra == 'dev'
41
- Requires-Dist: textual>=3.0; extra == 'dev'
42
40
  Requires-Dist: uvicorn[standard]>=0.30; extra == 'dev'
43
- Provides-Extra: harness
44
- Requires-Dist: anthropic>=0.40; extra == 'harness'
45
- Requires-Dist: google-genai>=0.3; extra == 'harness'
46
41
  Provides-Extra: reasoner-anthropic
47
42
  Requires-Dist: anthropic>=0.40; extra == 'reasoner-anthropic'
48
43
  Provides-Extra: reasoner-gemini
@@ -55,9 +50,6 @@ Requires-Dist: fastapi>=0.115; extra == 'server'
55
50
  Requires-Dist: psycopg2-binary>=2.9; extra == 'server'
56
51
  Requires-Dist: redis>=5.0; extra == 'server'
57
52
  Requires-Dist: uvicorn[standard]>=0.30; extra == 'server'
58
- Provides-Extra: tui
59
- Requires-Dist: keyring>=24; extra == 'tui'
60
- Requires-Dist: textual>=3.0; extra == 'tui'
61
53
  Description-Content-Type: text/markdown
62
54
 
63
55
  # Minima
@@ -176,7 +168,6 @@ Sync + async clients and zero-code `autocapture`: **[Python Client SDK](docs/cli
176
168
  | [Multi-Tenancy](docs/multi-tenancy.md) | One deployment, many orgs, per-org Mubit instances. |
177
169
  | [Operations](docs/operations.md) | Deployment, health, degradation, monitoring, secrets. |
178
170
  | [Examples](docs/examples.md) | Guided tour of the runnable examples. |
179
- | [Agent Harness](docs/harness.md) | `minima_harness`: a Minima-routing port of PI's agent toolkit. |
180
171
 
181
172
  ## Examples
182
173
 
@@ -191,33 +182,21 @@ Runnable, progressively advanced — in **[`examples/`](examples/)**:
191
182
  | 5 | [`05_autocapture.py`](examples/05_autocapture.py) | Zero-code intake via `mubit.learn`. |
192
183
  | 6 | [`06_routed_llm_call.py`](examples/06_routed_llm_call.py) | Routing a real Claude call + feedback. |
193
184
  | 7 | [`07_multitenant_admin.py`](examples/07_multitenant_admin.py) | Provision an org, call as that tenant. |
194
- | 8 | [`harness_warmup.py`](examples/harness_warmup.py) | The `minima_harness` agent loop (demo mode needs no keys). |
195
185
 
196
- ## Agent harness
186
+ ## The `minima` CLI
197
187
 
198
- [`minima_harness/`](src/minima_harness) is a lean Python port of
199
- [`@earendil-works/pi`](https://github.com/earendil-works/pi)'s agent toolkit, made
200
- Minima-native: an `Agent` runtime with tool calling **plus** a `MinimaAgent` that routes
201
- every prompt through Minima and feeds the realized tokens/cost/quality back. It is the
202
- "run the model yourself" half of the Minima loop, packaged.
203
-
204
- ```python
205
- from minima_harness.minima import MinimaAgent, HarnessConfig
206
-
207
- agent = MinimaAgent(HarnessConfig.from_env()) # MINIMA_URL, candidates, judge policy
208
- await agent.prompt("Summarize this incident.", task_type="summarization", slider=3)
209
- # -> Minima picked the model, the agent ran it, judged quality, fed the outcome back
210
- ```
211
-
212
- Try it with no keys via the in-process demo:
188
+ The `minima` CLI/TUI a coding agent that routes every prompt through Minima and feeds
189
+ realized tokens/cost/quality back — is a TypeScript/Bun binary that lives in
190
+ [`packages/tui/`](packages/tui/) and installs via Homebrew:
213
191
 
214
192
  ```bash
215
- uv run python examples/harness_warmup.py # demo (in-process Minima + fake provider)
216
- uv run python examples/harness_warmup.py --live # real Minima + real providers
193
+ brew tap mubit-ai/minima
194
+ brew install minima
217
195
  ```
218
196
 
219
- Full architecture, the loop mapping, and extension guide:
220
- **[Agent Harness](docs/harness.md)**.
197
+ The PyPI package (`pip install minima-cli`) is **not** the CLI: it ships the Python
198
+ client SDK (`minima_client`) and the server + operator tooling (`minima-seed`,
199
+ `minima-calibration-report`). The old Python harness/TUI was removed in v0.7.0.
221
200
 
222
201
  ## Configuration
223
202
 
@@ -254,7 +233,7 @@ src/minima/
254
233
  tenancy/ runtime · registry · context · keys · secrets
255
234
  seeding/ routerbench · synthetic · run_seed (minima-seed CLI)
256
235
  schemas/ common · recommend · workflow · feedback · models_catalog · strategies · admin
257
- src/minima_harness/ ported pi-ai (ai/) + pi-agent-core (agent/) + Minima integration (minima/) — see docs/harness.md
236
+ packages/tui/ the `minima` CLI/TUI (TypeScript/Bun, ships via Homebrew)
258
237
  client_sdk/minima_client/ client (sync+async) · autocapture · errors
259
238
  docs/ full documentation examples/ runnable examples
260
239
  tests/ unit · integration (FakeMemory) · live (-m live) · eval (-m eval)
@@ -114,7 +114,6 @@ Sync + async clients and zero-code `autocapture`: **[Python Client SDK](docs/cli
114
114
  | [Multi-Tenancy](docs/multi-tenancy.md) | One deployment, many orgs, per-org Mubit instances. |
115
115
  | [Operations](docs/operations.md) | Deployment, health, degradation, monitoring, secrets. |
116
116
  | [Examples](docs/examples.md) | Guided tour of the runnable examples. |
117
- | [Agent Harness](docs/harness.md) | `minima_harness`: a Minima-routing port of PI's agent toolkit. |
118
117
 
119
118
  ## Examples
120
119
 
@@ -129,33 +128,21 @@ Runnable, progressively advanced — in **[`examples/`](examples/)**:
129
128
  | 5 | [`05_autocapture.py`](examples/05_autocapture.py) | Zero-code intake via `mubit.learn`. |
130
129
  | 6 | [`06_routed_llm_call.py`](examples/06_routed_llm_call.py) | Routing a real Claude call + feedback. |
131
130
  | 7 | [`07_multitenant_admin.py`](examples/07_multitenant_admin.py) | Provision an org, call as that tenant. |
132
- | 8 | [`harness_warmup.py`](examples/harness_warmup.py) | The `minima_harness` agent loop (demo mode needs no keys). |
133
131
 
134
- ## Agent harness
132
+ ## The `minima` CLI
135
133
 
136
- [`minima_harness/`](src/minima_harness) is a lean Python port of
137
- [`@earendil-works/pi`](https://github.com/earendil-works/pi)'s agent toolkit, made
138
- Minima-native: an `Agent` runtime with tool calling **plus** a `MinimaAgent` that routes
139
- every prompt through Minima and feeds the realized tokens/cost/quality back. It is the
140
- "run the model yourself" half of the Minima loop, packaged.
141
-
142
- ```python
143
- from minima_harness.minima import MinimaAgent, HarnessConfig
144
-
145
- agent = MinimaAgent(HarnessConfig.from_env()) # MINIMA_URL, candidates, judge policy
146
- await agent.prompt("Summarize this incident.", task_type="summarization", slider=3)
147
- # -> Minima picked the model, the agent ran it, judged quality, fed the outcome back
148
- ```
149
-
150
- Try it with no keys via the in-process demo:
134
+ The `minima` CLI/TUI a coding agent that routes every prompt through Minima and feeds
135
+ realized tokens/cost/quality back — is a TypeScript/Bun binary that lives in
136
+ [`packages/tui/`](packages/tui/) and installs via Homebrew:
151
137
 
152
138
  ```bash
153
- uv run python examples/harness_warmup.py # demo (in-process Minima + fake provider)
154
- uv run python examples/harness_warmup.py --live # real Minima + real providers
139
+ brew tap mubit-ai/minima
140
+ brew install minima
155
141
  ```
156
142
 
157
- Full architecture, the loop mapping, and extension guide:
158
- **[Agent Harness](docs/harness.md)**.
143
+ The PyPI package (`pip install minima-cli`) is **not** the CLI: it ships the Python
144
+ client SDK (`minima_client`) and the server + operator tooling (`minima-seed`,
145
+ `minima-calibration-report`). The old Python harness/TUI was removed in v0.7.0.
159
146
 
160
147
  ## Configuration
161
148
 
@@ -192,7 +179,7 @@ src/minima/
192
179
  tenancy/ runtime · registry · context · keys · secrets
193
180
  seeding/ routerbench · synthetic · run_seed (minima-seed CLI)
194
181
  schemas/ common · recommend · workflow · feedback · models_catalog · strategies · admin
195
- src/minima_harness/ ported pi-ai (ai/) + pi-agent-core (agent/) + Minima integration (minima/) — see docs/harness.md
182
+ packages/tui/ the `minima` CLI/TUI (TypeScript/Bun, ships via Homebrew)
196
183
  client_sdk/minima_client/ client (sync+async) · autocapture · errors
197
184
  docs/ full documentation examples/ runnable examples
198
185
  tests/ unit · integration (FakeMemory) · live (-m live) · eval (-m eval)