minima-cli 0.12.0__tar.gz → 0.12.2__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 → minima_cli-0.12.2}/.github/workflows/catalog-snapshot.yml +17 -4
- {minima_cli-0.12.0 → minima_cli-0.12.2}/.github/workflows/ci.yml +27 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/.github/workflows/release-cli.yml +19 -11
- {minima_cli-0.12.0 → minima_cli-0.12.2}/CHANGELOG.md +90 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/CLAUDE.md +7 -2
- {minima_cli-0.12.0 → minima_cli-0.12.2}/PKG-INFO +1 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/client_sdk/minima_client/autocapture.py +2 -2
- {minima_cli-0.12.0 → minima_cli-0.12.2}/client_sdk/minima_client/client.py +149 -21
- minima_cli-0.12.2/client_sdk/minima_client/errors.py +49 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/client_sdk/minima_client/integrations/claude_code.py +8 -5
- {minima_cli-0.12.0 → minima_cli-0.12.2}/client_sdk/minima_client/integrations/litellm_router.py +47 -7
- minima_cli-0.12.2/client_sdk/minima_client/integrations/openhands_router.py +184 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/configuration.md +2 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/publishing.md +5 -0
- minima_cli-0.12.2/packages/sdk/README.md +54 -0
- minima_cli-0.12.2/packages/sdk/bun.lock +43 -0
- minima_cli-0.12.2/packages/sdk/package.json +22 -0
- minima_cli-0.12.2/packages/sdk/src/client.ts +305 -0
- minima_cli-0.12.2/packages/sdk/src/errors.ts +62 -0
- minima_cli-0.12.2/packages/sdk/src/index.ts +12 -0
- minima_cli-0.12.2/packages/sdk/src/version.ts +9 -0
- minima_cli-0.12.2/packages/sdk/tests/client.test.ts +194 -0
- minima_cli-0.12.2/packages/sdk/tsconfig.json +24 -0
- minima_cli-0.12.2/packages/tui/.gitignore +4 -0
- minima_cli-0.12.2/packages/tui/biome.json +25 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/package.json +1 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/cli/main.ts +167 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/db/minima_db.ts +643 -8
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/db/rehydrate.ts +19 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/config.ts +7 -0
- minima_cli-0.12.2/packages/tui/src/minima/diff_review.ts +147 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/failure_kind.ts +21 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/ground_truth.ts +8 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/index.ts +64 -0
- minima_cli-0.12.2/packages/tui/src/minima/memory_dream.ts +157 -0
- minima_cli-0.12.2/packages/tui/src/minima/memory_ledger.ts +90 -0
- minima_cli-0.12.2/packages/tui/src/minima/memory_scribe.ts +528 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/meter.ts +63 -0
- minima_cli-0.12.2/packages/tui/src/minima/plan_critic.ts +99 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/plan_finalize.ts +66 -1
- minima_cli-0.12.2/packages/tui/src/minima/repo_gates.ts +140 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/runtime.ts +126 -7
- minima_cli-0.12.2/packages/tui/src/minima/schemas.ts +326 -0
- minima_cli-0.12.2/packages/tui/src/session/resume_verify.ts +117 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/app.tsx +184 -3
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/db.test.ts +8 -2
- minima_cli-0.12.2/packages/tui/tests/diff_review.test.ts +124 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/feedback-grounded.test.ts +2 -1
- minima_cli-0.12.2/packages/tui/tests/honest_meter.test.ts +75 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/input-filter.test.ts +1 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/judge-cost-booking.test.ts +4 -3
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/ladder.test.ts +2 -1
- minima_cli-0.12.2/packages/tui/tests/ladder_v2.test.ts +83 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/markdown-fence.test.ts +1 -6
- minima_cli-0.12.2/packages/tui/tests/memory_dream.test.ts +255 -0
- minima_cli-0.12.2/packages/tui/tests/memory_ledger.test.ts +287 -0
- minima_cli-0.12.2/packages/tui/tests/memory_scribe.test.ts +423 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/minima.test.ts +14 -7
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/minima_memory.test.ts +2 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan-loop-audit.test.ts +2 -1
- minima_cli-0.12.2/packages/tui/tests/plan_critic.test.ts +99 -0
- minima_cli-0.12.2/packages/tui/tests/repo_gates.test.ts +140 -0
- minima_cli-0.12.2/packages/tui/tests/resume_verify.test.ts +150 -0
- minima_cli-0.12.2/packages/tui/tests/version_stamp.test.ts +126 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/pyproject.toml +1 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/feedback.py +81 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/config.py +6 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/memory/records.py +59 -2
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/aggregate.py +16 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/engine.py +9 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_feedback_loop.py +126 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_measurement_api.py +3 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_adapters.py +117 -0
- minima_cli-0.12.2/tests/unit/test_recall_track.py +115 -0
- minima_cli-0.12.2/tests/unit/test_sdk_client.py +153 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_sdk_usage.py +10 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_ts_mirror.py +15 -9
- {minima_cli-0.12.0 → minima_cli-0.12.2}/uv.lock +1 -1
- minima_cli-0.12.0/client_sdk/minima_client/errors.py +0 -23
- minima_cli-0.12.0/client_sdk/minima_client/integrations/openhands_router.py +0 -99
- {minima_cli-0.12.0 → minima_cli-0.12.2}/.dockerignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/.env.example +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/.github/workflows/prod.yml +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/.github/workflows/staging.yml +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/.gitignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/AGENTS.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/Dockerfile +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/LICENSE +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/Makefile +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/.gitignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/assert/check.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/assert/db.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/driver/env.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/driver/headless.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/driver/mock_server.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/driver/rig.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/driver/scratch.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/_example/mathx.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/_example/tests/test_public.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/package.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/src/csv.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/src/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/src/object.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/src/stats.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/src/transform.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/tests/csv.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/tests/object.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/tests/stats.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/js-lib/tests/transform.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/js/chunk.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/js/droot.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/js/duration.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/js/wrap.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/py/checksum.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/py/intervals.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/py/rle.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/py/roman.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/js/chunk/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/js/droot/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/js/duration/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/js/wrap/smoke.test.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/py/conftest.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/py/test_checksum_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/py/test_intervals_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/py/test_rle_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/py/test_roman_smoke.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/ts/brackets/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/ts/drift/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/ts/ordinal/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/tests/ts/slug/smoke.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/ts/brackets.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/ts/drift.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/ts/ordinal.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/katas/ts/slug.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/.gitignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/pytest.ini +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/__main__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/cli.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/dates.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/migrations.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/models.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/query.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/report.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/taskman/storage.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/conftest.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/test_cli.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/test_dates.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/test_models.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/test_query.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/test_report.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/py-cli/tests/test_storage.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/package.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/app.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/auth.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/errors.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/handlers/admin.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/handlers/links.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/handlers/notes.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/handlers/stats.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/persist.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/ratelimit.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/respond.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/router.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/server.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/store.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/types.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/src/validate.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/auth.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/health.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/helpers.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/links.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/notes.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/persist.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/ratelimit.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/router.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/stats.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/store.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tests/validate.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/fixtures/templates/ts-api/tsconfig.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f10_recovery_ladder.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f12_learning_loop.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f1_headless.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f4_cost_budget.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f5_task_dag_worktree.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f6_resume_lineage.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f7_permissions_plan.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/flows/f9_offline_reconnect.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/attempt.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/build_index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/calibrate.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/calibrate_all.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/calibration_report.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/materialize.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/savings_ab.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/savings_report.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/gen/validate_task.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/run.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/_example/ex-001/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/_example/ex-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/_example/ex-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/calibration.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-001/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-002/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-003/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-004/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-005/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-006/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/js-lib/jl-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-001/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-002/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-003/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-004/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-005/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-006/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-007/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-007/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-007/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-008/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-008/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-008/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-009/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-009/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-009/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-010/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-010/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-010/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-011/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-011/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-011/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-012/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-012/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/katas/ka-012/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-001/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-002/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-003/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-004/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-005/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-006/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-007/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-007/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-007/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-008/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-008/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/py-cli/pc-008/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/savings_ab.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-001/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-001/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-001/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-002/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-002/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-002/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-003/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-003/oracle.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-003/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-004/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-004/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-004/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-005/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-005/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-005/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-006/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-006/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-006/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-007/bug.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-007/hidden_tests.patch +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/bench/tasks/ts-api/ta-007/task.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/client_sdk/minima_client/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/client_sdk/minima_client/integrations/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/PLAN-retired.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/characteristics-of-successful-plans.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/decision-inline-renderer.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/harness-research.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/inline-rendering-brief.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/inline-ux-guide.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/minima-harness-application-guide.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/plan-loop-audit.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/playbook.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/pr-default-renderer.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/pr-opencode-sidebar.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/pr-prompt-echo.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/q_and_a.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/ab/ab_capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/ab/ab_compare.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b1-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b1-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b2-mode-plan-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b2-mode-plan-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b4-undo-prefill-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b5-rewind-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b5-rewind-overlay.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/b5-rewind-picker-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/baseline/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/baseline/base-echo-gap.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/baseline/base-gt-wide.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/baseline/base-inline-default.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/baseline/base-narrow.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/baseline/base-toc-wide.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/baseline/capture-specs.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/c-prompt-echo.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/boundary-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/capture-specs.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/check_echo.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/code-heavy-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/code-heavy-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/echo-gap.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/echo-gap.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/fixture-resume.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/gt-banner.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/gt-block.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/gt-off-notice.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/narrow-55.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/perf.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/plain-chat.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/plain-chat.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/inline-baseline/toc-block.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/j1-why-card-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp1-tui-verify-run.log +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-80.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-80.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-tall.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/code-tall.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/md-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/md-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/md-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/md-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/mixed-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/mixed-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/mixed-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/mixed-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/stream-code.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/stream-code.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/stream-code.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/tool-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/tool-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/tool-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp10-render-audit/tool-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-80.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-80.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-tall.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp11-code-wrap/code-tall.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp12-tool-truncate/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp12-tool-truncate/tool-120.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp12-tool-truncate/tool-120.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp12-tool-truncate/tool-60.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp12-tool-truncate/tool-60.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp14-council-progress/busy-research.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp14-council-progress/busy-research.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp14-council-progress/busy-synth.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp14-council-progress/busy-synth.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp14-council-progress/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp14-council-progress/council-line.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp16-plan-draft/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp16-plan-draft/draft-round1.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp16-plan-draft/draft-round1.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp16-plan-draft/draft-round2.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp16-plan-draft/draft-round2.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp16-plan-draft/final-overview.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp16-plan-draft/final-overview.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp17-plan-exit/approved.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp17-plan-exit/approved.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp17-plan-exit/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp18-verify-consent/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp18-verify-consent/first-prompt.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp18-verify-consent/first-prompt.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/1-council.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/1-council.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/2-draft.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/2-draft.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/4-red-block.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/4-red-block.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/5-green-close.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/5-green-close.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/7-step-card.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/7-step-card.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp19-acceptance/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp20-stream-reseat/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.frames.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.txt +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp4-spike/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp4-spike/mp4-closed.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp4-spike/mp4-open.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp4-spike/mp4-scrolled.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp5-taskpanel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp5-taskpanel/mp5-hidden.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp5-taskpanel/mp5-restart-hidden.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp5-taskpanel/mp5-visible.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp6-gt-taskpanel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-blocked-alert.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-drift-alert.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp7-expand-panel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp7-expand-panel/mp7-closed-draft.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-bottom.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-open.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp8-panel-reader/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp8-panel-reader/mp8-back-to-list.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp8-panel-reader/mp8-reader.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp9-gt-panel/capture.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp9-gt-panel/mp9-gate-wins.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp9-gt-panel/mp9-overview.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/mp9-gt-panel/mp9-step-card.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/p0-badge-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/p0-badge-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/plan-e2e-seeded.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/plan-exit-approval.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/plan-shifttab-workflow.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u2-docked-toc-focused.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u2-docked-toc-unfocused.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u2-narrow-fallback.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u2-narrow-overlay.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u2-toc-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u2-toc-inline.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u3-gt-card-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u3-gt-docked.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/shots/u3-gt-panel-fullscreen.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/sources.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/spike-inline-panel.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/tui-manual-testing.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/BigPlan/workflow-diagrams.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/agent-core-architecture.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/agent-core-implementation-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/api-reference.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/characteristics_of_a_good_plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/client-sdk.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/concepts.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/examples.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/feature-gap-analysis.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/getting-started.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/goals-feature-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/ground-truth-build-guide.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/ground-truth-tui-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/harness.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/multi-tenancy.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/operations.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/seeding.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/tui-rendering-strategy.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs/tui-stability-input-plan.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/.dockerignore +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/Dockerfile +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/Accordion.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/Badge.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/Card.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/CardGroup.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/Frame.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/Note.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/PageHeader.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/Steps.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/Tabs.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/components/sidebar.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/netlify.toml +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/nginx.conf +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/package-lock.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/package.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/api-reference/endpoints.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/cli.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/configuration.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/installation.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/interactive.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/overview.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/routing.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/sessions.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/tools.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/harness/troubleshooting.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/index.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/sdk/client-sdk.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/sdk/concepts.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/sdk/examples.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/pages/sdk/getting-started.mdx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/public/images/favicon.png +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/public/images/logo-dark.svg +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/public/images/logo-light.svg +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/public/styles/global.css +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/tsconfig.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/docs-site/vocs.config.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/01_quickstart.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/02_recommend_and_feedback.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/03_constraints_and_tradeoff.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/04_workflow.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/05_autocapture.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/06_routed_llm_call.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/07_multitenant_admin.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/agent_escalation.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/agent_escalation_learn.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/agent_gemini.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/agent_retention.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/agent_warmup.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/agent_warmup_vary.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/metrics_demo.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/examples/smoke_test.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/maybe.js +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/maybe.ts +0 -0
- {minima_cli-0.12.0/packages/tui → minima_cli-0.12.2/packages/sdk}/.gitignore +0 -0
- {minima_cli-0.12.0/packages/tui → minima_cli-0.12.2/packages/sdk}/biome.json +0 -0
- {minima_cli-0.12.0/packages/tui/src/minima → minima_cli-0.12.2/packages/sdk/src}/schemas.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/bun.lock +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/build-all.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/build.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/gen-fixture-session.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/install.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/mock_openai_sse.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/plan_latency_bench.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/pty_capture.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/stub-devtools.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/tui_assert.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/scripts/tui_verify.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/agent.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/events.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/loop.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/modes.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/policy.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/state.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/agent/tools.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/compat.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/events.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/provider_catalog.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/provider_quirks.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/providers/_common.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/providers/anthropic.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/providers/base.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/providers/faux.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/providers/google.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/providers/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/providers/openai_compat.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/registry.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/stream.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/types.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/ai/usage.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/db/metrics.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/db/sink.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/errtext.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/anti_spiral.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/behavior.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/budget.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/catalog.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/check.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/client.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/confidence.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/errors.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/gt_contract.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/gt_factors.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/judge.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/mapping.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/memory.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/mubit_memory_factory.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/plan_council.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/plan_lint.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/plan_refute.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/plan_seed.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/plan_session.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/plan_turn.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/router.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/spawn.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/stop_gate.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/tool_permissions.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/minima/why.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/run_modes.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/session/checkpoint.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/session/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/session/rewind.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/session/sections.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/session/store.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/_ddg.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/_exa.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/_io.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/_search.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/apply_patch.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/at_mentions.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/bash.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/builtin.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/edit.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/exit_plan.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/glob.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/grep.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/index.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/ls.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/question.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/read.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/schema.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/task.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/todowrite.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/types.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/web_fetch.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/web_search.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tools/write.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/auth.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/badge_slot.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/busy.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/child_tree.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/clipboard.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/compact.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/config_store.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/context.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/current_action.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/expand_panel.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/footer.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/gt_overview.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/input-filter.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/layout.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/messages.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/mode_prefs.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/model-picker.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/panel_state.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/perf.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/permissions.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/plan_draft_view.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/projects.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/reader.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/resume.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/rewind_picker.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/routing-warnings.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/status.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/suspend.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/task_footer.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/text-input.tsx +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/tips.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/tui/toc.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/types.d.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/src/version.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/acceptance-e2e.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/agent.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/ai.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/anthropic.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/anti-spiral-runtime.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/anti-spiral.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/apply_patch.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/auth.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/badge_slot.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/bash-group.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/behavior.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/budget.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/busy.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/candidate-filter.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/catalog.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/check.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/checkpoint.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/cli.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/client.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/confidence.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/config_env.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/config_store.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/current_action.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/db_migrate.test.ts +1 -1
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/effort.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/error-ux.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/exit_plan.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/failure-kind-runtime.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/failure-kind.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/footer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/gate.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/google.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/ground_truth.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/grounded.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/gt-attribution.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/gt-contract.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/gt-e2e.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/gt-footer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/gt_factors.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/gt_overview.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/hooks.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/isolation.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/j1-e2e.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/judge.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/layout.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/learning-loop.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/memory.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/modes.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/openai_compat.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/panel_state.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/permissions.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan-lint.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan_council.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan_draft_view.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan_finalize.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan_refute.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan_session.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/plan_turn.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/policy.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/reader.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/recall-user-id.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/render-buffer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/resume-gt.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/rewind.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/rewind_picker.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/run_modes.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/sections.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/session.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/spawn.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/stop-gate-runtime.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/stop-gate.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/task.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/task_footer.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/thinking.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/tips.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/toc.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/todowrite.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/tool-permissions.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/tool_marker.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/tools-persistence.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/tools.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/verify-consent.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tests/why.test.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packages/tui/tsconfig.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packaging/homebrew/README.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/packaging/homebrew/render_formula.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_125009/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_125009/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_125009/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_125009/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_125009/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/strategies_run4.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/strategies_run5.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_130252/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_182838/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_182838/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_182838/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_182838/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/memory_audit.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/strategies_run4.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/strategies_run5.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260612_183343/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/memory_audit.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/strategies_run1.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/strategies_run2.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/strategies_run3.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/strategies_run4.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/strategies_run5.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260615_101732/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260624_103307/memory_audit.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260624_103307/recall_debug.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/20260624_103307/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalate_20260615_133108/cold_probe.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalate_20260615_133108/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalate_20260615_133108/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalate_20260615_134209/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalate_20260615_134209/cold_probe.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalate_20260615_134209/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalate_20260615_134209/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalation_20260612_201825/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalation_20260612_201825/results.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/escalation_20260612_201825/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/_manifest.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/calibration.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/feedback.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/health.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/models.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/recommend.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/savings.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/strategies.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/playground_p1/workflow.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/retention_20260612_201828/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/retention_20260612_201828/results.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/retention_20260612_201828/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/warmupvary_20260615_123818/REPORT.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/warmupvary_20260615_123818/summary.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/runs/warmupvary_20260615_123818/tasks.jsonl +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/scripts/eval/classify_dataset.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/scripts/eval/eval_classify.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/scripts/test-routing-web.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/scripts/test-routing.sh +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/scripts/test-routing.ts +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/auth.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/errors.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/calibration.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/capabilities.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/health.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/models.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/recommend.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/api/routers/strategies.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/data/benchmark_priors.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/data/capability_priors.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/data/model_aliases.json +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/merge.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/refresh.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/sources/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/sources/litellm.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/sources/openrouter.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/catalog/store.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/deps.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/logging.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/main.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/memory/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/memory/adapter.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/memory/keys.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/memory/threadpool.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/metrics/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/metrics/calibration.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/metrics/ope.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/metrics/report.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/metrics/savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/_pg_pool.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/_redis_client.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/classify.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/decisionlog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/durablerefs.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/escalation.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/recstore.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/score.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/recommender/types.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/capabilities.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/common.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/feedback.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/models_catalog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/recommend.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/strategies.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/schemas/workflow.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/seeding/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/seeding/items.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/seeding/llmrouterbench.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/seeding/routerbench.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/seeding/run_seed.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/seeding/synthetic.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/tenancy/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/tenancy/context.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/tenancy/passthrough.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/src/minima/version.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/conftest.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/BENCHMARKS.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/CRITERIA.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/RESULTS.md +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/__init__.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/harness.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/llmrouterbench_config.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/prompt_length_benchmark.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/test_llmrouterbench_savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/eval/test_routerbench_savings.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/factories.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_auth.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_lesson_promotion.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_observed_cost_ranking.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_recommend_api.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_strategies_api.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/integration/test_workflow_models_health.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/live/test_cost_savings_spotcheck_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/live/test_escalation_fixes.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/live/test_full_surface_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/live/test_mubit_roundtrip.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/live/test_phase3_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/live/test_recall_params_live.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_accumulating_records.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_aggregate.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_aggregate_decay.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_autocapture.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_calibration_fit.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_capabilities.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_classify_benchmark.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_classify_keys.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_cluster.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_cost_band.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_decisionlog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_escalation.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_iterations.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_latency_quality.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_lookup_parse.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_metrics.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_metrics_demo.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_neighbor_classify.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_ope.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_prompt_length_benchmark.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_records_catalog.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_recstore_sqlite.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_score.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_store_backends.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_strategies.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_tenancy.py +0 -0
- {minima_cli-0.12.0 → minima_cli-0.12.2}/tests/unit/test_thompson.py +0 -0
|
@@ -92,9 +92,22 @@ jobs:
|
|
|
92
92
|
git checkout -B "$BRANCH"
|
|
93
93
|
git add "$SNAPSHOT_PATH"
|
|
94
94
|
git commit -m "chore(catalog): refresh vendored model snapshot from live /v1/models"
|
|
95
|
-
|
|
95
|
+
# Plain --force: this branch is automation-owned and rebuilt from main every
|
|
96
|
+
# run, and the fresh checkout has no remote-tracking ref for it, so
|
|
97
|
+
# --force-with-lease always fails with "stale info" once the branch exists.
|
|
98
|
+
git push -u origin "$BRANCH" --force
|
|
96
99
|
|
|
97
|
-
|
|
100
|
+
# Fail LOUD when the PR can't be opened: `|| echo` masked a hard denial
|
|
101
|
+
# ("GitHub Actions is not permitted to create ... pull requests") for days —
|
|
102
|
+
# green runs, branch pushed, no PR, nobody the wiser. An existing open PR is
|
|
103
|
+
# the only benign create-failure; anything else must turn the run red.
|
|
104
|
+
if ! gh pr create --base main --head "$BRANCH" \
|
|
98
105
|
--title "chore(catalog): refresh vendored model snapshot" \
|
|
99
|
-
--body "Automated refresh of \`$SNAPSHOT_PATH\` from the live catalog at \`$CATALOG_URL\` (normalized to the loader's shape). Opened by \`.github/workflows/catalog-snapshot.yml\`. Review the diff — this is the cold-start fallback the server serves when the live cost feed is unreachable."
|
|
100
|
-
|
|
106
|
+
--body "Automated refresh of \`$SNAPSHOT_PATH\` from the live catalog at \`$CATALOG_URL\` (normalized to the loader's shape). Opened by \`.github/workflows/catalog-snapshot.yml\`. Review the diff — this is the cold-start fallback the server serves when the live cost feed is unreachable."; then
|
|
107
|
+
if [ -n "$(gh pr list --base main --head "$BRANCH" --json number --jq '.[0].number // empty')" ]; then
|
|
108
|
+
echo "PR already open for $BRANCH; pushed update."
|
|
109
|
+
else
|
|
110
|
+
echo "::error::pushed $BRANCH but could not open its PR — likely the repo forbids Actions-created PRs (Settings → Actions → General → 'Allow GitHub Actions to create and approve pull requests')"
|
|
111
|
+
exit 1
|
|
112
|
+
fi
|
|
113
|
+
fi
|
|
@@ -67,3 +67,30 @@ jobs:
|
|
|
67
67
|
|
|
68
68
|
- name: Typecheck
|
|
69
69
|
run: bun run check
|
|
70
|
+
|
|
71
|
+
sdk-ts:
|
|
72
|
+
name: TS SDK — bun test + tsc
|
|
73
|
+
runs-on: ubuntu-latest
|
|
74
|
+
defaults:
|
|
75
|
+
run:
|
|
76
|
+
working-directory: packages/sdk
|
|
77
|
+
steps:
|
|
78
|
+
- name: Checkout
|
|
79
|
+
uses: actions/checkout@v5
|
|
80
|
+
|
|
81
|
+
- name: Set up Bun
|
|
82
|
+
uses: oven-sh/setup-bun@v2
|
|
83
|
+
with:
|
|
84
|
+
bun-version: ${{ env.BUN_VERSION }}
|
|
85
|
+
|
|
86
|
+
- name: Install deps
|
|
87
|
+
run: bun install --frozen-lockfile
|
|
88
|
+
|
|
89
|
+
- name: Test
|
|
90
|
+
run: bun test
|
|
91
|
+
|
|
92
|
+
- name: Typecheck
|
|
93
|
+
run: bun run check
|
|
94
|
+
|
|
95
|
+
- name: Lint
|
|
96
|
+
run: bun run lint
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
name: Release — CLI binaries + Homebrew
|
|
2
2
|
|
|
3
3
|
# On a published release, cross-compile the TypeScript/Bun CLI for macOS + Linux,
|
|
4
|
-
# ad-hoc codesign the macOS arches, attach the tarballs to the release, and
|
|
5
|
-
#
|
|
4
|
+
# ad-hoc codesign the macOS arches, attach the tarballs to the release, and push
|
|
5
|
+
# the bumped binary formula straight to the Homebrew tap (mubit-ai/homebrew-minima).
|
|
6
6
|
# PyPI publishing of the Python `minima-cli` (SDK + server tooling) stays in prod.yml.
|
|
7
7
|
on:
|
|
8
8
|
release:
|
|
@@ -92,7 +92,7 @@ jobs:
|
|
|
92
92
|
path: packages/tui/dist/minima-*.tar.gz
|
|
93
93
|
|
|
94
94
|
publish-and-bump:
|
|
95
|
-
name: Attach assets +
|
|
95
|
+
name: Attach assets + push tap formula
|
|
96
96
|
needs: [build-macos, build-linux]
|
|
97
97
|
runs-on: ubuntu-latest
|
|
98
98
|
steps:
|
|
@@ -116,7 +116,12 @@ jobs:
|
|
|
116
116
|
VER="${RELEASE_TAG#v}"
|
|
117
117
|
python3 packaging/homebrew/render_formula.py --version "$VER" --dist dist --out minima.rb
|
|
118
118
|
echo "----- rendered formula -----"; cat minima.rb
|
|
119
|
-
|
|
119
|
+
# Direct push, not a PR: the formula PRs sat unmerged (0.11.0 AND 0.12.0 —
|
|
120
|
+
# brew served 0.10.0 until 2026-07-20), so a published release silently never
|
|
121
|
+
# reached users. The sha256s come from the just-built release artifacts, so
|
|
122
|
+
# there is nothing for a reviewer to judge that the release itself didn't
|
|
123
|
+
# already gate.
|
|
124
|
+
- name: Push formula to the tap
|
|
120
125
|
env:
|
|
121
126
|
GH_TOKEN: ${{ secrets.GH_PAT }}
|
|
122
127
|
run: |
|
|
@@ -126,15 +131,18 @@ jobs:
|
|
|
126
131
|
cd tap
|
|
127
132
|
git config user.name "mubit-release-bot"
|
|
128
133
|
git config user.email "release-bot@mubit.ai"
|
|
129
|
-
branch="bump-minima-${VER}"
|
|
130
|
-
git checkout -b "$branch"
|
|
131
134
|
if git diff --quiet Formula/minima.rb; then
|
|
132
135
|
echo "formula already up to date for ${VER}; nothing to do"; exit 0
|
|
133
136
|
fi
|
|
134
137
|
git add Formula/minima.rb
|
|
135
138
|
git commit -m "minima ${VER} (prebuilt binary)"
|
|
136
|
-
git push
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
139
|
+
git push origin HEAD:main
|
|
140
|
+
- name: Verify the tap serves the released version
|
|
141
|
+
run: |
|
|
142
|
+
VER="${RELEASE_TAG#v}"
|
|
143
|
+
served=$(curl -fsSL "https://raw.githubusercontent.com/mubit-ai/homebrew-minima/main/Formula/minima.rb" | sed -n 's/^ *version "\(.*\)"/\1/p' | head -1)
|
|
144
|
+
if [ "$served" != "$VER" ]; then
|
|
145
|
+
echo "::error::tap serves ${served:-nothing} but the release is ${VER}"
|
|
146
|
+
exit 1
|
|
147
|
+
fi
|
|
148
|
+
echo "tap serves ${served}"
|
|
@@ -4,6 +4,96 @@ All notable changes to Minima are documented here. The format follows
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/), and the project aims to follow
|
|
5
5
|
[Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [0.12.2] - 2026-07-20
|
|
8
|
+
|
|
9
|
+
The memory spine: the SQLite ledger starts feeding decisions. Ten PRs across the
|
|
10
|
+
harness and server (#175–#184) — curated cross-session memory, a background
|
|
11
|
+
curator, recall track records on server memory, and the durable-execution +
|
|
12
|
+
verification upgrades.
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- **Memory ledger** (harness, default ON — `MINIMA_TUI_MEMORY=0` opts out; migration
|
|
16
|
+
v12): curated per-repo memories (`note`/`workflow`/`lesson`/`guardrail`) projected
|
|
17
|
+
into each turn's system prompt (hard-capped, pinned > gate-cited > recency; every
|
|
18
|
+
distinct injection audited so "what the model saw" is replayable). Managed via
|
|
19
|
+
`/memory` (list · add · dream · pin/confirm/reject/delete = bi-temporal invalidate).
|
|
20
|
+
The model has no memory-write tool (Letta split).
|
|
21
|
+
- **Memory scribe**: the sole automated memory writer — signals mined from the ledger
|
|
22
|
+
(gate flips, verified failures, user corrections, judge/gate disagreements — never
|
|
23
|
+
the transcript), recurrence-gated, one extraction call routed through Minima
|
|
24
|
+
(`tags=["memory:extract"]`, spend booked like judge spend), mem0-style
|
|
25
|
+
reconciliation (rejected rows never resurrected), provenance activation (only
|
|
26
|
+
gate-cited candidates auto-activate). Runs as crash-safe persisted jobs.
|
|
27
|
+
- **Memory dream** (`/memory dream`): deterministic offline consolidation — only
|
|
28
|
+
green-gated closed plans distill into `workflow` candidates (always pending, never
|
|
29
|
+
mutates existing rows). Confirmed workflows enable **replay-with-cheap**: matching
|
|
30
|
+
prompts route with `tags=["procedure:known"]` so Thompson learns the cheaper
|
|
31
|
+
frontier for known-procedure work organically.
|
|
32
|
+
- **Recall track** (server, schema v5): every trusted-label feedback casts a vote on
|
|
33
|
+
the durable records recalled into that decision; bad-track records are down-weighted
|
|
34
|
+
(floor 0.25) and eventually tombstoned (`invalidated_at`, never deleted;
|
|
35
|
+
`recall_invalidated_skipped:<n>` recommend warning). `MINIMA_RECALL_VOTE_MIN_N` /
|
|
36
|
+
`MINIMA_RECALL_INVALIDATE_RATE`.
|
|
37
|
+
- **Planning critic** (advisory, at `/plan` finalize) + **zero-context diff reviewer**
|
|
38
|
+
(at plan closure; an objection can yellow the plan tier, never green it).
|
|
39
|
+
`MINIMA_TUI_PLAN_CRITIC=0` / `MINIMA_TUI_DIFF_REVIEW=0` opt out.
|
|
40
|
+
- **Auto-gates**: repo manifests mined for trusted-by-construction check commands at
|
|
41
|
+
`/plan` finalize — fast command (typecheck/lint) on verify-less steps, full test
|
|
42
|
+
suite on the final step. `MINIMA_TUI_AUTO_GATES=0` opts out.
|
|
43
|
+
- **Version stamps + blob tier** (migration v13): decisions/gates record
|
|
44
|
+
`harness_version` + a toolset hash (resume warns on skew, never blocks); >16KB tool
|
|
45
|
+
results spill to content-addressed blob files.
|
|
46
|
+
- **Resume re-verify**: resuming re-runs the in-progress step's verify against its
|
|
47
|
+
recorded baseline (consent-gated) — divergence re-baselines from reality with a 🟡
|
|
48
|
+
banner; the resumed run's provider session id is reused for prompt-cache continuity.
|
|
49
|
+
- **Ladder v2**: named rung states (`retry_step`/`revise_step`/`replan`) on recovery
|
|
50
|
+
gates + feedback notes; repeated verified failures unlock full failing-check output
|
|
51
|
+
in the retry prompt.
|
|
52
|
+
- **Honest meter**: KV-cache hit rate and cost-of-pass (labeled successes only, with
|
|
53
|
+
coverage disclosure) in `/cost`.
|
|
54
|
+
|
|
55
|
+
## [0.12.1] - 2026-07-20
|
|
56
|
+
|
|
57
|
+
SDK integrity + a standalone TypeScript SDK. Server wire contract unchanged; all
|
|
58
|
+
changes are client-side and release-pipeline hardening.
|
|
59
|
+
|
|
60
|
+
### Added
|
|
61
|
+
- **`@mubit-ai/minima-sdk`** (`packages/sdk`) — a standalone TypeScript SDK: pure-fetch
|
|
62
|
+
typed `/v1/*` client with zero runtime dependencies (Node 18+/Deno/Bun/edge), full
|
|
63
|
+
surface including `policyValue()`, typed feedback options, transparent feedback
|
|
64
|
+
retries, and rate-limit-aware errors. Its schema mirror is pinned against the
|
|
65
|
+
Pydantic source of truth alongside the TUI's.
|
|
66
|
+
- Python SDK: `capabilities()` and `policy_value()` (the doubly-robust
|
|
67
|
+
regret-vs-oracle report) on both clients; `recommend()` gains `incumbent_model_id`,
|
|
68
|
+
`max_candidates`, and `phase=` (rides as the `phase:<v>` tag); `feedback()` gains
|
|
69
|
+
typed named params (`quality_score`, `evidence_source`, `error_cause`,
|
|
70
|
+
`chosen_effort`, `iterations`); `x-minima-client`/`User-Agent` headers; feedback
|
|
71
|
+
retries with backoff on transient faults (safe under the reconcile replay guard —
|
|
72
|
+
recommend stays fail-fast); `MinimaRateLimited(retry_after)` and
|
|
73
|
+
`MinimaUnavailable` error subtypes.
|
|
74
|
+
- OpenHands adapter closes the loop: realized cost/tokens/latency auto-reported as
|
|
75
|
+
`evidence_source="none"` telemetry off the selected LLM's metrics, fire-and-forget;
|
|
76
|
+
`minima_timeout` (default 5 s) bounds the hot-path recommend.
|
|
77
|
+
|
|
78
|
+
### Fixed
|
|
79
|
+
- **LiteLLM logger graded outcomes**: quality now maps by the loop thresholds
|
|
80
|
+
(≥ 0.8 success / ≥ 0.4 partial / else **failure** with `error_cause="quality"`) —
|
|
81
|
+
previously a judged-bad response could never be labeled a failure.
|
|
82
|
+
- LiteLLM feedback calls run off the event loop (`asyncio.to_thread`) instead of
|
|
83
|
+
blocking the caller's async app for up to the client timeout per completion.
|
|
84
|
+
- LiteLLM recommendation→completion correlation is exact under concurrent identical
|
|
85
|
+
prompts (`rec_id` carried in-band via request metadata; hash join kept as fallback).
|
|
86
|
+
- `Usage` distinguishes "not measured" (`None`) from a real zero — 0 tokens / $0.00
|
|
87
|
+
are reported instead of dropped.
|
|
88
|
+
- `minima-route feedback --source` defaults to `none` — scripted feedback no longer
|
|
89
|
+
claims human-asserted provenance by default.
|
|
90
|
+
- The dead `allow_llm_escalation` parameter is removed from both Python clients (the
|
|
91
|
+
reasoner it fed was deleted in 0.11.0).
|
|
92
|
+
- Release pipeline: the Homebrew formula now pushes directly to the tap on release
|
|
93
|
+
(formula PRs previously sat unmerged — brew served 0.10.0 while 0.11.0/0.12.0
|
|
94
|
+
shipped) with a serves-the-released-version verification step; the nightly catalog
|
|
95
|
+
snapshot fails loudly when it cannot open its refresh PR instead of reporting green.
|
|
96
|
+
|
|
7
97
|
## [0.12.0] - 2026-07-20
|
|
8
98
|
|
|
9
99
|
The Big Plan harness: the TUI's plan workflow grows verification teeth, and the
|
|
@@ -8,7 +8,8 @@ A Python service + client SDK, and a separate TypeScript harness:
|
|
|
8
8
|
|
|
9
9
|
- **`src/minima/`** — Minima: a **recommend-only** LLM cost-optimization service (FastAPI, Python 3.11+). It never proxies, runs, or caches an LLM call. It answers "which model should I run for this task?" and learns from the outcome you report back. Memory is backed by [Mubit](https://docs.mubit.ai) and is the *only* external dependency of the core recommender. Hosted at `api.minima.sh`; deployed from GitHub releases (publishing a release triggers the prod deploy AND the CLI binary build).
|
|
10
10
|
- **`client_sdk/minima_client/`** — bundled sync + async Python client. Ships in the same wheel as `src/minima` (`minima-cli` on PyPI).
|
|
11
|
-
- **`packages/tui/`** — `minima-tui`: the **active harness** — a TypeScript/Ink agent runtime + TUI run on **Bun** (`bun:sqlite`, `>=1.2`). This is the `minima` CLI users install via Homebrew (`brew tap mubit-ai/minima`). Same `route → run → judge → feedback` loop against the `/v1/*` contract, with its own SQLite persistence spine (`src/db/minima_db.ts`, event-sourced, WAL, append-only migrations) and a `BudgetLedger`. Separate toolchain — not part of the Python wheel or `uv`. The version of record is `packages/tui/package.json` (kept in lockstep with `pyproject.toml`).
|
|
11
|
+
- **`packages/tui/`** — `minima-tui`: the **active harness** — a TypeScript/Ink agent runtime + TUI run on **Bun** (`bun:sqlite`, `>=1.2`). This is the `minima` CLI users install via Homebrew (`brew tap mubit-ai/minima`). Same `route → run → judge → feedback` loop against the `/v1/*` contract, with its own SQLite persistence spine (`src/db/minima_db.ts`, event-sourced, WAL, append-only migrations) and a `BudgetLedger`. Separate toolchain — not part of the Python wheel or `uv`. The version of record is `packages/tui/package.json` (kept in lockstep with `pyproject.toml` and `packages/sdk/package.json`).
|
|
12
|
+
- **`packages/sdk/`** — `@mubit-ai/minima-sdk`: the standalone **TypeScript SDK** — a pure-fetch typed `/v1/*` client (no runtime deps, no Bun APIs), mirroring `client_sdk/minima_client`. Own Bun toolchain for tests/typecheck; its `src/schemas.ts` is a second copy of the wire mirror, pinned by `tests/unit/test_ts_mirror.py`.
|
|
12
13
|
|
|
13
14
|
### The Minima loop (respect this everywhere)
|
|
14
15
|
|
|
@@ -77,7 +78,7 @@ Request flow (`api/routers/recommend.py` → `recommender/engine.py`):
|
|
|
77
78
|
4. **escalation** (`recommender/escalation.py`) — DIAGNOSTIC only: thin/conflicting/tied evidence is surfaced as `escalation_suggested:*` warnings + decision-log reasons. The harness owns the cascade (its recovery ladder re-decides after a VERIFIED failure); the old pre-decision LLM reasoner was deleted.
|
|
78
79
|
5. **feedback** (`api/routers/feedback.py`) — writes the outcome back to Mubit, reinforcing memory.
|
|
79
80
|
|
|
80
|
-
Other packages: `catalog/` (model cost + capability priors), `tenancy/` (multi-tenant runtime — many orgs, per-org Mubit, one deployment; auth is pass-through: the client's Mubit key IS the credential), `seeding/` (`minima-seed` CLI for cold-start history), `schemas/` (Pydantic request/response models — the wire source of truth; every field must also land in
|
|
81
|
+
Other packages: `catalog/` (model cost + capability priors), `tenancy/` (multi-tenant runtime — many orgs, per-org Mubit, one deployment; auth is pass-through: the client's Mubit key IS the credential), `seeding/` (`minima-seed` CLI for cold-start history), `schemas/` (Pydantic request/response models — the wire source of truth; every field must also land in BOTH TS mirrors: `packages/tui/src/minima/schemas.ts` and `packages/sdk/src/schemas.ts`).
|
|
81
82
|
|
|
82
83
|
Everything external is behind a Protocol so it can be faked in tests. The server stack (fastapi/uvicorn/psycopg2/redis) lives in the `[server]` extra — the core recommender + client is dependency-light on purpose.
|
|
83
84
|
|
|
@@ -87,6 +88,10 @@ Everything external is behind a Protocol so it can be faked in tests. The server
|
|
|
87
88
|
|
|
88
89
|
**Ground-Truth verification spine** (shipped 2026-07, `docs/ground-truth-build-guide.md`): **ON by default** since Phase 0b (opt out with `MINIMA_TUI_GROUND_TRUTH=0`). Plan steps carry `verify` shell commands, the harness runs them (baseline → done-gate red→green), verdicts land in the `gates` ledger (migrations v3–v5), a confidence tier drives the UI (🟢 glide / 🟡 flag / 🔴 stop), and grounded outcomes stamp `routing_decisions` for deterministic-over-judge feedback. Green-tier gate verdicts are the harness's honest label source (`evidence_source="gate"` — the only origin that may claim verified-in-production); a sampled LLM judge (`MINIMA_JUDGE_SAMPLE`, default 15% of ungated turns, `MINIMA_LLM_JUDGE=0` disables) labels the rest; everything else is cost/latency telemetry. `/plan` (planner persona + design council + `GROUND_TRUTH.md` output) is part of this spine. Anything gated on ground truth belongs behind `config.groundTruth`, never behind prompt text.
|
|
89
90
|
|
|
91
|
+
**Memory ledger** (Track B of the memory spine, default ON; opt out with `MINIMA_TUI_MEMORY=0`): curated cross-session memory in SQLite (`memories`/`memory_events`/`memory_jobs`, migration v12). Active + pinned rows project into each turn's system prompt for the lead agent only (hard char cap, ranked pinned > gate-cited > recency; every distinct injected set is audited as an `inject` memory_event so "what the model saw" is replayable). Managed via `/memory` (list · add · pin/confirm/reject · delete = bi-temporal invalidate, never DELETE). Only the harness/user writes memories — the model has **no memory-write tool** (Letta split); keep it that way. The **scribe** (`src/minima/memory_scribe.ts`) is the sole automated writer: a background curator fed by SQL over the ledger (gate flips, verified failures, user corrections, judge/gate disagreements — never the transcript), recurrence-gated (a pattern must recur before it earns the one LLM extraction call, which routes through Minima with `tags=["memory:extract"]` and books its spend like judge spend), reconciled mem0-style (ADD/UPDATE/NOOP; rejected rows never resurrected), and provenance-gated (only gate-cited candidates auto-activate; the rest await `/memory confirm`). Triggers (session end, 90s quiet timer, startup leftovers) only enqueue `memory_jobs` rows; a crash-safe drain runs them.
|
|
92
|
+
|
|
93
|
+
**Verification extras** (E1): the **Planning Critic** (`src/minima/plan_critic.ts`, `MINIMA_TUI_PLAN_CRITIC=0` opts out) runs one cheap completion at `/plan` finalize over the approved steps + verifies — non-discriminative checks and hidden dependencies come back as advisory flags in the finalize note, never blockers. The **zero-context diff reviewer** (`src/minima/diff_review.ts`, `MINIMA_TUI_DIFF_REVIEW=0` opts out) fires when a plan closes fully completed: fresh-eyes review of the run's whole diff, no session context; an objection writes a yellow judge milestone gate (worst-tier resolution can yellow the plan, never green it; approval/skip writes nothing). Distinct from `/verify`'s refutation pass, which is ledger-briefed and re-runs checks.
|
|
94
|
+
|
|
90
95
|
Design principles that constrain any work in this direction:
|
|
91
96
|
|
|
92
97
|
- **State in the DB, projections in the context** — anything that must survive scroll/compaction/restart/a lying model lives in the ledger; the model sees only a compact re-injected projection.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: minima-cli
|
|
3
|
-
Version: 0.12.
|
|
3
|
+
Version: 0.12.2
|
|
4
4
|
Summary: Minima CLI: cost-aware LLM model routing — recommend cheaper models, backed by Mubit memory.
|
|
5
5
|
Project-URL: Homepage, https://docs.minima.sh
|
|
6
6
|
Project-URL: Documentation, https://docs.minima.sh
|
|
@@ -7,8 +7,8 @@ OpenAI/Anthropic/LiteLLM/Google-GenAI clients so every LLM call auto-ingests its
|
|
|
7
7
|
and gets relevant lessons injected — no code changes at the call site.
|
|
8
8
|
|
|
9
9
|
What this does and does NOT do:
|
|
10
|
-
- It DOES land traces + lessons in Minima's lane, so they enrich
|
|
11
|
-
|
|
10
|
+
- It DOES land traces + lessons in Minima's lane, so they enrich Mubit's reflection/
|
|
11
|
+
strategy promotion and anything that recalls from that lane (e.g. ``/v1/strategies``).
|
|
12
12
|
- It does NOT, on its own, produce Minima *outcome records* (the ``kind="outcome"``
|
|
13
13
|
rows the deterministic k-NN aggregator scores), and ``mubit.learn`` never fabricates
|
|
14
14
|
a success signal. To close the loop, either call :func:`feedback` (credits the
|
|
@@ -3,18 +3,30 @@
|
|
|
3
3
|
from __future__ import annotations
|
|
4
4
|
|
|
5
5
|
from dataclasses import dataclass
|
|
6
|
-
from
|
|
6
|
+
from importlib import metadata as _importlib_metadata
|
|
7
|
+
from typing import Any, Literal
|
|
7
8
|
|
|
8
9
|
import httpx
|
|
9
|
-
|
|
10
|
+
from tenacity import (
|
|
11
|
+
AsyncRetrying,
|
|
12
|
+
Retrying,
|
|
13
|
+
retry_if_exception,
|
|
14
|
+
stop_after_attempt,
|
|
15
|
+
wait_exponential,
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
from minima.schemas.capabilities import CapabilitiesResponse
|
|
10
19
|
from minima.schemas.common import Constraints, OutcomeLabel, TaskInput
|
|
11
20
|
from minima.schemas.feedback import FeedbackRequest, FeedbackResponse
|
|
12
21
|
from minima.schemas.models_catalog import ModelsResponse
|
|
13
22
|
from minima.schemas.recommend import RecommendRequest, RecommendResponse
|
|
14
|
-
from minima.schemas.savings import CalibrationResponse, SavingsResponse
|
|
23
|
+
from minima.schemas.savings import CalibrationResponse, PolicyValueResponse, SavingsResponse
|
|
15
24
|
from minima.schemas.strategies import StrategiesResponse
|
|
16
25
|
from minima.schemas.workflow import WorkflowRequest, WorkflowResponse
|
|
17
|
-
from minima_client.errors import raise_for_status
|
|
26
|
+
from minima_client.errors import MinimaUnavailable, raise_for_status
|
|
27
|
+
|
|
28
|
+
EvidenceSource = Literal["gate", "judge", "human", "none"]
|
|
29
|
+
ErrorCause = Literal["infra", "quality"]
|
|
18
30
|
|
|
19
31
|
|
|
20
32
|
def _report_params(
|
|
@@ -42,8 +54,47 @@ def _coerce_task(task: TaskLike) -> TaskInput:
|
|
|
42
54
|
raise TypeError(f"unsupported task type: {type(task)!r}")
|
|
43
55
|
|
|
44
56
|
|
|
57
|
+
def _client_version() -> str:
|
|
58
|
+
try:
|
|
59
|
+
return _importlib_metadata.version("minima-cli")
|
|
60
|
+
except _importlib_metadata.PackageNotFoundError:
|
|
61
|
+
return "0.0.0-dev"
|
|
62
|
+
|
|
63
|
+
|
|
45
64
|
def _headers(api_key: str | None) -> dict[str, str]:
|
|
46
|
-
|
|
65
|
+
version = _client_version()
|
|
66
|
+
headers = {
|
|
67
|
+
# Server-side compat gating (mirrors the TS client): new servers can
|
|
68
|
+
# version-gate response shapes on this; old servers ignore it.
|
|
69
|
+
"x-minima-client": version,
|
|
70
|
+
"user-agent": f"minima-cli/{version} (python-httpx)",
|
|
71
|
+
}
|
|
72
|
+
if api_key:
|
|
73
|
+
headers["Authorization"] = f"Bearer {api_key}"
|
|
74
|
+
return headers
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
# Feedback retries: the server's reconcile replay guard makes /v1/feedback safe to
|
|
78
|
+
# retry, and a transiently lost label is a silent learning loss. Transport faults and
|
|
79
|
+
# 502/503/504 retry; 4xx (including 429) surface immediately.
|
|
80
|
+
_FEEDBACK_RETRY = {
|
|
81
|
+
"retry": retry_if_exception(
|
|
82
|
+
lambda exc: isinstance(exc, httpx.TransportError | MinimaUnavailable)
|
|
83
|
+
),
|
|
84
|
+
"stop": stop_after_attempt(3),
|
|
85
|
+
"wait": wait_exponential(multiplier=0.5, max=4),
|
|
86
|
+
"reraise": True,
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def _apply_phase(task: TaskInput, phase: str | None) -> TaskInput:
|
|
91
|
+
"""Reference-client convention: phase rides as a `phase:<value>` tag."""
|
|
92
|
+
if not phase:
|
|
93
|
+
return task
|
|
94
|
+
tag = f"phase:{phase}"
|
|
95
|
+
if tag in task.tags:
|
|
96
|
+
return task
|
|
97
|
+
return task.model_copy(update={"tags": [*task.tags, tag]})
|
|
47
98
|
|
|
48
99
|
|
|
49
100
|
@dataclass(slots=True)
|
|
@@ -52,12 +103,13 @@ class Usage:
|
|
|
52
103
|
|
|
53
104
|
Report what the provider ACTUALLY billed (never echo Minima's own est_cost_usd
|
|
54
105
|
back): these numbers are what let the cost basis climb estimate -> observed ->
|
|
55
|
-
rescaled for your org.
|
|
106
|
+
rescaled for your org. Fields default to None (= not measured); an explicit 0 is
|
|
107
|
+
a real measurement and is reported as such.
|
|
56
108
|
"""
|
|
57
109
|
|
|
58
|
-
input_tokens: int =
|
|
59
|
-
output_tokens: int =
|
|
60
|
-
cost_usd: float =
|
|
110
|
+
input_tokens: int | None = None
|
|
111
|
+
output_tokens: int | None = None
|
|
112
|
+
cost_usd: float | None = None
|
|
61
113
|
latency_ms: int | None = None
|
|
62
114
|
|
|
63
115
|
|
|
@@ -69,10 +121,14 @@ def _feedback_request(
|
|
|
69
121
|
**kwargs: Any,
|
|
70
122
|
) -> FeedbackRequest:
|
|
71
123
|
if usage is not None:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
124
|
+
if usage.input_tokens is not None:
|
|
125
|
+
kwargs.setdefault("input_tokens", usage.input_tokens)
|
|
126
|
+
if usage.output_tokens is not None:
|
|
127
|
+
kwargs.setdefault("output_tokens", usage.output_tokens)
|
|
128
|
+
if usage.cost_usd is not None:
|
|
129
|
+
kwargs.setdefault("actual_cost_usd", usage.cost_usd)
|
|
130
|
+
if usage.latency_ms is not None:
|
|
131
|
+
kwargs.setdefault("latency_ms", usage.latency_ms)
|
|
76
132
|
return FeedbackRequest(
|
|
77
133
|
recommendation_id=recommendation_id,
|
|
78
134
|
chosen_model_id=chosen_model_id,
|
|
@@ -109,19 +165,22 @@ class MinimaClient:
|
|
|
109
165
|
constraints: Constraints | None = None,
|
|
110
166
|
user_id: str | None = None,
|
|
111
167
|
namespace: str | None = None,
|
|
112
|
-
allow_llm_escalation: bool = True,
|
|
113
168
|
explain: bool = True,
|
|
114
169
|
baseline_model_id: str | None = None,
|
|
170
|
+
incumbent_model_id: str | None = None,
|
|
171
|
+
max_candidates: int = 8,
|
|
172
|
+
phase: str | None = None,
|
|
115
173
|
) -> RecommendResponse:
|
|
116
174
|
req = RecommendRequest(
|
|
117
|
-
task=_coerce_task(task),
|
|
175
|
+
task=_apply_phase(_coerce_task(task), phase),
|
|
118
176
|
cost_quality_tradeoff=cost_quality_tradeoff,
|
|
119
177
|
constraints=constraints or Constraints(),
|
|
120
178
|
user_id=user_id,
|
|
121
179
|
namespace=namespace,
|
|
122
|
-
allow_llm_escalation=allow_llm_escalation,
|
|
123
180
|
explain=explain,
|
|
124
181
|
baseline_model_id=baseline_model_id,
|
|
182
|
+
incumbent_model_id=incumbent_model_id,
|
|
183
|
+
max_candidates=max_candidates,
|
|
125
184
|
)
|
|
126
185
|
return RecommendResponse.model_validate(self._post("/v1/recommend", req))
|
|
127
186
|
|
|
@@ -155,10 +214,28 @@ class MinimaClient:
|
|
|
155
214
|
chosen_model_id: str,
|
|
156
215
|
outcome: OutcomeLabel | str,
|
|
157
216
|
usage: Usage | None = None,
|
|
217
|
+
*,
|
|
218
|
+
quality_score: float | None = None,
|
|
219
|
+
evidence_source: EvidenceSource | None = None,
|
|
220
|
+
error_cause: ErrorCause | None = None,
|
|
221
|
+
chosen_effort: str | None = None,
|
|
222
|
+
iterations: int | None = None,
|
|
158
223
|
**kwargs: Any,
|
|
159
224
|
) -> FeedbackResponse:
|
|
225
|
+
for key, value in (
|
|
226
|
+
("quality_score", quality_score),
|
|
227
|
+
("evidence_source", evidence_source),
|
|
228
|
+
("error_cause", error_cause),
|
|
229
|
+
("chosen_effort", chosen_effort),
|
|
230
|
+
("iterations", iterations),
|
|
231
|
+
):
|
|
232
|
+
if value is not None:
|
|
233
|
+
kwargs.setdefault(key, value)
|
|
160
234
|
req = _feedback_request(recommendation_id, chosen_model_id, outcome, usage, **kwargs)
|
|
161
|
-
|
|
235
|
+
for attempt in Retrying(**_FEEDBACK_RETRY):
|
|
236
|
+
with attempt:
|
|
237
|
+
return FeedbackResponse.model_validate(self._post("/v1/feedback", req))
|
|
238
|
+
raise AssertionError("unreachable") # reraise=True guarantees the loop exits by raise
|
|
162
239
|
|
|
163
240
|
def models(
|
|
164
241
|
self,
|
|
@@ -196,6 +273,21 @@ class MinimaClient:
|
|
|
196
273
|
raise_for_status(resp)
|
|
197
274
|
return StrategiesResponse.model_validate(resp.json())
|
|
198
275
|
|
|
276
|
+
def capabilities(self) -> CapabilitiesResponse:
|
|
277
|
+
resp = self._client.get("/v1/capabilities")
|
|
278
|
+
raise_for_status(resp)
|
|
279
|
+
return CapabilitiesResponse.model_validate(resp.json())
|
|
280
|
+
|
|
281
|
+
def policy_value(
|
|
282
|
+
self,
|
|
283
|
+
namespace: str | None = None,
|
|
284
|
+
days: float | None = None,
|
|
285
|
+
) -> PolicyValueResponse:
|
|
286
|
+
"""Regret-vs-oracle: doubly-robust policy values over reconciled decisions."""
|
|
287
|
+
resp = self._client.get("/v1/policy-value", params=_report_params(namespace, days))
|
|
288
|
+
raise_for_status(resp)
|
|
289
|
+
return PolicyValueResponse.model_validate(resp.json())
|
|
290
|
+
|
|
199
291
|
def health(self) -> dict[str, Any]:
|
|
200
292
|
resp = self._client.get("/v1/health")
|
|
201
293
|
raise_for_status(resp)
|
|
@@ -230,19 +322,22 @@ class AsyncMinimaClient:
|
|
|
230
322
|
constraints: Constraints | None = None,
|
|
231
323
|
user_id: str | None = None,
|
|
232
324
|
namespace: str | None = None,
|
|
233
|
-
allow_llm_escalation: bool = True,
|
|
234
325
|
explain: bool = True,
|
|
235
326
|
baseline_model_id: str | None = None,
|
|
327
|
+
incumbent_model_id: str | None = None,
|
|
328
|
+
max_candidates: int = 8,
|
|
329
|
+
phase: str | None = None,
|
|
236
330
|
) -> RecommendResponse:
|
|
237
331
|
req = RecommendRequest(
|
|
238
|
-
task=_coerce_task(task),
|
|
332
|
+
task=_apply_phase(_coerce_task(task), phase),
|
|
239
333
|
cost_quality_tradeoff=cost_quality_tradeoff,
|
|
240
334
|
constraints=constraints or Constraints(),
|
|
241
335
|
user_id=user_id,
|
|
242
336
|
namespace=namespace,
|
|
243
|
-
allow_llm_escalation=allow_llm_escalation,
|
|
244
337
|
explain=explain,
|
|
245
338
|
baseline_model_id=baseline_model_id,
|
|
339
|
+
incumbent_model_id=incumbent_model_id,
|
|
340
|
+
max_candidates=max_candidates,
|
|
246
341
|
)
|
|
247
342
|
return RecommendResponse.model_validate(await self._post("/v1/recommend", req))
|
|
248
343
|
|
|
@@ -278,10 +373,28 @@ class AsyncMinimaClient:
|
|
|
278
373
|
chosen_model_id: str,
|
|
279
374
|
outcome: OutcomeLabel | str,
|
|
280
375
|
usage: Usage | None = None,
|
|
376
|
+
*,
|
|
377
|
+
quality_score: float | None = None,
|
|
378
|
+
evidence_source: EvidenceSource | None = None,
|
|
379
|
+
error_cause: ErrorCause | None = None,
|
|
380
|
+
chosen_effort: str | None = None,
|
|
381
|
+
iterations: int | None = None,
|
|
281
382
|
**kwargs: Any,
|
|
282
383
|
) -> FeedbackResponse:
|
|
384
|
+
for key, value in (
|
|
385
|
+
("quality_score", quality_score),
|
|
386
|
+
("evidence_source", evidence_source),
|
|
387
|
+
("error_cause", error_cause),
|
|
388
|
+
("chosen_effort", chosen_effort),
|
|
389
|
+
("iterations", iterations),
|
|
390
|
+
):
|
|
391
|
+
if value is not None:
|
|
392
|
+
kwargs.setdefault(key, value)
|
|
283
393
|
req = _feedback_request(recommendation_id, chosen_model_id, outcome, usage, **kwargs)
|
|
284
|
-
|
|
394
|
+
async for attempt in AsyncRetrying(**_FEEDBACK_RETRY):
|
|
395
|
+
with attempt:
|
|
396
|
+
return FeedbackResponse.model_validate(await self._post("/v1/feedback", req))
|
|
397
|
+
raise AssertionError("unreachable") # reraise=True guarantees the loop exits by raise
|
|
285
398
|
|
|
286
399
|
async def strategies(
|
|
287
400
|
self,
|
|
@@ -319,6 +432,21 @@ class AsyncMinimaClient:
|
|
|
319
432
|
raise_for_status(resp)
|
|
320
433
|
return ModelsResponse.model_validate(resp.json())
|
|
321
434
|
|
|
435
|
+
async def capabilities(self) -> CapabilitiesResponse:
|
|
436
|
+
resp = await self._client.get("/v1/capabilities")
|
|
437
|
+
raise_for_status(resp)
|
|
438
|
+
return CapabilitiesResponse.model_validate(resp.json())
|
|
439
|
+
|
|
440
|
+
async def policy_value(
|
|
441
|
+
self,
|
|
442
|
+
namespace: str | None = None,
|
|
443
|
+
days: float | None = None,
|
|
444
|
+
) -> PolicyValueResponse:
|
|
445
|
+
"""Regret-vs-oracle: doubly-robust policy values over reconciled decisions."""
|
|
446
|
+
resp = await self._client.get("/v1/policy-value", params=_report_params(namespace, days))
|
|
447
|
+
raise_for_status(resp)
|
|
448
|
+
return PolicyValueResponse.model_validate(resp.json())
|
|
449
|
+
|
|
322
450
|
async def health(self) -> dict[str, Any]:
|
|
323
451
|
resp = await self._client.get("/v1/health")
|
|
324
452
|
raise_for_status(resp)
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"""Client error types."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import httpx
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class MinimaError(Exception):
|
|
9
|
+
def __init__(self, status: int, detail: str):
|
|
10
|
+
super().__init__(f"minima error {status}: {detail}")
|
|
11
|
+
self.status = status
|
|
12
|
+
self.detail = detail
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
class MinimaRateLimited(MinimaError):
|
|
16
|
+
"""429 — the server asked us to slow down; retry_after is seconds when provided."""
|
|
17
|
+
|
|
18
|
+
def __init__(self, status: int, detail: str, retry_after: float | None = None):
|
|
19
|
+
super().__init__(status, detail)
|
|
20
|
+
self.retry_after = retry_after
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class MinimaUnavailable(MinimaError):
|
|
24
|
+
"""502/503/504 — transient upstream trouble; safe to retry idempotent calls."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
def _retry_after_seconds(resp: httpx.Response) -> float | None:
|
|
28
|
+
raw = resp.headers.get("retry-after")
|
|
29
|
+
if raw is None:
|
|
30
|
+
return None
|
|
31
|
+
try:
|
|
32
|
+
return float(raw)
|
|
33
|
+
except ValueError:
|
|
34
|
+
return None
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def raise_for_status(resp: httpx.Response) -> None:
|
|
38
|
+
if resp.status_code < 400:
|
|
39
|
+
return
|
|
40
|
+
try:
|
|
41
|
+
body = resp.json()
|
|
42
|
+
detail = body.get("detail") or body.get("title") or str(body)
|
|
43
|
+
except Exception: # noqa: BLE001
|
|
44
|
+
detail = resp.text
|
|
45
|
+
if resp.status_code == 429:
|
|
46
|
+
raise MinimaRateLimited(resp.status_code, detail, _retry_after_seconds(resp))
|
|
47
|
+
if resp.status_code in (502, 503, 504):
|
|
48
|
+
raise MinimaUnavailable(resp.status_code, detail)
|
|
49
|
+
raise MinimaError(resp.status_code, detail)
|
{minima_cli-0.12.0 → minima_cli-0.12.2}/client_sdk/minima_client/integrations/claude_code.py
RENAMED
|
@@ -70,9 +70,9 @@ def _cmd_feedback(args: argparse.Namespace) -> int:
|
|
|
70
70
|
args.model,
|
|
71
71
|
args.outcome,
|
|
72
72
|
usage=Usage(
|
|
73
|
-
input_tokens=args.input_tokens
|
|
74
|
-
output_tokens=args.output_tokens
|
|
75
|
-
cost_usd=args.cost
|
|
73
|
+
input_tokens=args.input_tokens,
|
|
74
|
+
output_tokens=args.output_tokens,
|
|
75
|
+
cost_usd=args.cost,
|
|
76
76
|
latency_ms=args.latency_ms,
|
|
77
77
|
),
|
|
78
78
|
quality_score=args.quality,
|
|
@@ -107,9 +107,12 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
107
107
|
fb.add_argument("--quality", type=float, default=None, help="0..1 if you graded it")
|
|
108
108
|
fb.add_argument(
|
|
109
109
|
"--source",
|
|
110
|
-
default="
|
|
110
|
+
default="none",
|
|
111
111
|
choices=["gate", "judge", "human", "none"],
|
|
112
|
-
help=
|
|
112
|
+
help=(
|
|
113
|
+
"label provenance; default none = cost telemetry only. Pass --source human "
|
|
114
|
+
"ONLY when a human actually verified this outcome — it counts as a real label."
|
|
115
|
+
),
|
|
113
116
|
)
|
|
114
117
|
fb.set_defaults(func=_cmd_feedback)
|
|
115
118
|
return parser
|