minima-cli 0.11.0__tar.gz → 0.12.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.
- minima_cli-0.12.0/CHANGELOG.md +610 -0
- minima_cli-0.12.0/Makefile +73 -0
- minima_cli-0.12.0/PKG-INFO +251 -0
- minima_cli-0.12.0/docs/BigPlan/PLAN-retired.md +514 -0
- minima_cli-0.12.0/docs/BigPlan/README.md +66 -0
- minima_cli-0.12.0/docs/BigPlan/characteristics-of-successful-plans.md +348 -0
- minima_cli-0.12.0/docs/BigPlan/decision-inline-renderer.md +143 -0
- minima_cli-0.12.0/docs/BigPlan/harness-research.md +375 -0
- minima_cli-0.12.0/docs/BigPlan/inline-rendering-brief.md +184 -0
- minima_cli-0.12.0/docs/BigPlan/inline-ux-guide.md +937 -0
- minima_cli-0.12.0/docs/BigPlan/minima-harness-application-guide.md +407 -0
- minima_cli-0.12.0/docs/BigPlan/plan-loop-audit.md +139 -0
- minima_cli-0.12.0/docs/BigPlan/playbook.md +186 -0
- minima_cli-0.12.0/docs/BigPlan/pr-default-renderer.md +91 -0
- minima_cli-0.12.0/docs/BigPlan/pr-opencode-sidebar.md +45 -0
- minima_cli-0.12.0/docs/BigPlan/pr-prompt-echo.md +112 -0
- minima_cli-0.12.0/docs/BigPlan/q_and_a.md +158 -0
- minima_cli-0.12.0/docs/BigPlan/shots/ab/ab_capture.sh +62 -0
- minima_cli-0.12.0/docs/BigPlan/shots/ab/ab_compare.py +62 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b1-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b1-inline.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b2-mode-plan-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b2-mode-plan-inline.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b4-undo-prefill-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b5-rewind-inline.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b5-rewind-overlay.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/b5-rewind-picker-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/baseline/README.md +12 -0
- minima_cli-0.12.0/docs/BigPlan/shots/baseline/base-echo-gap.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/baseline/base-gt-wide.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/baseline/base-inline-default.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/baseline/base-narrow.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/baseline/base-toc-wide.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/baseline/capture-specs.sh +51 -0
- minima_cli-0.12.0/docs/BigPlan/shots/c-prompt-echo.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/README.md +92 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/boundary-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/capture-specs.sh +122 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/check_echo.py +64 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/code-heavy-120.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/code-heavy-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/echo-gap.frames.jsonl +70 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/echo-gap.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/fixture-resume.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/gt-banner.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/gt-block.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/gt-off-notice.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/narrow-55.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/perf.jsonl +14 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/plain-chat.frames.jsonl +30 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/plain-chat.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/inline-baseline/toc-block.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/j1-why-card-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp1-tui-verify-run.log +48 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/capture.sh +59 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-120.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-120.txt +94 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-60.txt +92 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-80.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-80.txt +97 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-tall.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/code-tall.txt +118 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/md-120.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/md-120.txt +82 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/md-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/md-60.txt +88 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/mixed-120.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/mixed-120.txt +154 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/mixed-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/mixed-60.txt +169 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/stream-code.frames.jsonl +60 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/stream-code.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/stream-code.txt +100 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/tool-120.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/tool-120.txt +97 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/tool-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp10-render-audit/tool-60.txt +88 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/capture.sh +40 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-120.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-120.txt +95 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-60.txt +94 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-80.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-80.txt +98 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-tall.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp11-code-wrap/code-tall.txt +119 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp12-tool-truncate/capture.sh +41 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp12-tool-truncate/tool-120.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp12-tool-truncate/tool-120.txt +97 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp12-tool-truncate/tool-60.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp12-tool-truncate/tool-60.txt +88 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp14-council-progress/busy-research.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp14-council-progress/busy-research.txt +75 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp14-council-progress/busy-synth.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp14-council-progress/busy-synth.txt +75 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp14-council-progress/capture.sh +48 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp14-council-progress/council-line.frames.jsonl +175 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp16-plan-draft/capture.sh +43 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp16-plan-draft/draft-round1.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp16-plan-draft/draft-round1.txt +84 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp16-plan-draft/draft-round2.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp16-plan-draft/draft-round2.txt +90 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp16-plan-draft/final-overview.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp16-plan-draft/final-overview.txt +124 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp17-plan-exit/approved.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp17-plan-exit/approved.txt +74 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp17-plan-exit/capture.sh +39 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.txt +74 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.txt +81 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp18-verify-consent/capture.sh +41 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp18-verify-consent/first-prompt.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp18-verify-consent/first-prompt.txt +74 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.txt +74 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.txt +77 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/1-council.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/1-council.txt +82 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/2-draft.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/2-draft.txt +104 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.txt +110 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/4-red-block.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/4-red-block.txt +164 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/5-green-close.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/5-green-close.txt +176 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.txt +203 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/7-step-card.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/7-step-card.txt +203 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp19-acceptance/capture.sh +49 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp20-stream-reseat/capture.sh +39 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp20-stream-reseat/stream-code.frames.jsonl +59 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp20-stream-reseat/stream-code.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp20-stream-reseat/stream-code.txt +87 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp4-spike/capture.sh +48 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp4-spike/mp4-closed.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp4-spike/mp4-open.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp4-spike/mp4-scrolled.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp5-taskpanel/capture.sh +43 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp5-taskpanel/mp5-hidden.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp5-taskpanel/mp5-restart-hidden.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp5-taskpanel/mp5-visible.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp6-gt-taskpanel/capture.sh +38 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-blocked-alert.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-drift-alert.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp7-expand-panel/capture.sh +44 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp7-expand-panel/mp7-closed-draft.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-bottom.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-open.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp8-panel-reader/capture.sh +39 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp8-panel-reader/mp8-back-to-list.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp8-panel-reader/mp8-reader.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp9-gt-panel/capture.sh +44 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp9-gt-panel/mp9-gate-wins.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp9-gt-panel/mp9-overview.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/mp9-gt-panel/mp9-step-card.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/p0-badge-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/p0-badge-inline.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/plan-e2e-seeded.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/plan-exit-approval.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/plan-shifttab-workflow.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u2-docked-toc-focused.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u2-docked-toc-unfocused.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u2-narrow-fallback.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u2-narrow-overlay.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u2-toc-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u2-toc-inline.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u3-gt-card-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u3-gt-docked.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/shots/u3-gt-panel-fullscreen.png +0 -0
- minima_cli-0.12.0/docs/BigPlan/sources.md +124 -0
- minima_cli-0.12.0/docs/BigPlan/spike-inline-panel.md +69 -0
- minima_cli-0.12.0/docs/BigPlan/tui-manual-testing.md +201 -0
- minima_cli-0.12.0/docs/BigPlan/workflow-diagrams.md +200 -0
- minima_cli-0.12.0/docs/characteristics_of_a_good_plan.md +56 -0
- minima_cli-0.12.0/docs/ground-truth-build-guide.md +562 -0
- minima_cli-0.12.0/docs/tui-rendering-strategy.md +152 -0
- minima_cli-0.12.0/docs/tui-stability-input-plan.md +110 -0
- minima_cli-0.12.0/packages/tui/README.md +94 -0
- minima_cli-0.12.0/packages/tui/package.json +44 -0
- minima_cli-0.12.0/packages/tui/scripts/build.ts +45 -0
- minima_cli-0.12.0/packages/tui/scripts/gen-fixture-session.ts +338 -0
- minima_cli-0.12.0/packages/tui/scripts/mock_openai_sse.ts +382 -0
- minima_cli-0.12.0/packages/tui/scripts/plan_latency_bench.ts +170 -0
- minima_cli-0.12.0/packages/tui/scripts/pty_capture.py +273 -0
- minima_cli-0.12.0/packages/tui/scripts/tui_assert.py +199 -0
- minima_cli-0.12.0/packages/tui/scripts/tui_verify.sh +1063 -0
- minima_cli-0.12.0/packages/tui/src/agent/index.ts +12 -0
- minima_cli-0.12.0/packages/tui/src/agent/modes.ts +124 -0
- minima_cli-0.12.0/packages/tui/src/agent/policy.ts +115 -0
- minima_cli-0.12.0/packages/tui/src/agent/tools.ts +82 -0
- minima_cli-0.12.0/packages/tui/src/cli/main.ts +795 -0
- minima_cli-0.12.0/packages/tui/src/db/minima_db.ts +1513 -0
- minima_cli-0.12.0/packages/tui/src/db/rehydrate.ts +120 -0
- minima_cli-0.12.0/packages/tui/src/minima/anti_spiral.ts +277 -0
- minima_cli-0.12.0/packages/tui/src/minima/confidence.ts +26 -0
- minima_cli-0.12.0/packages/tui/src/minima/config.ts +185 -0
- minima_cli-0.12.0/packages/tui/src/minima/failure_kind.ts +247 -0
- minima_cli-0.12.0/packages/tui/src/minima/ground_truth.ts +1189 -0
- minima_cli-0.12.0/packages/tui/src/minima/gt_contract.ts +114 -0
- minima_cli-0.12.0/packages/tui/src/minima/gt_factors.ts +333 -0
- minima_cli-0.12.0/packages/tui/src/minima/index.ts +58 -0
- minima_cli-0.12.0/packages/tui/src/minima/plan_council.ts +1134 -0
- minima_cli-0.12.0/packages/tui/src/minima/plan_finalize.ts +174 -0
- minima_cli-0.12.0/packages/tui/src/minima/plan_lint.ts +234 -0
- minima_cli-0.12.0/packages/tui/src/minima/plan_refute.ts +193 -0
- minima_cli-0.12.0/packages/tui/src/minima/plan_seed.ts +88 -0
- minima_cli-0.12.0/packages/tui/src/minima/plan_session.ts +576 -0
- minima_cli-0.12.0/packages/tui/src/minima/plan_turn.ts +226 -0
- minima_cli-0.12.0/packages/tui/src/minima/runtime.ts +1007 -0
- minima_cli-0.12.0/packages/tui/src/minima/stop_gate.ts +276 -0
- minima_cli-0.12.0/packages/tui/src/minima/tool_permissions.ts +117 -0
- minima_cli-0.12.0/packages/tui/src/minima/why.ts +187 -0
- minima_cli-0.12.0/packages/tui/src/session/checkpoint.ts +356 -0
- minima_cli-0.12.0/packages/tui/src/session/index.ts +30 -0
- minima_cli-0.12.0/packages/tui/src/session/rewind.ts +76 -0
- minima_cli-0.12.0/packages/tui/src/session/sections.ts +100 -0
- minima_cli-0.12.0/packages/tui/src/tools/builtin.ts +74 -0
- minima_cli-0.12.0/packages/tui/src/tools/exit_plan.ts +198 -0
- minima_cli-0.12.0/packages/tui/src/tools/index.ts +13 -0
- minima_cli-0.12.0/packages/tui/src/tools/todowrite.ts +98 -0
- minima_cli-0.12.0/packages/tui/src/tui/app.tsx +4350 -0
- minima_cli-0.12.0/packages/tui/src/tui/badge_slot.ts +40 -0
- minima_cli-0.12.0/packages/tui/src/tui/busy.tsx +129 -0
- minima_cli-0.12.0/packages/tui/src/tui/clipboard.ts +65 -0
- minima_cli-0.12.0/packages/tui/src/tui/expand_panel.tsx +67 -0
- minima_cli-0.12.0/packages/tui/src/tui/footer.ts +36 -0
- minima_cli-0.12.0/packages/tui/src/tui/gt_overview.ts +251 -0
- minima_cli-0.12.0/packages/tui/src/tui/input-filter.ts +336 -0
- minima_cli-0.12.0/packages/tui/src/tui/layout.ts +548 -0
- minima_cli-0.12.0/packages/tui/src/tui/messages.tsx +233 -0
- minima_cli-0.12.0/packages/tui/src/tui/mode_prefs.ts +79 -0
- minima_cli-0.12.0/packages/tui/src/tui/panel_state.ts +206 -0
- minima_cli-0.12.0/packages/tui/src/tui/perf.ts +54 -0
- minima_cli-0.12.0/packages/tui/src/tui/permissions.ts +384 -0
- minima_cli-0.12.0/packages/tui/src/tui/plan_draft_view.ts +63 -0
- minima_cli-0.12.0/packages/tui/src/tui/reader.ts +63 -0
- minima_cli-0.12.0/packages/tui/src/tui/resume.ts +36 -0
- minima_cli-0.12.0/packages/tui/src/tui/rewind_picker.ts +71 -0
- minima_cli-0.12.0/packages/tui/src/tui/status.tsx +150 -0
- minima_cli-0.12.0/packages/tui/src/tui/suspend.ts +39 -0
- minima_cli-0.12.0/packages/tui/src/tui/task_footer.ts +93 -0
- minima_cli-0.12.0/packages/tui/src/tui/text-input.tsx +237 -0
- minima_cli-0.12.0/packages/tui/src/tui/tips.ts +105 -0
- minima_cli-0.12.0/packages/tui/src/tui/toc.ts +229 -0
- minima_cli-0.12.0/packages/tui/tests/acceptance-e2e.test.ts +432 -0
- minima_cli-0.12.0/packages/tui/tests/agent.test.ts +377 -0
- minima_cli-0.12.0/packages/tui/tests/anti-spiral-runtime.test.ts +172 -0
- minima_cli-0.12.0/packages/tui/tests/anti-spiral.test.ts +200 -0
- minima_cli-0.12.0/packages/tui/tests/badge_slot.test.ts +27 -0
- minima_cli-0.12.0/packages/tui/tests/behavior.test.ts +635 -0
- minima_cli-0.12.0/packages/tui/tests/busy.test.ts +73 -0
- minima_cli-0.12.0/packages/tui/tests/checkpoint.test.ts +252 -0
- minima_cli-0.12.0/packages/tui/tests/cli.test.ts +24 -0
- minima_cli-0.12.0/packages/tui/tests/confidence.test.ts +123 -0
- minima_cli-0.12.0/packages/tui/tests/db.test.ts +573 -0
- minima_cli-0.12.0/packages/tui/tests/db_migrate.test.ts +181 -0
- minima_cli-0.12.0/packages/tui/tests/exit_plan.test.ts +178 -0
- minima_cli-0.12.0/packages/tui/tests/failure-kind-runtime.test.ts +355 -0
- minima_cli-0.12.0/packages/tui/tests/failure-kind.test.ts +181 -0
- minima_cli-0.12.0/packages/tui/tests/feedback-grounded.test.ts +263 -0
- minima_cli-0.12.0/packages/tui/tests/footer.test.ts +99 -0
- minima_cli-0.12.0/packages/tui/tests/gate.test.ts +1037 -0
- minima_cli-0.12.0/packages/tui/tests/ground_truth.test.ts +928 -0
- minima_cli-0.12.0/packages/tui/tests/gt-attribution.test.ts +224 -0
- minima_cli-0.12.0/packages/tui/tests/gt-contract.test.ts +125 -0
- minima_cli-0.12.0/packages/tui/tests/gt-e2e.test.ts +351 -0
- minima_cli-0.12.0/packages/tui/tests/gt-footer.test.ts +72 -0
- minima_cli-0.12.0/packages/tui/tests/gt_factors.test.ts +211 -0
- minima_cli-0.12.0/packages/tui/tests/gt_overview.test.ts +267 -0
- minima_cli-0.12.0/packages/tui/tests/input-filter.test.ts +256 -0
- minima_cli-0.12.0/packages/tui/tests/j1-e2e.test.ts +278 -0
- minima_cli-0.12.0/packages/tui/tests/ladder.test.ts +511 -0
- minima_cli-0.12.0/packages/tui/tests/layout.test.ts +442 -0
- minima_cli-0.12.0/packages/tui/tests/learning-loop.test.ts +349 -0
- minima_cli-0.12.0/packages/tui/tests/markdown-fence.test.ts +169 -0
- minima_cli-0.12.0/packages/tui/tests/minima.test.ts +457 -0
- minima_cli-0.12.0/packages/tui/tests/modes.test.ts +187 -0
- minima_cli-0.12.0/packages/tui/tests/panel_state.test.ts +220 -0
- minima_cli-0.12.0/packages/tui/tests/permissions.test.ts +550 -0
- minima_cli-0.12.0/packages/tui/tests/plan-lint.test.ts +197 -0
- minima_cli-0.12.0/packages/tui/tests/plan-loop-audit.test.ts +625 -0
- minima_cli-0.12.0/packages/tui/tests/plan_council.test.ts +954 -0
- minima_cli-0.12.0/packages/tui/tests/plan_draft_view.test.ts +120 -0
- minima_cli-0.12.0/packages/tui/tests/plan_finalize.test.ts +203 -0
- minima_cli-0.12.0/packages/tui/tests/plan_refute.test.ts +213 -0
- minima_cli-0.12.0/packages/tui/tests/plan_session.test.ts +618 -0
- minima_cli-0.12.0/packages/tui/tests/plan_turn.test.ts +327 -0
- minima_cli-0.12.0/packages/tui/tests/policy.test.ts +116 -0
- minima_cli-0.12.0/packages/tui/tests/reader.test.ts +85 -0
- minima_cli-0.12.0/packages/tui/tests/recall-user-id.test.ts +93 -0
- minima_cli-0.12.0/packages/tui/tests/render-buffer.test.ts +30 -0
- minima_cli-0.12.0/packages/tui/tests/resume-gt.test.ts +123 -0
- minima_cli-0.12.0/packages/tui/tests/rewind.test.ts +179 -0
- minima_cli-0.12.0/packages/tui/tests/rewind_picker.test.ts +152 -0
- minima_cli-0.12.0/packages/tui/tests/sections.test.ts +135 -0
- minima_cli-0.12.0/packages/tui/tests/stop-gate-runtime.test.ts +155 -0
- minima_cli-0.12.0/packages/tui/tests/stop-gate.test.ts +241 -0
- minima_cli-0.12.0/packages/tui/tests/task_footer.test.ts +234 -0
- minima_cli-0.12.0/packages/tui/tests/toc.test.ts +140 -0
- minima_cli-0.12.0/packages/tui/tests/todowrite.test.ts +33 -0
- minima_cli-0.12.0/packages/tui/tests/tool-permissions.test.ts +160 -0
- minima_cli-0.12.0/packages/tui/tests/tool_marker.test.ts +29 -0
- minima_cli-0.12.0/packages/tui/tests/tools-persistence.test.ts +66 -0
- minima_cli-0.12.0/packages/tui/tests/verify-consent.test.ts +151 -0
- minima_cli-0.12.0/pyproject.toml +111 -0
- minima_cli-0.12.0/uv.lock +4494 -0
- minima_cli-0.11.0/CHANGELOG.md +0 -550
- minima_cli-0.11.0/Makefile +0 -67
- minima_cli-0.11.0/PKG-INFO +0 -251
- minima_cli-0.11.0/docs/ground-truth-build-guide.md +0 -535
- minima_cli-0.11.0/packages/tui/README.md +0 -93
- minima_cli-0.11.0/packages/tui/package.json +0 -44
- minima_cli-0.11.0/packages/tui/scripts/build.ts +0 -43
- minima_cli-0.11.0/packages/tui/scripts/pty_capture.py +0 -203
- minima_cli-0.11.0/packages/tui/src/agent/index.ts +0 -10
- minima_cli-0.11.0/packages/tui/src/agent/tools.ts +0 -79
- minima_cli-0.11.0/packages/tui/src/cli/main.ts +0 -699
- minima_cli-0.11.0/packages/tui/src/db/minima_db.ts +0 -1133
- minima_cli-0.11.0/packages/tui/src/db/rehydrate.ts +0 -80
- minima_cli-0.11.0/packages/tui/src/minima/confidence.ts +0 -16
- minima_cli-0.11.0/packages/tui/src/minima/config.ts +0 -111
- minima_cli-0.11.0/packages/tui/src/minima/ground_truth.ts +0 -1011
- minima_cli-0.11.0/packages/tui/src/minima/gt_contract.ts +0 -99
- minima_cli-0.11.0/packages/tui/src/minima/gt_factors.ts +0 -331
- minima_cli-0.11.0/packages/tui/src/minima/index.ts +0 -53
- minima_cli-0.11.0/packages/tui/src/minima/plan_council.ts +0 -912
- minima_cli-0.11.0/packages/tui/src/minima/plan_session.ts +0 -506
- minima_cli-0.11.0/packages/tui/src/minima/plan_turn.ts +0 -165
- minima_cli-0.11.0/packages/tui/src/minima/runtime.ts +0 -801
- minima_cli-0.11.0/packages/tui/src/minima/why.ts +0 -158
- minima_cli-0.11.0/packages/tui/src/session/index.ts +0 -10
- minima_cli-0.11.0/packages/tui/src/tools/builtin.ts +0 -68
- minima_cli-0.11.0/packages/tui/src/tools/index.ts +0 -11
- minima_cli-0.11.0/packages/tui/src/tools/todowrite.ts +0 -92
- minima_cli-0.11.0/packages/tui/src/tui/app.tsx +0 -3099
- minima_cli-0.11.0/packages/tui/src/tui/busy.tsx +0 -96
- minima_cli-0.11.0/packages/tui/src/tui/layout.ts +0 -497
- minima_cli-0.11.0/packages/tui/src/tui/messages.tsx +0 -213
- minima_cli-0.11.0/packages/tui/src/tui/mouse-scroll.ts +0 -87
- minima_cli-0.11.0/packages/tui/src/tui/permissions.ts +0 -319
- minima_cli-0.11.0/packages/tui/src/tui/status.tsx +0 -137
- minima_cli-0.11.0/packages/tui/src/tui/text-input.tsx +0 -119
- minima_cli-0.11.0/packages/tui/src/tui/tips.ts +0 -104
- minima_cli-0.11.0/packages/tui/tests/agent.test.ts +0 -379
- minima_cli-0.11.0/packages/tui/tests/behavior.test.ts +0 -399
- minima_cli-0.11.0/packages/tui/tests/busy.test.ts +0 -38
- minima_cli-0.11.0/packages/tui/tests/confidence.test.ts +0 -74
- minima_cli-0.11.0/packages/tui/tests/db.test.ts +0 -374
- minima_cli-0.11.0/packages/tui/tests/db_migrate.test.ts +0 -122
- minima_cli-0.11.0/packages/tui/tests/feedback-grounded.test.ts +0 -258
- minima_cli-0.11.0/packages/tui/tests/gate.test.ts +0 -836
- minima_cli-0.11.0/packages/tui/tests/ground_truth.test.ts +0 -912
- minima_cli-0.11.0/packages/tui/tests/gt-attribution.test.ts +0 -206
- minima_cli-0.11.0/packages/tui/tests/gt-contract.test.ts +0 -104
- minima_cli-0.11.0/packages/tui/tests/gt-e2e.test.ts +0 -335
- minima_cli-0.11.0/packages/tui/tests/gt-footer.test.ts +0 -76
- minima_cli-0.11.0/packages/tui/tests/gt_factors.test.ts +0 -211
- minima_cli-0.11.0/packages/tui/tests/ladder.test.ts +0 -387
- minima_cli-0.11.0/packages/tui/tests/layout.test.ts +0 -481
- minima_cli-0.11.0/packages/tui/tests/minima.test.ts +0 -452
- minima_cli-0.11.0/packages/tui/tests/mouse-scroll.test.ts +0 -52
- minima_cli-0.11.0/packages/tui/tests/permissions.test.ts +0 -324
- minima_cli-0.11.0/packages/tui/tests/plan_council.test.ts +0 -709
- minima_cli-0.11.0/packages/tui/tests/plan_session.test.ts +0 -566
- minima_cli-0.11.0/packages/tui/tests/plan_turn.test.ts +0 -218
- minima_cli-0.11.0/packages/tui/tests/recall-user-id.test.ts +0 -87
- minima_cli-0.11.0/packages/tui/tests/render-buffer.test.ts +0 -29
- minima_cli-0.11.0/packages/tui/tests/resume-gt.test.ts +0 -116
- minima_cli-0.11.0/pyproject.toml +0 -111
- minima_cli-0.11.0/uv.lock +0 -4494
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.dockerignore +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.env.example +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.github/workflows/catalog-snapshot.yml +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.github/workflows/ci.yml +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.github/workflows/prod.yml +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.github/workflows/release-cli.yml +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.github/workflows/staging.yml +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/.gitignore +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/AGENTS.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/CLAUDE.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/Dockerfile +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/LICENSE +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/.gitignore +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/assert/check.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/assert/db.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/driver/env.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/driver/headless.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/driver/mock_server.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/driver/rig.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/driver/scratch.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/_example/mathx.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/_example/tests/test_public.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/package.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/src/csv.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/src/index.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/src/object.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/src/stats.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/src/transform.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/tests/csv.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/tests/object.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/tests/stats.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/js-lib/tests/transform.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/js/chunk.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/js/droot.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/js/duration.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/js/wrap.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/py/checksum.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/py/intervals.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/py/rle.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/py/roman.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/js/chunk/smoke.test.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/js/droot/smoke.test.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/js/duration/smoke.test.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/js/wrap/smoke.test.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/py/conftest.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/py/test_checksum_smoke.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/py/test_intervals_smoke.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/py/test_rle_smoke.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/py/test_roman_smoke.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/ts/brackets/smoke.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/ts/drift/smoke.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/ts/ordinal/smoke.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/tests/ts/slug/smoke.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/ts/brackets.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/ts/drift.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/ts/ordinal.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/katas/ts/slug.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/.gitignore +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/pytest.ini +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/__main__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/cli.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/dates.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/migrations.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/models.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/query.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/report.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/taskman/storage.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/conftest.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/test_cli.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/test_dates.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/test_models.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/test_query.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/test_report.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/py-cli/tests/test_storage.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/package.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/app.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/auth.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/errors.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/handlers/admin.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/handlers/links.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/handlers/notes.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/handlers/stats.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/persist.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/ratelimit.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/respond.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/router.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/server.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/store.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/types.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/src/validate.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/auth.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/health.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/helpers.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/links.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/notes.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/persist.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/ratelimit.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/router.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/stats.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/store.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tests/validate.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/fixtures/templates/ts-api/tsconfig.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f10_recovery_ladder.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f12_learning_loop.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f1_headless.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f4_cost_budget.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f5_task_dag_worktree.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f6_resume_lineage.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f7_permissions_plan.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/flows/f9_offline_reconnect.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/attempt.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/build_index.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/calibrate.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/calibrate_all.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/calibration_report.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/materialize.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/savings_ab.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/savings_report.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/gen/validate_task.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/run.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/_example/ex-001/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/_example/ex-001/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/_example/ex-001/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/calibration.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-001/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-001/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-001/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-002/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-002/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-002/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-003/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-003/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-003/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-004/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-004/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-004/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-005/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-005/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-005/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-006/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-006/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/js-lib/jl-006/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-001/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-001/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-001/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-002/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-002/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-002/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-003/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-003/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-003/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-004/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-004/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-004/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-005/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-005/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-005/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-006/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-006/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-006/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-007/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-007/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-007/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-008/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-008/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-008/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-009/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-009/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-009/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-010/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-010/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-010/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-011/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-011/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-011/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-012/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-012/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/katas/ka-012/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-001/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-001/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-001/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-002/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-002/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-002/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-003/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-003/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-003/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-004/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-004/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-004/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-005/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-005/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-005/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-006/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-006/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-006/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-007/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-007/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-007/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-008/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-008/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/py-cli/pc-008/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/savings_ab.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-001/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-001/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-001/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-002/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-002/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-002/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-003/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-003/oracle.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-003/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-004/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-004/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-004/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-005/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-005/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-005/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-006/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-006/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-006/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-007/bug.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-007/hidden_tests.patch +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/bench/tasks/ts-api/ta-007/task.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/autocapture.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/client.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/errors.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/integrations/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/integrations/claude_code.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/integrations/litellm_router.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/client_sdk/minima_client/integrations/openhands_router.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/agent-core-architecture.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/agent-core-implementation-plan.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/api-reference.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/client-sdk.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/concepts.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/configuration.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/examples.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/feature-gap-analysis.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/getting-started.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/goals-feature-plan.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/ground-truth-tui-plan.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/harness.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/multi-tenancy.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/operations.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/publishing.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs/seeding.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/.dockerignore +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/Dockerfile +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/Accordion.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/Badge.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/Card.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/CardGroup.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/Frame.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/Note.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/PageHeader.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/Steps.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/Tabs.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/index.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/components/sidebar.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/netlify.toml +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/nginx.conf +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/package-lock.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/package.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/api-reference/endpoints.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/cli.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/configuration.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/installation.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/interactive.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/overview.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/routing.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/sessions.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/tools.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/harness/troubleshooting.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/index.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/sdk/client-sdk.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/sdk/concepts.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/sdk/examples.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/pages/sdk/getting-started.mdx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/public/images/favicon.png +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/public/images/logo-dark.svg +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/public/images/logo-light.svg +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/public/styles/global.css +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/tsconfig.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/docs-site/vocs.config.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/01_quickstart.sh +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/02_recommend_and_feedback.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/03_constraints_and_tradeoff.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/04_workflow.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/05_autocapture.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/06_routed_llm_call.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/07_multitenant_admin.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/agent_escalation.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/agent_escalation_learn.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/agent_gemini.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/agent_retention.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/agent_warmup.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/agent_warmup_vary.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/metrics_demo.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/examples/smoke_test.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/maybe.js +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/maybe.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/.gitignore +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/biome.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/bun.lock +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/scripts/build-all.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/scripts/install.sh +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/scripts/stub-devtools.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/agent/agent.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/agent/events.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/agent/loop.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/agent/state.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/compat.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/events.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/index.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/provider_catalog.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/provider_quirks.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/providers/_common.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/providers/anthropic.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/providers/base.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/providers/faux.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/providers/google.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/providers/index.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/providers/openai_compat.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/registry.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/stream.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/types.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/ai/usage.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/db/metrics.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/db/sink.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/errtext.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/index.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/behavior.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/budget.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/catalog.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/check.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/client.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/errors.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/judge.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/mapping.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/memory.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/meter.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/mubit_memory_factory.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/router.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/schemas.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/minima/spawn.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/run_modes.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/session/store.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/_ddg.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/_exa.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/_io.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/_search.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/apply_patch.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/at_mentions.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/bash.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/edit.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/glob.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/grep.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/ls.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/question.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/read.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/schema.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/task.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/types.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/web_fetch.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/web_search.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tools/write.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/auth.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/child_tree.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/compact.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/config_store.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/context.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/current_action.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/model-picker.tsx +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/projects.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/tui/routing-warnings.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/types.d.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/src/version.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/ai.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/anthropic.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/apply_patch.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/auth.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/bash-group.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/budget.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/candidate-filter.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/catalog.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/check.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/client.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/config_env.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/config_store.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/current_action.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/effort.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/error-ux.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/google.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/grounded.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/hooks.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/isolation.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/judge-cost-booking.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/judge.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/memory.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/minima_memory.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/openai_compat.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/run_modes.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/session.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/spawn.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/task.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/thinking.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/tips.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/tools.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tests/why.test.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packages/tui/tsconfig.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packaging/homebrew/README.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/packaging/homebrew/render_formula.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_125009/recall_debug.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_125009/strategies_run1.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_125009/strategies_run2.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_125009/strategies_run3.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_125009/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/REPORT.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/recall_debug.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/strategies_run1.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/strategies_run2.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/strategies_run3.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/strategies_run4.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/strategies_run5.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_130252/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_182838/recall_debug.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_182838/strategies_run1.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_182838/strategies_run2.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_182838/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/REPORT.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/memory_audit.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/recall_debug.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/strategies_run1.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/strategies_run2.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/strategies_run3.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/strategies_run4.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/strategies_run5.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260612_183343/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/REPORT.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/memory_audit.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/recall_debug.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/strategies_run1.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/strategies_run2.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/strategies_run3.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/strategies_run4.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/strategies_run5.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260615_101732/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260624_103307/memory_audit.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260624_103307/recall_debug.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/20260624_103307/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalate_20260615_133108/cold_probe.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalate_20260615_133108/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalate_20260615_133108/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalate_20260615_134209/REPORT.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalate_20260615_134209/cold_probe.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalate_20260615_134209/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalate_20260615_134209/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalation_20260612_201825/REPORT.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalation_20260612_201825/results.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/escalation_20260612_201825/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/_manifest.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/calibration.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/feedback.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/health.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/models.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/recommend.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/savings.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/strategies.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/playground_p1/workflow.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/retention_20260612_201828/REPORT.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/retention_20260612_201828/results.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/retention_20260612_201828/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/warmupvary_20260615_123818/REPORT.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/warmupvary_20260615_123818/summary.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/runs/warmupvary_20260615_123818/tasks.jsonl +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/scripts/eval/classify_dataset.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/scripts/eval/eval_classify.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/scripts/test-routing-web.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/scripts/test-routing.sh +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/scripts/test-routing.ts +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/auth.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/errors.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/calibration.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/capabilities.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/feedback.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/health.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/models.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/recommend.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/savings.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/api/routers/strategies.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/data/benchmark_priors.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/data/capability_priors.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/data/model_aliases.json +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/merge.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/refresh.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/sources/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/sources/litellm.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/sources/openrouter.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/catalog/store.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/config.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/deps.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/logging.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/main.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/memory/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/memory/adapter.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/memory/keys.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/memory/records.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/memory/threadpool.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/metrics/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/metrics/calibration.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/metrics/ope.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/metrics/report.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/metrics/savings.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/_pg_pool.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/_redis_client.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/aggregate.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/classify.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/decisionlog.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/durablerefs.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/engine.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/escalation.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/recstore.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/score.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/recommender/types.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/capabilities.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/common.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/feedback.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/models_catalog.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/recommend.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/savings.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/strategies.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/schemas/workflow.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/seeding/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/seeding/items.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/seeding/llmrouterbench.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/seeding/routerbench.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/seeding/run_seed.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/seeding/synthetic.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/tenancy/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/tenancy/context.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/tenancy/passthrough.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/src/minima/version.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/conftest.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/BENCHMARKS.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/CRITERIA.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/RESULTS.md +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/__init__.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/harness.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/llmrouterbench_config.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/prompt_length_benchmark.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/test_llmrouterbench_savings.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/eval/test_routerbench_savings.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/factories.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_auth.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_feedback_loop.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_lesson_promotion.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_measurement_api.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_observed_cost_ranking.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_recommend_api.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_strategies_api.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/integration/test_workflow_models_health.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/live/test_cost_savings_spotcheck_live.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/live/test_escalation_fixes.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/live/test_full_surface_live.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/live/test_mubit_roundtrip.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/live/test_phase3_live.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/live/test_recall_params_live.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_accumulating_records.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_adapters.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_aggregate.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_aggregate_decay.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_autocapture.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_calibration_fit.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_capabilities.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_classify_benchmark.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_classify_keys.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_cluster.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_cost_band.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_decisionlog.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_escalation.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_iterations.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_latency_quality.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_lookup_parse.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_metrics.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_metrics_demo.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_neighbor_classify.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_ope.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_prompt_length_benchmark.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_records_catalog.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_recstore_sqlite.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_score.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_sdk_usage.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_store_backends.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_strategies.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_tenancy.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_thompson.py +0 -0
- {minima_cli-0.11.0 → minima_cli-0.12.0}/tests/unit/test_ts_mirror.py +0 -0
|
@@ -0,0 +1,610 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to Minima are documented here. The format follows
|
|
4
|
+
[Keep a Changelog](https://keepachangelog.com/), and the project aims to follow
|
|
5
|
+
[Semantic Versioning](https://semver.org/).
|
|
6
|
+
|
|
7
|
+
## [0.12.0] - 2026-07-20
|
|
8
|
+
|
|
9
|
+
The Big Plan harness: the TUI's plan workflow grows verification teeth, and the
|
|
10
|
+
renderer goes inline-only. A TUI/harness release — the server wire contract is
|
|
11
|
+
unchanged from 0.11.0.
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
- **Inline is the only renderer** — the fullscreen mode and docked sidebar are
|
|
15
|
+
deleted. Claude-Code-style inline panels replace them: hard-wrapped markdown with
|
|
16
|
+
verbatim code fences, a shared line classifier so the render, the height
|
|
17
|
+
estimate, and the panel reader can never disagree, and a stream-reseat fix so the
|
|
18
|
+
composer no longer strands mid-screen after a tall streamed reply commits.
|
|
19
|
+
- **The plan workflow is enforced, not suggested** (ground truth is on by default,
|
|
20
|
+
`MINIMA_TUI_GROUND_TRUTH=0` opts out): plan steps carry `verify` shell commands;
|
|
21
|
+
a step can't be marked done while its check fails (red→green vs a captured
|
|
22
|
+
baseline); doom-loop and step-cap guards break spirals
|
|
23
|
+
(`MINIMA_TUI_STOP_STRIKES` / `MINIMA_TUI_SPIRAL_REPEATS` / `MINIMA_TUI_STEP_CAP`);
|
|
24
|
+
confidence tiers drive the UI (🟢 glide / 🟡 flag / 🔴 stop-and-ask); gate
|
|
25
|
+
verdicts are graded into outcome labels by tier (`MINIMA_TUI_GRADED_OUTCOME=0`
|
|
26
|
+
for the binary rule) while `evidence_source="gate"` stays green-tier-only.
|
|
27
|
+
- **BREAKING: verify commands require consent.** Model-authored `verify` commands
|
|
28
|
+
are shown and approved before they execute — approval is session-only and a
|
|
29
|
+
mutated command re-prompts. Headless `-p` runs **fail closed** (gates go
|
|
30
|
+
unrunnable) unless `MINIMA_TUI_ALLOW_VERIFY=1` is set.
|
|
31
|
+
- **Shift+Tab cycles primary agents** — Build → accept-edits → Plan; plan mode
|
|
32
|
+
asks first on write/edit/bash and blocks todowrite/task, with a universal exit
|
|
33
|
+
gate so finalized ground truth is the way out of a plan conversation.
|
|
34
|
+
- The plan council convenes in parallel and only on substantive turns (follow-up
|
|
35
|
+
plan turns ~5× faster), with a live progress line and a plan-draft view.
|
|
36
|
+
- Fullscreen defaults to selection-first mouse — native select/copy works out of
|
|
37
|
+
the box.
|
|
38
|
+
|
|
39
|
+
### Added
|
|
40
|
+
- **Named sessions and `--resume`** (by name or id), with the context status line
|
|
41
|
+
restored on resume.
|
|
42
|
+
- **Git-shadow checkpoints, `/undo`, and `/rewind`** — per-run snapshots under
|
|
43
|
+
`refs/minima/ckpt/…` with byte-identical restore, rewind markers on the SQLite
|
|
44
|
+
events spine, and a turn picker with conversation/code/both restore modes.
|
|
45
|
+
- **Session usage ledger** with per-turn `{model, tokens, cost}`, a
|
|
46
|
+
table-of-contents overlay (**Ctrl+T**) with per-section cost, a ground-truth plan
|
|
47
|
+
overview (**Ctrl+G**) with per-step cost and tiers, and `/why` verification views
|
|
48
|
+
backed by the same surface.
|
|
49
|
+
- A mid-run tasks footer (**Ctrl+B** toggles, hide persists across sessions).
|
|
50
|
+
- A PTY invariant suite (`make tui-verify`) — 18 scripted terminal scenarios
|
|
51
|
+
asserting echo latency, zero scrollback wipes, no alt-screen/mouse-capture
|
|
52
|
+
leaks, bottom-anchored composer, render budgets, and the plan/consent flows.
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
- Prompt-echo latency, scrolling and text-selection, and input-stability issues in
|
|
56
|
+
the inline TUI.
|
|
57
|
+
- The permission overlay keyed preview rows by content prefix, collapsing
|
|
58
|
+
same-prefix verify commands (duplicate React keys could drop rows on the one
|
|
59
|
+
surface that must show every shell command before approval); rows are keyed by
|
|
60
|
+
position now.
|
|
61
|
+
- `todowrite` accepts an unencoded array argument instead of failing on
|
|
62
|
+
`JSON.parse`.
|
|
63
|
+
- The tool-body height ruler measured at the old fullscreen interior width while
|
|
64
|
+
the inline renderer paints full-width — the 1-row over-reserve floated the
|
|
65
|
+
composer off the terminal bottom when a plan-mode notice committed.
|
|
66
|
+
|
|
67
|
+
## [0.11.0] - 2026-07-16
|
|
68
|
+
|
|
69
|
+
The learning-loop rework: honest labels in, fabricated ones out, and a posterior
|
|
70
|
+
that actually accumulates. Verified end-to-end against Mubit v0.12.0 (locally
|
|
71
|
+
built and the deployed instance) before release.
|
|
72
|
+
|
|
73
|
+
### Changed
|
|
74
|
+
- **Truth rule across the wire** — quality is nullable everywhere; feedback carries
|
|
75
|
+
`evidence_source` (`gate` | `judge` | `human` | `none`) as the provenance of the
|
|
76
|
+
quality signal (the legacy `judged`/`verified_in_production` flags still map);
|
|
77
|
+
unlabeled turns and infra failures (`error_cause="infra"`) are cost/latency
|
|
78
|
+
telemetry only — they never touch the success aggregate, reinforcement, or
|
|
79
|
+
calibration. The fabricated 0.9-quality default is gone.
|
|
80
|
+
- **Ground truth and honest labels are the default** — the GT verification spine is
|
|
81
|
+
ON (`MINIMA_TUI_GROUND_TRUTH=0` opts out); green gate verdicts are the label
|
|
82
|
+
source for gated turns, a sampled LLM judge (`MINIMA_JUDGE_SAMPLE`, default 15%)
|
|
83
|
+
labels a slice of the rest, and judge spend stays booked to the session wallet.
|
|
84
|
+
- **Accumulating evidence** — the durable (cluster, model) record is a
|
|
85
|
+
read-modify-write upsert carrying outcome counters and sample rings, so organic
|
|
86
|
+
evidence no longer caps at n≈1 and one failure can't erase history. Recall embeds
|
|
87
|
+
the same gist text the write path stores, and a budgeted keyed lookup
|
|
88
|
+
(`/v2/core/lookup`, `evidence_only` recall) gives an exact-match evidence channel
|
|
89
|
+
(pairs with Mubit v0.12.0, now live).
|
|
90
|
+
- **Thompson sampling is the default selection policy** — calibrated posterior
|
|
91
|
+
sampling with a capped explore share (`minima_selection_policy=argmin` or
|
|
92
|
+
`minima_argmin_orgs` opt out). The selection zoo (collapse guard, epsilon,
|
|
93
|
+
exploration bonus, shadow UCB, evidence-mass IPW) is deleted, and
|
|
94
|
+
`GET /v1/policy-value` reports doubly-robust regret-vs-oracle.
|
|
95
|
+
- **Benchmark-derived catalog priors** replace hand-tuned capability numbers;
|
|
96
|
+
cross-generation seed aliasing is deleted (no more crediting 2024 outcomes to
|
|
97
|
+
2026 model ids); `minima-seed` defaults to the synthetic pack.
|
|
98
|
+
- **The pre-decision LLM reasoner is deleted** — escalation is diagnostic-only
|
|
99
|
+
(`escalation_suggested:*` warnings + decision-log reasons); the harness recovery
|
|
100
|
+
ladder owns the cascade. Config shrinks 97 → 64 settings; recommendation-store
|
|
101
|
+
I/O and calibrator refits run off the event loop; a TS-mirror contract test pins
|
|
102
|
+
the wire schemas to `packages/tui/src/minima/schemas.ts`.
|
|
103
|
+
- **The harness is a reference client** — phase tags, difficulty, and
|
|
104
|
+
`chosen_effort` go on the wire; cache-boundary stickiness prefers the incumbent
|
|
105
|
+
model mid-session when the tradeoff is marginal.
|
|
106
|
+
|
|
107
|
+
### Added
|
|
108
|
+
- **Typed SDK feedback** — `Usage(input_tokens, output_tokens, cost_usd, latency_ms)`
|
|
109
|
+
on `feedback()` in both clients, honest autocapture framing, and a loop quickstart
|
|
110
|
+
in the docs.
|
|
111
|
+
- **Harness adapters** (`pip install "minima-cli[adapters]"`) — LiteLLM custom
|
|
112
|
+
routing strategy + realized-cost feedback logger, OpenHands `RouterLLM`, and a
|
|
113
|
+
`minima-route` CLI for shell-level integrations.
|
|
114
|
+
|
|
115
|
+
### Fixed
|
|
116
|
+
- **Reinforcement id-space discipline** — keyed-lookup hits carry numeric core-plane
|
|
117
|
+
node ids, which are never sent as reinforcement references anymore; the durable
|
|
118
|
+
record is the primary reference so one unresolvable neighbor can't drop the whole
|
|
119
|
+
reinforcement call (pairs with Mubit's cross-run `record_outcome` resolution fix).
|
|
120
|
+
- Live-suite tests updated to the new contracts (diagnostic-only escalation,
|
|
121
|
+
deterministic asserts pinned to argmin) and adapter tests skip cleanly when the
|
|
122
|
+
frameworks are absent.
|
|
123
|
+
|
|
124
|
+
## [0.10.0] - 2026-07-12
|
|
125
|
+
|
|
126
|
+
### Fixed
|
|
127
|
+
- **Ground-truth spine hardened end-to-end** (still opt-in via `MINIMA_TUI_GROUND_TRUTH=1`):
|
|
128
|
+
- Gate verdicts now carry the `rec_id` of the turn that minted them, so grounded
|
|
129
|
+
feedback can never be poisoned by a stale gate from an earlier prompt, and a
|
|
130
|
+
blocked step's red verdict is superseded by its retry (content-first flip
|
|
131
|
+
identity). Plans close when their last flip is verified, instead of haunting
|
|
132
|
+
every later turn.
|
|
133
|
+
- Step identity survives rewording (token-set matching), a step's baseline resets
|
|
134
|
+
when its `verify` command changes (no fabricated red→green), and resuming a run
|
|
135
|
+
re-adopts its active plan.
|
|
136
|
+
- Bash writes and sub-agent writes are attributed to the run; unattributed
|
|
137
|
+
("blind") writes cap confidence at 🟡 instead of silently passing.
|
|
138
|
+
- Check runner: verify commands run in their own process group and are killed as a
|
|
139
|
+
group on timeout/abort (no orphaned children), run under a minimal env allowlist,
|
|
140
|
+
and honor `MINIMA_TUI_CHECK_TIMEOUT`.
|
|
141
|
+
- `/plan` council: injected findings are fenced as untrusted data, the whole plan
|
|
142
|
+
turn aborts cleanly on Esc (partial research kept), and each council round is
|
|
143
|
+
budget-metered ($0.25/round soft cap).
|
|
144
|
+
- **Default path** (no flag required): the SQLite migration runner is race-safe across
|
|
145
|
+
concurrent sessions and self-heals a previously wedged DB; a bash tool timeout/abort
|
|
146
|
+
kills the whole process group; a throwing after-hook no longer wedges the agent loop;
|
|
147
|
+
the `task` tool is blocked in plan mode.
|
|
148
|
+
- Gate-focus modal: keyboard verdict overrides (approve / reject / steer with a note)
|
|
149
|
+
reach the correct gate, and the TUI footer/overlay no longer overflow on narrow
|
|
150
|
+
terminals.
|
|
151
|
+
|
|
152
|
+
### Added
|
|
153
|
+
- With `MINIMA_LLM_JUDGE=1`, judge grading spend is now booked to the session wallet —
|
|
154
|
+
visible in `/cost` (as `judge overhead`), the footer, and enforced by `--budget` —
|
|
155
|
+
while staying out of feedback's `actual_cost_usd` so the cost model Minima learns
|
|
156
|
+
from stays clean.
|
|
157
|
+
|
|
158
|
+
## [0.9.0] - 2026-07-10
|
|
159
|
+
|
|
160
|
+
### Added
|
|
161
|
+
- **Ground-Truth verification spine (experimental, opt-in via `MINIMA_TUI_GROUND_TRUTH=1`)** —
|
|
162
|
+
the agent's plan steps can carry `verify` shell commands; the harness runs them
|
|
163
|
+
(pre-work baseline → done-gate red→green), records every verdict in the SQLite ledger,
|
|
164
|
+
and derives a confidence tier that drives the UI (🟢 glide / 🟡 flag / 🔴 stop) plus
|
|
165
|
+
grounded, deterministic-over-judge feedback to Minima. Includes `/why` (inspect why the
|
|
166
|
+
harness trusts/distrusts a step), a plan footer strip, and red-gate override capture.
|
|
167
|
+
Off by default — with the flag unset the CLI behaves exactly as 0.8.x.
|
|
168
|
+
- **`/plan` planning workflow (part of the same experimental gate)** — a planner persona
|
|
169
|
+
plus a design council of sub-agents that researches, drafts, critiques, and synthesizes
|
|
170
|
+
a `GROUND_TRUTH.md` design document (`/plan start · status · finalize · cancel`).
|
|
171
|
+
Without the flag, `/plan` stays the read-only toggle it always was.
|
|
172
|
+
- Permission hardening for verify commands: every LLM-authored `verify` is shown verbatim
|
|
173
|
+
in the approval overlay (with an explicit "… +N more lines" marker when truncated), and
|
|
174
|
+
a stored "always allow" on todowrite never covers a verify command the user hasn't seen.
|
|
175
|
+
|
|
176
|
+
### Changed
|
|
177
|
+
- Transcript rendering is memoized (windowing + `memo()` message rows, render-time ref
|
|
178
|
+
mutations moved to effects) — typing no longer re-renders the whole transcript per
|
|
179
|
+
keystroke.
|
|
180
|
+
- Repo-root `CLAUDE.md` added (agent-facing repo guide).
|
|
181
|
+
|
|
182
|
+
## [0.8.0] - 2026-07-07
|
|
183
|
+
|
|
184
|
+
### Fixed
|
|
185
|
+
- **Learning loop now takes effect** — the client sends a stable `user_id` on every
|
|
186
|
+
recommend, so Minima's memory recall actually surfaces your prior outcomes and routing
|
|
187
|
+
can move off the cold-start prior. Previously no `user_id` was sent, so server-side
|
|
188
|
+
recall was always empty and `decision_basis` never left `prior`.
|
|
189
|
+
- **Esc reliably aborts** — pressing Esc now cancels during the routing/recommend phase
|
|
190
|
+
too (it was a no-op there, so the model still ran), and an aborted turn no longer leaves
|
|
191
|
+
a dangling message that made the next prompt re-answer the previous one.
|
|
192
|
+
- **Web search/fetch work without an Exa key** — `web_search` and `web_fetch` fall back to
|
|
193
|
+
DuckDuckGo when `EXA_API_KEY` is unset (they previously failed at call time); with a key
|
|
194
|
+
set they still prefer Exa.
|
|
195
|
+
- **Rendering** — long lines (routing warnings, reasoning, tool output) are clipped inside
|
|
196
|
+
their bordered cells instead of drawing past the border; the `escalation_suggested`
|
|
197
|
+
internal hint is no longer leaked into the info line; the question and `/tree` overlays
|
|
198
|
+
reserve their height so they can't corrupt terminal scrollback.
|
|
199
|
+
|
|
200
|
+
### Changed
|
|
201
|
+
- Learning-loop write failures are now surfaced — a muted `ℹ learning loop: …` line in the
|
|
202
|
+
TUI and a `feedback_error` event in `--mode json` — instead of being silently swallowed.
|
|
203
|
+
|
|
204
|
+
## [0.7.2] - 2026-07-06
|
|
205
|
+
|
|
206
|
+
### Added (TUI)
|
|
207
|
+
- **Fullscreen renderer (new default)** — alternate screen buffer with the prompt glued
|
|
208
|
+
to the bottom row, height-accurate transcript windowing, and in-app history scrolling
|
|
209
|
+
(mouse wheel / trackpad on by default; PgUp/PgDn always work). Opt out with
|
|
210
|
+
`--no-fullscreen` or `MINIMA_TUI_INLINE=1` for the classic inline renderer with native
|
|
211
|
+
terminal scrollback.
|
|
212
|
+
- **Live current-action line** — while a tool runs, the footer shows what the agent is
|
|
213
|
+
doing right now (e.g. `⚙ bash: git diff --stat`), with `(+N more)` for parallel tools.
|
|
214
|
+
- **New tools**: `question` (ask the user mid-run, never permission-gated),
|
|
215
|
+
`apply_patch` (multi-file add/update/delete/move), and Exa-backed `web_search` +
|
|
216
|
+
`web_fetch` (require `EXA_API_KEY`).
|
|
217
|
+
- `--thinking LEVEL` is now actually applied (was parsed but ignored).
|
|
218
|
+
- Busy indicator with rotating tips; thinking states renamed to `reasoning`/`running`.
|
|
219
|
+
|
|
220
|
+
### Fixed (TUI)
|
|
221
|
+
- **Esc / Ctrl+C abort a running turn** (was dead code behind the busy guard); a second
|
|
222
|
+
Ctrl+C within 2.5s force-quits even if a provider stream cannot be cancelled.
|
|
223
|
+
- Plan mode (read-only) blocks `apply_patch` alongside write/edit/bash.
|
|
224
|
+
- Live streaming region can never outgrow the viewport: over-budget final lines are
|
|
225
|
+
hard-sliced (fixes the fullscreen garble class and inline scrollback wipes).
|
|
226
|
+
- `/fork` and `/clone` no longer claim fake success — they say they're not implemented.
|
|
227
|
+
- glob/grep are permission-scoped as directory READS (`read from <dir>`) instead of
|
|
228
|
+
generic `run glob` prompts.
|
|
229
|
+
|
|
230
|
+
### Changed (TUI)
|
|
231
|
+
- **Permission denials are reframed for the model** ("the user declined … do not retry
|
|
232
|
+
the call and do not attempt the same action through other tools") — stops the
|
|
233
|
+
sandbox-spiral where models retry or work around a deliberate user decline.
|
|
234
|
+
- Memory-recall block is annotated reference-only (do NOT run tools from recall).
|
|
235
|
+
|
|
236
|
+
## [0.7.1] - 2026-07-05
|
|
237
|
+
|
|
238
|
+
### Changed (API behavior — note for integrators)
|
|
239
|
+
- **`max_cost_per_call` is now a true hard filter.** When no model fits the budget,
|
|
240
|
+
`POST /v1/recommend` returns **422** (`"no model within max_cost_per_call budget"`)
|
|
241
|
+
instead of 200 with the cheapest over-budget model plus a `no_model_within_cost_budget`
|
|
242
|
+
warning. This matches the documented "hard filter" contract and the existing
|
|
243
|
+
no-candidates behavior. Callers who want "cheapest possible regardless of ceiling"
|
|
244
|
+
should use the cost-quality slider, not `max_cost_per_call`.
|
|
245
|
+
- **Auth rejects malformed bearer tokens.** A bearer token that is not in the Mubit key
|
|
246
|
+
format (`mbt_…`) now returns **401** before any work, instead of being accepted and
|
|
247
|
+
served from priors. A missing bearer with a server-configured `MUBIT_API_KEY` fallback
|
|
248
|
+
is unaffected.
|
|
249
|
+
|
|
250
|
+
### Fixed
|
|
251
|
+
- **Cold-start catalog prices were stale.** The vendored fallback snapshot
|
|
252
|
+
(`capability_priors.json`) is refreshed from the live catalog (e.g. `claude-opus-4-8`
|
|
253
|
+
`15/75` → `5/25`), and a scheduled workflow now keeps it current so it stops drifting
|
|
254
|
+
by hand. (The auto-refresh updates prices for the curated model list; it does not add
|
|
255
|
+
new models — expanded provider coverage such as the gpt-5 family remains a separate
|
|
256
|
+
curation.)
|
|
257
|
+
- **Server version string can no longer drift.** `minima.__version__` (reported by
|
|
258
|
+
`/v1/health` and `/v1/capabilities`) now derives from installed package metadata instead
|
|
259
|
+
of a hardcoded constant that had silently lagged across releases.
|
|
260
|
+
- **Feedback reconciliation types the quality value honestly** as `float | None` — unjudged
|
|
261
|
+
rows keep `NULL`, no fabricated default (preserves the M-J2 fix).
|
|
262
|
+
|
|
263
|
+
### Internal
|
|
264
|
+
- **PR CI added** — every PR now runs server (`ruff` + `pytest` + `mypy`) and TUI
|
|
265
|
+
(`bun test` + `tsc`) checks; the recommender is mypy-clean.
|
|
266
|
+
|
|
267
|
+
## [0.7.0] - 2026-07-05
|
|
268
|
+
|
|
269
|
+
### Added
|
|
270
|
+
- **`GET /v1/capabilities`** — server feature handshake (api version, honored constraint
|
|
271
|
+
fields, feature flags) so clients can gate enforce-mode features on what the server
|
|
272
|
+
actually supports instead of guessing. (#54)
|
|
273
|
+
- **Sub-agent tree visualization** — a live `▸ step [status] $cost` panel (`/tree`) fed by
|
|
274
|
+
tagged child events during multi-agent runs. (#55)
|
|
275
|
+
- **Git worktree isolation for parallel sub-agents** — `isolation: "workdir"` delegations run
|
|
276
|
+
in a temporary `git worktree` (with a dirty-tree warning and automatic cleanup), so parallel
|
|
277
|
+
children editing the same files can't clobber each other. (#55)
|
|
278
|
+
- **Delegation ops-rules + BLOCKED convention** — sub-agents get explicit operational rules,
|
|
279
|
+
boundary refusals surface as `BLOCKED` → `partial` outcome so the parent can tell, and the
|
|
280
|
+
task tool carries anti-retry guidance (no more re-running an identical failed DAG). (#59)
|
|
281
|
+
|
|
282
|
+
### Fixed
|
|
283
|
+
- **Every Claude call timed out in the harness** — the Anthropic SDK was handed a timeout in
|
|
284
|
+
seconds where it expects milliseconds (a 30–60 ms budget), so every Claude stream/complete
|
|
285
|
+
call died with "Request timed out" and fed quality-0 failures into routing. (#56)
|
|
286
|
+
- **Quality-score fabrication in the feedback loop (M-J2)** — unjudged successes no longer
|
|
287
|
+
default to quality 0.9 in the server decision log; the harness now sends a `judged` flag and
|
|
288
|
+
unjudged rows reconcile with `quality = NULL`, so calibration and savings metrics stop
|
|
289
|
+
trusting values that were never measured. (#54)
|
|
290
|
+
- **Judge hardening** — empty-output guard (scores 0 without an API call), head+tail
|
|
291
|
+
truncation so tail requirements survive long outputs, `<response>` delimiters + scoped-trust
|
|
292
|
+
system prompt against response-embedded injection, and a `parseScore` fix for
|
|
293
|
+
"X out of 10" phrasing. (#57)
|
|
294
|
+
- **Gemini reasoner starvation** — advisory JSON calls (classify/rank) no longer burn their
|
|
295
|
+
entire token budget on thinking before emitting JSON; RANK_SYSTEM invariants hardened. (#58)
|
|
296
|
+
|
|
297
|
+
### Notes
|
|
298
|
+
- `minima-cli` on PyPI resumes at 0.7.0: the project version had lagged at 0.5.0, so the
|
|
299
|
+
0.6.0 release build was silently skipped by `--skip-existing` and 0.6.0 was never published.
|
|
300
|
+
|
|
301
|
+
## [0.6.0] - 2026-07-02
|
|
302
|
+
|
|
303
|
+
Agent-core release (milestones M-A…M-I): cost-aware sub-agent orchestration — `task` tool
|
|
304
|
+
with sequential and parallel DAG fan-out under a semaphore, per-child routing, budgets and
|
|
305
|
+
timeouts; DB-backed `BudgetLedger` with graduated enforcement; SQLite persistence spine
|
|
306
|
+
(runs/events/decisions + rehydration); recovery ladder walking server-supplied rungs on
|
|
307
|
+
failure; effort routing Phase A + fleet metrics; feedback-loop poisoning fixes; feature-vector
|
|
308
|
+
classifier with strongest-signal scoring. *(Never published to PyPI — see the 0.7.0 note.)*
|
|
309
|
+
|
|
310
|
+
## [0.5.2] - 2026-07-02
|
|
311
|
+
|
|
312
|
+
Fixed TUI viewport-overflow rendering corruption; docs rebrand (Manrope, "minima by Mubit"
|
|
313
|
+
nav logo, new favicon).
|
|
314
|
+
|
|
315
|
+
## [0.5.1] - 2026-07-01
|
|
316
|
+
|
|
317
|
+
Mubit memory in the TS harness (recall-before-route + outcome write-back with stable session
|
|
318
|
+
ids); benign routing diagnostics no longer render as errors; live model catalog; docs migrated
|
|
319
|
+
to Vocs with a Homebrew install guide.
|
|
320
|
+
|
|
321
|
+
## [0.5.0] - 2026-07-01
|
|
322
|
+
|
|
323
|
+
The TypeScript/Bun TUI becomes the shipped CLI: one-click `minima auth` (browser login,
|
|
324
|
+
per-repo project mapping, workspace provisioning), the Homebrew tap ships the compiled binary
|
|
325
|
+
instead of a Python venv formula, and a comprehensive routing/tool test suite lands.
|
|
326
|
+
|
|
327
|
+
## [0.4.10] - 2026-06-26
|
|
328
|
+
|
|
329
|
+
### Changed
|
|
330
|
+
- **`minima-cli` is now published to PyPI automatically on every release** — `pip install minima-cli`
|
|
331
|
+
is the official install (it bundles the `minima_client` SDK). A new CI job builds + uploads the
|
|
332
|
+
sdist/wheel alongside the GitHub release and prod deploy.
|
|
333
|
+
|
|
334
|
+
### Fixed
|
|
335
|
+
- **Docs (API reference):** corrected the `GET /v1/health` response example (it returns `mubit`
|
|
336
|
+
not `memory`, `version 0.4.9`, plus `auth`/`reasoner` blocks and `catalog.cost_source`) and
|
|
337
|
+
clarified `status` is only `degraded` on a key-bearing probe; documented the real
|
|
338
|
+
`summary.realized` field set (it differs from `summary.estimated`); and fixed the `days`
|
|
339
|
+
parameter bound (`>0–365`) on `/v1/savings` and `/v1/calibration`. Added a PyPI install link to
|
|
340
|
+
the Client SDK page.
|
|
341
|
+
|
|
342
|
+
## [0.4.9] - 2026-06-26
|
|
343
|
+
|
|
344
|
+
### Fixed
|
|
345
|
+
- **Multi-turn conversations with thinking enabled no longer 400 on Anthropic.** With extended
|
|
346
|
+
thinking on, Anthropic signs each thinking block and requires the signature echoed back when the
|
|
347
|
+
block is replayed — so the second turn of any thinking conversation (and any thinking + tool-use
|
|
348
|
+
turn) failed with `messages.N.content.0.thinking.signature: Field required`. The provider now
|
|
349
|
+
captures the `signature_delta` onto the thinking block and sends it back; an unsigned thinking
|
|
350
|
+
block (from another provider or an older session) is dropped rather than sent unsigned.
|
|
351
|
+
- **Text selection works again in macOS Terminal.app.** Terminal.app doesn't report mouse-motion
|
|
352
|
+
events (xterm mode 1003), which Textual needs for in-app drag-select — so capturing the mouse
|
|
353
|
+
there gave neither in-app selection nor Terminal.app's native selection (only wheel-scroll). The
|
|
354
|
+
mouse default is now resolved per-terminal: ON everywhere (scroll + in-app drag-select, as in
|
|
355
|
+
iTerm2/Ghostty/WezTerm), but OFF on macOS Terminal.app so native click-drag selection + copy work
|
|
356
|
+
out of the box (scroll with PageUp/PageDown). `--mouse`/`--no-mouse` overrides; `/mouse` toggles.
|
|
357
|
+
|
|
358
|
+
## [0.4.8] - 2026-06-26
|
|
359
|
+
|
|
360
|
+
### Fixed
|
|
361
|
+
- **A provider whose API key is invalid no longer wastes every turn routed to it.** When a model
|
|
362
|
+
call hard-fails on auth (e.g. an invalid `ANTHROPIC_API_KEY` → `401 invalid x-api-key`), that
|
|
363
|
+
provider is now blacklisted for the session and the *same* message is auto-rerouted onto a
|
|
364
|
+
provider whose key works — instead of the router re-recommending the dead provider on every
|
|
365
|
+
turn. The auth failure is also no longer fed back to Minima as a model-quality failure (it's a
|
|
366
|
+
credential problem, not a quality signal), so it can't poison the model's success estimate in
|
|
367
|
+
your namespace. Routing now also drops providers with no key configured up front, `/reconnect`
|
|
368
|
+
(and a key fixed via `/config`) clears the blacklist, and pins are never auto-rerouted.
|
|
369
|
+
- **Scroll-wheel and text selection/copy both work now.** Terminal mouse-tracking is
|
|
370
|
+
all-or-nothing — capturing the mouse for scroll-wheel suppresses the terminal's native
|
|
371
|
+
click-drag selection. Mouse capture is back ON by default (wheel scroll + in-app drag-select),
|
|
372
|
+
the terminal's native selection stays reachable by holding the bypass modifier while dragging
|
|
373
|
+
(Option on macOS, Shift on Linux), and copy now also pushes to the OS clipboard
|
|
374
|
+
(`pbcopy`/`xclip`/`wl-copy`) — Textual's built-in copy emits only OSC 52, which macOS
|
|
375
|
+
Terminal.app silently ignores, so selections *looked* copied but weren't.
|
|
376
|
+
|
|
377
|
+
### Added
|
|
378
|
+
- **`/resume` picker shows timestamps** — each session row now shows when it was created and last
|
|
379
|
+
used (e.g. `used 2h ago · created 3d ago`), and the list is sorted most-recently-used first.
|
|
380
|
+
- **`/mouse [on|off]`** command to toggle mouse capture live (scroll-wheel vs. terminal-native
|
|
381
|
+
selection) without restarting, plus a **`--no-mouse`** launch flag and an OS-aware selection
|
|
382
|
+
hint on the splash.
|
|
383
|
+
|
|
384
|
+
## [0.4.7] - 2026-06-26
|
|
385
|
+
|
|
386
|
+
### Fixed
|
|
387
|
+
- **Gemini calls failed whenever a tool with a nested-model schema was attached** — including
|
|
388
|
+
the `/ledger` `tasks` tool (its `TaskItem` list). Pydantic emits `$ref`/`$defs` for nested
|
|
389
|
+
models, and the google-genai SDK's strict `Schema` model rejects those with a
|
|
390
|
+
`ValidationError` (`extra_forbidden` on `$ref`), failing the entire call. Because the error
|
|
391
|
+
text contains `extra_forbidden`, it was *misclassified* as a `403` "Access denied (key lacks
|
|
392
|
+
permission, or no quota)" — so it looked like a key/quota problem when it was a client-side
|
|
393
|
+
schema issue. (This is why Gemini "stopped working" once a ledger goal was active; introduced
|
|
394
|
+
with the `tasks` tool in 0.4.4.) The Google provider now sends tool schemas via
|
|
395
|
+
`parameters_json_schema` (the SDK's standard-JSON-Schema path, which inlines/converts `$ref`
|
|
396
|
+
itself per Gemini's function-declaration rules) instead of the strict `parameters` model.
|
|
397
|
+
- **Client-side validation errors are no longer misread as provider auth failures.**
|
|
398
|
+
`classify_provider_error` now detects a pydantic/schema `ValidationError` first and reports it
|
|
399
|
+
as a tool-schema problem ("pin another model / report it"), so a `extra_forbidden` can never
|
|
400
|
+
again masquerade as a `403`/permission denial.
|
|
401
|
+
|
|
402
|
+
## [0.4.6] - 2026-06-26
|
|
403
|
+
|
|
404
|
+
### Added
|
|
405
|
+
- **Raw provider errors are now surfaced and logged.** Alongside the clean classified message,
|
|
406
|
+
a failed model call now shows the provider's exact words (`└ provider said: …`) in the TUI and
|
|
407
|
+
logs them at WARNING, so an ambiguous `403/429` ("key lacks permission, or no quota") is
|
|
408
|
+
self-diagnosing — you can see whether it's `RESOURCE_EXHAUSTED`, `PERMISSION_DENIED`, a project
|
|
409
|
+
issue, or model availability, instead of guessing.
|
|
410
|
+
|
|
411
|
+
### Fixed
|
|
412
|
+
- **One provider hiccup wedged the entire session.** A failed model call (bad key, 403/429,
|
|
413
|
+
network) is swallowed into an *empty* assistant message with `stop_reason="error"`, which the
|
|
414
|
+
agent loop appended to history. On the *next* turn — even to a healthy provider — that empty
|
|
415
|
+
text block made the request invalid (Anthropic `400 "messages: text content blocks must be
|
|
416
|
+
non-empty"`), so a single hiccup broke every subsequent turn until the session was cleared.
|
|
417
|
+
Now (1) the loop never sends a failed call's assistant to a provider, and (2) a failed turn is
|
|
418
|
+
rolled fully out of the agent's context (assistant + the user message that triggered it), so
|
|
419
|
+
the next turn starts clean. Regression introduced in 0.4.4 (when provider errors began being
|
|
420
|
+
swallowed into an empty assistant rather than raised). Verified against the live Anthropic API.
|
|
421
|
+
- **A failed model call was framed as "routing offline … /reconnect to retry Minima."** When
|
|
422
|
+
routing *succeeds* but the model *call* fails, the banner now reads e.g. `⚠ Access denied by
|
|
423
|
+
Google Gemini … — check GEMINI_API_KEY (/config) or pin another model (/model)` instead of the
|
|
424
|
+
misleading routing/reconnect framing. The provider-403 message also gained an actionable next
|
|
425
|
+
step (it was the only `classify_provider_error` branch without one).
|
|
426
|
+
- **Switching models left a stale error banner up.** After a model's call failed, pinning or
|
|
427
|
+
unpinning a different model (`/model …`, `/model auto`) now clears the banner — a prior
|
|
428
|
+
model's "access denied"/offline message no longer lingers as if it were still happening.
|
|
429
|
+
- **Pinning a model not in Minima's routing catalog 422'd and ran the wrong model.** Pinning
|
|
430
|
+
e.g. an OpenRouter-namespaced model (`google/gemini-2.5-flash`) sent it to Minima as a routing
|
|
431
|
+
constraint; Minima didn't recognize the id → `422 no models match the supplied constraints` →
|
|
432
|
+
routing degraded offline and ran a *different* fallback model, while the footer/banner
|
|
433
|
+
disagreed with what actually ran. A pin is now a true override: it bypasses Minima entirely
|
|
434
|
+
and runs exactly the pinned model (basis `pinned`), so any registered model — OpenRouter,
|
|
435
|
+
local, custom — can be pinned and runs as-is.
|
|
436
|
+
|
|
437
|
+
## [0.4.5] - 2026-06-26
|
|
438
|
+
|
|
439
|
+
### Fixed
|
|
440
|
+
- **Routing 401'd for the whole session when the Mubit key wasn't resolvable at launch.**
|
|
441
|
+
The `AsyncMinimaClient`'s `Authorization` header is fixed when the client is built, so a
|
|
442
|
+
Mubit key added via the `/config` overlay (or exported after launch) never took effect —
|
|
443
|
+
`/reconnect` only cleared the banner without rebuilding the client, leaving every turn
|
|
444
|
+
routing offline with `minima error 401: pass your Mubit API key …` until a full restart.
|
|
445
|
+
Now `/reconnect` (and saving a routing key/URL in `/config`) re-reads the environment and
|
|
446
|
+
rebuilds the Minima client in place, so the fix applies immediately — no restart.
|
|
447
|
+
- **Offline-fallback banner for an auth/config problem misleadingly said "/reconnect to
|
|
448
|
+
retry."** A no-key or rejected-key 401/403 is now classified separately from a transient
|
|
449
|
+
outage: the banner shows the actionable step ("no Mubit API key — add MUBIT_API_KEY via
|
|
450
|
+
/config") and drops the "/reconnect" framing (retrying alone wouldn't help). Transient
|
|
451
|
+
causes (timeout/unreachable) keep the "/reconnect to retry" banner.
|
|
452
|
+
- **No-key + hosted Minima made a guaranteed-401 round-trip every turn.** With no key
|
|
453
|
+
configured against a remote endpoint, routing now short-circuits instantly instead of
|
|
454
|
+
waiting on a doomed request (local/loopback endpoints still attempt, so keyless local
|
|
455
|
+
servers are unaffected).
|
|
456
|
+
|
|
457
|
+
## [0.4.4] - 2026-06-25
|
|
458
|
+
|
|
459
|
+
### Added
|
|
460
|
+
- **OpenRouter is now a full provider, not 4 hardcoded models.** Setting `OPENROUTER_API_KEY`
|
|
461
|
+
fetches OpenRouter's entire live model list (`GET /api/v1/models`, ~340 models) with live
|
|
462
|
+
pricing / context / modalities / reasoning, so any OpenRouter model is callable, pinnable, and
|
|
463
|
+
routable. Cached to `~/.minima-harness/cache` with a 24h TTL; degrades live → stale cache →
|
|
464
|
+
curated so startup never blocks or breaks offline.
|
|
465
|
+
- **`/ledger` — cost-aware goals.** Set a budgeted objective (`/ledger set <title>`,
|
|
466
|
+
`/ledger budget <usd>`); the agent maintains a task checklist (the `tasks` tool, footer `N/M`,
|
|
467
|
+
re-anchored into the prompt each turn and persisted across `--continue`/`--resume`). The goal
|
|
468
|
+
conditions routing (its turns cluster in Minima's memory) and each turn's realized cost is
|
|
469
|
+
attributed to it — `└ ledger · spent $X · ~$Y projected · budget $B` — the cost-to-goal view no
|
|
470
|
+
other agent has. (`/goals` remains as a hidden alias.)
|
|
471
|
+
- **Permission prompts before sensitive ops (default on).** write / edit / bash now ask first
|
|
472
|
+
(Enter approve · `a` always-allow this tool · Esc reject), previewing a diff or the command.
|
|
473
|
+
`/yolo` or `--dangerously-skip-permissions` disables prompting; `/edits` forces a diff review.
|
|
474
|
+
- **`/thoughts`** streams the model's reasoning into a muted bubble above each answer; **`/exit`**
|
|
475
|
+
(and `/quit`) quit the TUI.
|
|
476
|
+
|
|
477
|
+
### Fixed
|
|
478
|
+
- **Provider failures are no longer silent.** A failed model call (bad/missing key, 401/403/404/
|
|
479
|
+
429/402, network) was swallowed into an *empty* assistant message — a blank bubble in the TUI,
|
|
480
|
+
an empty line on `--print`. The harness now classifies it and surfaces an actionable,
|
|
481
|
+
provider-aware message (e.g. "Authentication failed for Anthropic running claude-opus-4-8 — set
|
|
482
|
+
ANTHROPIC_API_KEY (/config)") in the TUI, on `--print` stderr (exit 1), and in `--mode json`.
|
|
483
|
+
Tool failures (incl. permission denials) render prominently instead of a faint line.
|
|
484
|
+
- **OpenAI GPT-5 / o-series models 400'd on every call.** They reject `max_tokens` and require
|
|
485
|
+
`max_completion_tokens`; the OpenAI-compatible provider now sends the right param for the
|
|
486
|
+
`openai` provider (other OpenAI-compatible hosts keep `max_tokens`). Encoded as a small
|
|
487
|
+
per-provider request-quirks table rather than a hardcoded branch.
|
|
488
|
+
- **`/confirm` could silently ignore your pick** (kept the routed model when a pick didn't
|
|
489
|
+
resolve) — now warns; the decision card marks candidates with no provider key as `⚠ no key`.
|
|
490
|
+
- **`/model` had no way to unpin** — added an "auto (unpin)" entry + `/model auto` that restore
|
|
491
|
+
the full routing pool.
|
|
492
|
+
- **Scary red banners for benign routing diagnostics** (`neighbor_classified`, `recall_timeout`,
|
|
493
|
+
`cold_start`, …) — these are now suppressed; the banner is reserved for actionable issues.
|
|
494
|
+
- **Tool calls dumped raw JSON args** — now rendered IDE-style (diffs for edit/write, `$ cmd` for
|
|
495
|
+
bash, a clean summary otherwise) with colorized diffs.
|
|
496
|
+
- **Errored turns were sometimes reported to Minima as successes** (when judging was off),
|
|
497
|
+
poisoning the routing loop — now recorded as failures.
|
|
498
|
+
- **The launch splash was pinned to the left** instead of centered.
|
|
499
|
+
- **`/v1/models` price overlay** — the harness now overlays Minima's authoritative live pricing
|
|
500
|
+
onto the registry at startup, so reported cost matches what the server routed against.
|
|
501
|
+
|
|
502
|
+
### Performance
|
|
503
|
+
- **`brew install minima` drops from ~5 min to ~3 s.** The Homebrew formula now installs
|
|
504
|
+
dependencies from prebuilt wheels instead of compiling grpcio / cryptography / pydantic-core /
|
|
505
|
+
jiter / cffi from source. (Apple Silicon + Linux compile nothing; macOS-Intel still builds only
|
|
506
|
+
`cryptography`, which publishes no x86_64 wheel.)
|
|
507
|
+
|
|
508
|
+
## [0.4.3] - 2026-06-24
|
|
509
|
+
|
|
510
|
+
### Fixed
|
|
511
|
+
- **High CPU / fans during use.** The status bar repainted on *every* streamed token —
|
|
512
|
+
`_append_stream` called `set_state("working")` per delta and `StatusBar.set_state`
|
|
513
|
+
re-rendered unconditionally, so a 600-token reply triggered ~616 footer repaints (the
|
|
514
|
+
terminal emulator repaints on each, which spins fans). `set_state` is now idempotent
|
|
515
|
+
(no-op when the state is unchanged), the live-stream flush eased from ~33 Hz to ~16 Hz,
|
|
516
|
+
and the spinner timer is **paused while idle** (no 10 Hz wake-ups when nothing is running).
|
|
517
|
+
Measured: a 600-token stream drops from ~666 to ~40 repaints (~94% fewer); idle is quiet.
|
|
518
|
+
Memory is unaffected (steady ~70 MB RSS, no leak).
|
|
519
|
+
|
|
520
|
+
## [0.4.2] - 2026-06-24
|
|
521
|
+
|
|
522
|
+
### Added
|
|
523
|
+
- **Multi-provider support (open & closed source).** A new provider catalog
|
|
524
|
+
(`ai/provider_catalog.py`) integrates 21 LLM providers — closed-native (OpenAI, Anthropic,
|
|
525
|
+
Gemini, DeepSeek, Mistral, xAI, Cohere, Perplexity), the OpenRouter aggregator, open-weight
|
|
526
|
+
hosts (Groq, Together, Fireworks, DeepInfra, Cerebras, Hyperbolic, Novita), and local
|
|
527
|
+
runtimes (Ollama, vLLM, LM Studio, llama.cpp, LocalAI). All speak the OpenAI
|
|
528
|
+
chat-completions protocol, so a verified `base_url` + the right API-key env var is enough.
|
|
529
|
+
Model ids + pricing were verified against each provider's official docs (June 2026).
|
|
530
|
+
- **Key-gated, provider-specific routing.** Each model resolves *its own* provider's key
|
|
531
|
+
(a Groq model uses `GROQ_API_KEY`, never an OpenRouter key on `api.openai.com`); a provider's
|
|
532
|
+
models are registered only when its key is configured (so the `/model` picker stays relevant);
|
|
533
|
+
routing candidates and the offline fallback are filtered to models the user can actually run.
|
|
534
|
+
The `/model` picker now lists every registered model so any provider's model can be pinned.
|
|
535
|
+
- **`minima config`** now lists the popular providers (Anthropic, OpenAI, Gemini, xAI, DeepSeek,
|
|
536
|
+
Mistral, OpenRouter, Groq, Together); more providers work by exporting their env var, and
|
|
537
|
+
local runtimes need no key.
|
|
538
|
+
- **Config overlay UX:** Enter walks the fields and lands on a visible **Save** button (Enter
|
|
539
|
+
saves — Ctrl+S still works); the save hint is pinned in an always-visible footer.
|
|
540
|
+
|
|
541
|
+
### Fixed
|
|
542
|
+
- **`.env.example` shipped `MUBIT_ENDPOINT=http://127.0.0.1:3000`** and the docs said
|
|
543
|
+
`cp .env.example .env`; the CLI auto-loads `./.env`, silently degrading Mubit memory to a
|
|
544
|
+
dead localhost. The localhost default is now commented out, and `init_mubit` treats an empty
|
|
545
|
+
endpoint as unset (hosted default applies).
|
|
546
|
+
- **OpenRouter-only / single-provider setups mis-routed.** The earlier key-aware fallback could
|
|
547
|
+
pick `gpt-4o-mini` (which hits `api.openai.com`) for an OpenRouter key → guaranteed 401. Key
|
|
548
|
+
eligibility is now provider-specific and base_url-aware; an unpriced (cost-0) custom/local
|
|
549
|
+
model is no longer mistaken for the cheapest offline fallback.
|
|
550
|
+
- **`--offline` no longer dumps an httpx traceback** — routing fails fast with a clear
|
|
551
|
+
"routing disabled (offline mode)" reason, and the expected offline-fallback log drops the
|
|
552
|
+
stack trace (kept at DEBUG).
|
|
553
|
+
|
|
554
|
+
## [0.4.1] - 2026-06-24
|
|
555
|
+
|
|
556
|
+
### Fixed
|
|
557
|
+
- **Published CLI defaulted routing to `localhost:8080`.** A freshly installed `minima` (no
|
|
558
|
+
project `.env.harness`) connected to a dev URL that isn't running, so every turn fell back to
|
|
559
|
+
OFFLINE with "Minima unreachable" — while `minima config doctor` misleadingly reported the
|
|
560
|
+
hosted endpoint. `DEFAULT_MINIMA_URL` is now `https://api.minima.sh` and is the single source
|
|
561
|
+
of truth shared by the runtime, the config store, and `config doctor` (they can no longer
|
|
562
|
+
drift). Local dev against `make run` sets `MINIMA_URL=http://localhost:8080` explicitly.
|
|
563
|
+
- **Offline fallback could pick an unrunnable model.** The degraded-mode fallback chose the
|
|
564
|
+
globally cheapest model (gpt-4o-mini) regardless of configured keys, so an
|
|
565
|
+
Anthropic+Gemini-only setup hit a provider-auth error offline. It now prefers the cheapest
|
|
566
|
+
model whose provider key is actually set (e.g. `claude-haiku-4-5` / `gemini-2.5-flash`),
|
|
567
|
+
falling back to the global cheapest only when no key is present.
|
|
568
|
+
|
|
569
|
+
## [0.4.0] - 2026-06-24
|
|
570
|
+
|
|
571
|
+
First public, source-available release. Headline theme: the **harness** becomes a
|
|
572
|
+
trustworthy, transparent cost-aware coding agent, and the **recommender** gains a
|
|
573
|
+
data-grounded cost range.
|
|
574
|
+
|
|
575
|
+
### Added
|
|
576
|
+
- **`minima-harness config`** — per-user credential management across three surfaces
|
|
577
|
+
(CLI subcommand, `/config` TUI overlay, in-TUI editing). Secrets go to the **OS keyring**
|
|
578
|
+
when available, falling back to `~/.minima-harness/config.env` at mode `0600`; loaded into
|
|
579
|
+
the environment at lowest precedence. Sections: LLM provider keys + Mubit/Minima routing.
|
|
580
|
+
- **`/prompt` layered inspector** — every system-prompt layer (base, project context, session
|
|
581
|
+
override, Mubit lessons) shown separately with per-layer token counts, editable in place.
|
|
582
|
+
- **`/optimize`** — Mubit-backed system-prompt optimization (consolidates lessons + outcomes,
|
|
583
|
+
estimates token savings) with a local dedup fallback; never auto-applies.
|
|
584
|
+
- **Routing decision card** — each candidate framed as **cost (with predicted range) / speed /
|
|
585
|
+
predictability**, an ROI line for pricier alternatives, and hybrid reasoning (data-grounded
|
|
586
|
+
by default, the reasoner's natural language only when evidence is thin).
|
|
587
|
+
- **Data-grounded cost band** (server) — the recommend response now carries a p25–p75 cost band
|
|
588
|
+
(`est_cost_low` / `est_cost_high` / `cost_band_basis`) and `success_interval_width`, computed
|
|
589
|
+
from realized-cost history; honest "no range yet" when evidence is thin.
|
|
590
|
+
- **Cost predictability in `/stats`** — estimate-vs-actual MAPE and within-band hit-rate
|
|
591
|
+
(estimated cost is now persisted per turn to the session log).
|
|
592
|
+
- **MINIMA CLI welcome banner** and a centered launch splash.
|
|
593
|
+
- `docs/publishing.md` — release checklist.
|
|
594
|
+
|
|
595
|
+
### Changed
|
|
596
|
+
- **License is now `FSL-1.1-Apache-2.0`** (Functional Source License — source-available,
|
|
597
|
+
non-compete; each version converts to Apache-2.0 two years after publication). Previously
|
|
598
|
+
`Proprietary`.
|
|
599
|
+
- **Mouse capture is OFF by default** so terminal text selection + copy (drag, then Cmd/Ctrl+C)
|
|
600
|
+
works out of the box; `--mouse` opts into scroll-wheel support (otherwise PageUp/PageDown).
|
|
601
|
+
- Footer renders Ctrl shortcuts as `ctrl+l` etc. instead of the `^l` caret.
|
|
602
|
+
- Overlays (config, prompt, routing, optimize, and the model/session/command/tree pickers) share
|
|
603
|
+
a consistent rounded-accent card style with border titles.
|
|
604
|
+
|
|
605
|
+
### Fixed
|
|
606
|
+
- Copy/paste broke when mouse capture was enabled by default — restored selection-friendly default.
|
|
607
|
+
- Harness Minima client timeout raised (10s → 30s) so a cold-start `recommend` that consults the
|
|
608
|
+
reasoner no longer silently degrades to offline routing.
|
|
609
|
+
|
|
610
|
+
[0.4.0]: https://github.com/mubit-ai/minima/releases/tag/v0.4.0
|