minima-cli 0.13.0__tar.gz → 0.13.1__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.13.0 → minima_cli-0.13.1}/CHANGELOG.md +12 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/CLAUDE.md +1 -1
- {minima_cli-0.13.0 → minima_cli-0.13.1}/PKG-INFO +1 -1
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/README.md +6 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/agent-core-architecture.md +4 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/api-reference.md +28 -5
- minima_cli-0.13.1/docs/harness-architecture.md +318 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/harness.md +3 -1
- minima_cli-0.13.1/docs/sdk-architecture.md +165 -0
- minima_cli-0.13.1/docs-site/bun.lock +1478 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/sidebar.ts +8 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/nginx.conf +5 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/api-reference/endpoints.mdx +116 -8
- minima_cli-0.13.1/docs-site/pages/harness/architecture.mdx +95 -0
- minima_cli-0.13.1/docs-site/pages/harness/interactive.mdx +117 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/harness/overview.mdx +11 -4
- minima_cli-0.13.1/docs-site/pages/harness/routing.mdx +64 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/harness/sessions.mdx +6 -6
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/harness/tools.mdx +11 -4
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/harness/troubleshooting.mdx +4 -3
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/index.mdx +1 -1
- minima_cli-0.13.1/docs-site/pages/sdk/architecture.mdx +90 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/sdk/client-sdk.mdx +29 -12
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/sdk/concepts.mdx +7 -3
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/sdk/getting-started.mdx +2 -2
- minima_cli-0.13.1/docs-site/pages/sdk/mubit.mdx +64 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/package.json +1 -1
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/package.json +1 -1
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/config.ts +4 -2
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/index.ts +1 -1
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/premium.ts +16 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/app.tsx +8 -2
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_premium.test.ts +25 -1
- {minima_cli-0.13.0 → minima_cli-0.13.1}/pyproject.toml +1 -1
- {minima_cli-0.13.0 → minima_cli-0.13.1}/uv.lock +1 -1
- minima_cli-0.13.0/docs-site/pages/harness/interactive.mdx +0 -82
- minima_cli-0.13.0/docs-site/pages/harness/routing.mdx +0 -54
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.dockerignore +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.env.example +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.github/workflows/catalog-snapshot.yml +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.github/workflows/ci.yml +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.github/workflows/prod.yml +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.github/workflows/release-cli.yml +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.github/workflows/staging.yml +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/.gitignore +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/AGENTS.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/Dockerfile +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/LICENSE +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/Makefile +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/.gitignore +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/assert/check.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/assert/db.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/driver/env.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/driver/headless.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/driver/mock_server.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/driver/rig.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/driver/scratch.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/_example/mathx.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/_example/tests/test_public.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/package.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/src/csv.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/src/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/src/object.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/src/stats.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/src/transform.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/tests/csv.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/tests/object.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/tests/stats.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/js-lib/tests/transform.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/js/chunk.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/js/droot.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/js/duration.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/js/wrap.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/py/checksum.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/py/intervals.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/py/rle.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/py/roman.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/js/chunk/smoke.test.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/js/droot/smoke.test.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/js/duration/smoke.test.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/js/wrap/smoke.test.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/py/conftest.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/py/test_checksum_smoke.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/py/test_intervals_smoke.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/py/test_rle_smoke.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/py/test_roman_smoke.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/ts/brackets/smoke.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/ts/drift/smoke.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/ts/ordinal/smoke.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/tests/ts/slug/smoke.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/ts/brackets.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/ts/drift.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/ts/ordinal.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/katas/ts/slug.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/.gitignore +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/pytest.ini +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/__main__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/cli.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/dates.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/migrations.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/models.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/query.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/report.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/taskman/storage.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/conftest.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/test_cli.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/test_dates.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/test_models.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/test_query.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/test_report.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/py-cli/tests/test_storage.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/package.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/app.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/auth.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/errors.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/handlers/admin.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/handlers/links.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/handlers/notes.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/handlers/stats.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/persist.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/ratelimit.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/respond.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/router.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/server.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/store.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/types.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/src/validate.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/auth.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/health.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/helpers.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/links.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/notes.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/persist.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/ratelimit.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/router.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/stats.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/store.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tests/validate.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/fixtures/templates/ts-api/tsconfig.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f10_recovery_ladder.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f12_learning_loop.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f1_headless.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f4_cost_budget.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f5_task_dag_worktree.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f6_resume_lineage.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f7_permissions_plan.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/flows/f9_offline_reconnect.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/attempt.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/build_index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/calibrate.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/calibrate_all.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/calibration_report.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/materialize.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/savings_ab.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/savings_report.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/gen/validate_task.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/run.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/_example/ex-001/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/_example/ex-001/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/_example/ex-001/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/calibration.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-001/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-001/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-001/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-002/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-002/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-002/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-003/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-003/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-003/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-004/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-004/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-004/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-005/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-005/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-005/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-006/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-006/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/js-lib/jl-006/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-001/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-001/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-001/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-002/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-002/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-002/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-003/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-003/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-003/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-004/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-004/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-004/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-005/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-005/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-005/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-006/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-006/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-006/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-007/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-007/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-007/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-008/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-008/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-008/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-009/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-009/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-009/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-010/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-010/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-010/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-011/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-011/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-011/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-012/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-012/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/katas/ka-012/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-001/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-001/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-001/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-002/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-002/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-002/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-003/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-003/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-003/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-004/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-004/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-004/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-005/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-005/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-005/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-006/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-006/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-006/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-007/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-007/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-007/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-008/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-008/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/py-cli/pc-008/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/savings_ab.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-001/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-001/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-001/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-002/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-002/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-002/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-003/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-003/oracle.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-003/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-004/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-004/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-004/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-005/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-005/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-005/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-006/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-006/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-006/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-007/bug.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-007/hidden_tests.patch +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/bench/tasks/ts-api/ta-007/task.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/autocapture.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/client.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/errors.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/integrations/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/integrations/claude_code.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/integrations/litellm_router.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/client_sdk/minima_client/integrations/openhands_router.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/PLAN-retired.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/characteristics-of-successful-plans.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/decision-inline-renderer.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/harness-research.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/inline-rendering-brief.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/inline-ux-guide.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/minima-harness-application-guide.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/plan-loop-audit.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/playbook.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/pr-default-renderer.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/pr-opencode-sidebar.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/pr-prompt-echo.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/q_and_a.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/ab/ab_capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/ab/ab_compare.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-overlay-teardown-200x50.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-overlay-teardown-200x50.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-overlay-teardown-200x50.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-overlay-teardown.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-overlay-teardown.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-overlay-teardown.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-panel-early.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-panel-early.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-panel-early.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-panel-stream.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-panel-stream.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-panel-stream.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-resize-panel-wipe.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-resize-panel-wipe.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-resize-panel-wipe.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-resize-shrink.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-resize-shrink.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/after-resize-shrink.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-overlay-teardown-200x50.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-overlay-teardown-200x50.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-overlay-teardown-200x50.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-overlay-teardown.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-overlay-teardown.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-overlay-teardown.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-panel-early.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-panel-early.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-panel-early.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-panel-stream.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-panel-stream.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-panel-stream.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-resize-panel-wipe.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-resize-panel-wipe.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-resize-panel-wipe.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-resize-shrink.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-resize-shrink.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/before-resize-shrink.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/capture-specs.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/stale-margins/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/stale-margins/ab-csi-r-probe.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/stale-margins/after-polluted-242x60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/stale-margins/after-polluted-probe.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/stale-margins/before-user-window-contents.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/anchor-ledger/stale-margins/before-user-window-probe.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b1-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b1-inline.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b2-mode-plan-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b2-mode-plan-inline.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b4-undo-prefill-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b5-rewind-inline.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b5-rewind-overlay.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/b5-rewind-picker-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/baseline/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/baseline/base-echo-gap.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/baseline/base-gt-wide.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/baseline/base-inline-default.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/baseline/base-narrow.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/baseline/base-toc-wide.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/baseline/capture-specs.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/c-prompt-echo.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/boundary-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/capture-specs.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/check_echo.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/code-heavy-120.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/code-heavy-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/echo-gap.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/echo-gap.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/fixture-resume.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/gt-banner.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/gt-block.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/gt-off-notice.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/narrow-55.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/perf.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/plain-chat.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/plain-chat.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/inline-baseline/toc-block.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/j1-why-card-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp1-tui-verify-run.log +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-120.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-120.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-60.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-80.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-80.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-tall.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/code-tall.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/md-120.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/md-120.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/md-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/md-60.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/mixed-120.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/mixed-120.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/mixed-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/mixed-60.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/stream-code.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/stream-code.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/stream-code.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/tool-120.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/tool-120.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/tool-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp10-render-audit/tool-60.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-120.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-120.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-60.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-80.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-80.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-tall.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp11-code-wrap/code-tall.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp12-tool-truncate/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-120.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-120.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-60.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp12-tool-truncate/tool-60.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp14-council-progress/busy-research.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp14-council-progress/busy-research.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp14-council-progress/busy-synth.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp14-council-progress/busy-synth.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp14-council-progress/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp14-council-progress/council-line.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp16-plan-draft/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round1.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round1.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round2.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp16-plan-draft/draft-round2.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp16-plan-draft/final-overview.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp16-plan-draft/final-overview.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp17-plan-exit/approved.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp17-plan-exit/approved.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp17-plan-exit/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp17-plan-exit/gate-overlay.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp17-plan-exit/shifttab-gate.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp18-verify-consent/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp18-verify-consent/first-prompt.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp18-verify-consent/first-prompt.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp18-verify-consent/mutated-reprompt.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp18-verify-consent/silent-repeat.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/1-council.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/1-council.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/2-draft.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/2-draft.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/3-exit-gate.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/4-red-block.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/4-red-block.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/5-green-close.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/5-green-close.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/6-toc-marker.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/7-step-card.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/7-step-card.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp19-acceptance/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp20-stream-reseat/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.frames.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp20-stream-reseat/stream-code.txt +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp4-spike/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp4-spike/mp4-closed.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp4-spike/mp4-open.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp4-spike/mp4-scrolled.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp5-taskpanel/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp5-taskpanel/mp5-hidden.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp5-taskpanel/mp5-restart-hidden.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp5-taskpanel/mp5-visible.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp6-gt-taskpanel/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-blocked-alert.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp6-gt-taskpanel/mp6-drift-alert.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp7-expand-panel/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp7-expand-panel/mp7-closed-draft.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-bottom.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp7-expand-panel/mp7-toc-open.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp8-panel-reader/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp8-panel-reader/mp8-back-to-list.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp8-panel-reader/mp8-reader.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp9-gt-panel/capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp9-gt-panel/mp9-gate-wins.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp9-gt-panel/mp9-overview.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/mp9-gt-panel/mp9-step-card.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/p0-badge-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/p0-badge-inline.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/plan-e2e-seeded.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/plan-exit-approval.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/plan-shifttab-workflow.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/shift-tab-panels/1-badge-mid-stream.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/shift-tab-panels/2-perm-overlay-parked.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/shift-tab-panels/3-perm-autoresolved.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/shift-tab-panels/4-busy-panel.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/shift-tab-panels/5-narrow-panel.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u2-docked-toc-focused.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u2-docked-toc-unfocused.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u2-narrow-fallback.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u2-narrow-overlay.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u2-toc-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u2-toc-inline.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u3-gt-card-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u3-gt-docked.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/shots/u3-gt-panel-fullscreen.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/sources.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/spike-inline-panel.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/tui-manual-testing.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/BigPlan/workflow-diagrams.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/agent-core-implementation-plan.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/characteristics_of_a_good_plan.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/client-sdk.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/concepts.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/configuration.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/examples.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/feature-gap-analysis.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/getting-started.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/goals-feature-plan.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/ground-truth-build-guide.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/ground-truth-tui-plan.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/multi-tenancy.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/operations.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/publishing.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/seeding.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/tui-rendering-strategy.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs/tui-stability-input-plan.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/.dockerignore +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/Dockerfile +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/Accordion.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/Badge.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/Card.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/CardGroup.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/Frame.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/Note.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/PageHeader.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/Steps.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/Tabs.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/components/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/netlify.toml +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/package-lock.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/package.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/harness/cli.mdx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/harness/configuration.mdx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/harness/installation.mdx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/pages/sdk/examples.mdx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/public/images/favicon.png +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/public/images/logo-dark.svg +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/public/images/logo-light.svg +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/public/styles/global.css +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/tsconfig.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/docs-site/vocs.config.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/01_quickstart.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/02_recommend_and_feedback.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/03_constraints_and_tradeoff.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/04_workflow.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/05_autocapture.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/06_routed_llm_call.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/07_multitenant_admin.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/agent_escalation.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/agent_escalation_learn.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/agent_gemini.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/agent_retention.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/agent_warmup.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/agent_warmup_vary.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/metrics_demo.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/examples/smoke_test.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/maybe.js +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/maybe.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/.gitignore +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/biome.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/bun.lock +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/src/client.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/src/errors.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/src/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/src/schemas.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/src/version.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/tests/client.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/sdk/tsconfig.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/.gitignore +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/biome.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/bun.lock +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/build-all.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/build.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/gen-fixture-session.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/install.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/mock_openai_sse.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/plan_latency_bench.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/pty_capture.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/real_term_capture.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/stub-devtools.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/tui_assert.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/scripts/tui_verify.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/agent.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/events.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/loop.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/modes.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/policy.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/state.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/agent/tools.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/compat.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/events.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/provider_catalog.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/provider_quirks.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/providers/_common.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/providers/anthropic.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/providers/base.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/providers/faux.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/providers/google.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/providers/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/providers/openai_compat.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/registry.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/stream.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/types.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/ai/usage.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/cli/main.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/db/metrics.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/db/minima_db.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/db/rehydrate.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/db/sink.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/errtext.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/anti_spiral.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/behavior.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/budget.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/catalog.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/check.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/client.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/confidence.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/diff_review.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/errors.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/failure_kind.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/ground_truth.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/gt_contract.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/gt_factors.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/judge.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/mapping.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/memory.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/memory_dream.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/memory_ledger.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/memory_scribe.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/meter.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/mubit_memory_factory.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_council.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_critic.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_finalize.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_lint.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_refute.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_seed.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_session.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/plan_turn.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/repo_gates.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/router.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/runtime.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/schemas.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/spawn.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/stop_gate.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/tool_permissions.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/minima/why.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/run_modes.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/session/checkpoint.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/session/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/session/resume_verify.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/session/rewind.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/session/sections.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/session/store.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/_ddg.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/_exa.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/_io.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/_search.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/apply_patch.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/at_mentions.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/bash.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/builtin.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/edit.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/exit_plan.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/glob.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/grep.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/index.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/ls.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/question.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/read.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/schema.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/task.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/todowrite.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/types.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/web_fetch.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/web_search.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tools/write.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/auth.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/badge_slot.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/busy.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/child_tree.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/clipboard.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/compact.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/config_store.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/context.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/current_action.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/expand_panel.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/footer.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/gt_overview.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/input-filter.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/layout.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/messages.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/mode_prefs.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/model-picker.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/panel_state.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/perf.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/perm_grants.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/permissions.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/plan_draft_view.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/projects.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/reader.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/resume.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/rewind_picker.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/routing-warnings.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/status.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/suspend.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/task_footer.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/text-input.tsx +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/tips.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/tui/toc.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/types.d.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/src/version.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/acceptance-e2e.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/agent.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/ai.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/anchor-ledger.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/anthropic.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/anti-spiral-runtime.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/anti-spiral.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/apply_patch.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/auth.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/badge_slot.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/bash-group.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/behavior.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/budget.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/busy.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/candidate-filter.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/catalog.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/check.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/checkpoint.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/cli.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/client.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/confidence.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/config_env.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/config_store.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/current_action.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/db.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/db_migrate.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/diagnose-brief.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/diff_review.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/effort.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/error-ux.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/exit_plan.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/failure-kind-runtime.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/failure-kind.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/feedback-grounded.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/footer.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/gate.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/google.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/ground_truth.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/grounded.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/gt-attribution.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/gt-contract.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/gt-e2e.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/gt-footer.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/gt_factors.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/gt_overview.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/honest_meter.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/hooks.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/input-filter.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/isolation.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/j1-e2e.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/judge-cost-booking.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/judge.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/ladder.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/ladder_v2.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/layout.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/learning-loop.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/markdown-fence.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/memory.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/memory_dream.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/memory_ledger.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/memory_scribe.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/minima.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/minima_memory.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/modes.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/openai_compat.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/panel_state.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/perm_grants.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/permissions.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan-lint.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan-loop-audit.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan-premium-routing.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_council.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_critic.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_draft_view.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_finalize.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_refute.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_session.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/plan_turn.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/policy.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/question-tool.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/reader.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/recall-user-id.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/render-buffer.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/repo_gates.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/resume-gt.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/resume_verify.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/rewind.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/rewind_picker.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/run_modes.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/sections.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/session.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/spawn.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/status.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/stop-gate-runtime.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/stop-gate.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/task.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/task_footer.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/thinking.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/tips.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/toc.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/todowrite.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/tool-permissions.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/tool_marker.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/tools-persistence.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/tools.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/verify-consent.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/version_stamp.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tests/why.test.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packages/tui/tsconfig.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packaging/homebrew/README.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/packaging/homebrew/render_formula.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_125009/recall_debug.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_125009/strategies_run1.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_125009/strategies_run2.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_125009/strategies_run3.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_125009/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/REPORT.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/recall_debug.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/strategies_run1.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/strategies_run2.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/strategies_run3.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/strategies_run4.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/strategies_run5.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_130252/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_182838/recall_debug.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_182838/strategies_run1.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_182838/strategies_run2.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_182838/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/REPORT.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/memory_audit.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/recall_debug.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/strategies_run1.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/strategies_run2.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/strategies_run3.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/strategies_run4.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/strategies_run5.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260612_183343/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/REPORT.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/memory_audit.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/recall_debug.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/strategies_run1.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/strategies_run2.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/strategies_run3.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/strategies_run4.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/strategies_run5.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260615_101732/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260624_103307/memory_audit.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260624_103307/recall_debug.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/20260624_103307/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalate_20260615_133108/cold_probe.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalate_20260615_133108/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalate_20260615_133108/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalate_20260615_134209/REPORT.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalate_20260615_134209/cold_probe.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalate_20260615_134209/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalate_20260615_134209/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalation_20260612_201825/REPORT.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalation_20260612_201825/results.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/escalation_20260612_201825/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/_manifest.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/calibration.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/feedback.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/health.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/models.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/recommend.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/savings.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/strategies.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/playground_p1/workflow.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/retention_20260612_201828/REPORT.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/retention_20260612_201828/results.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/retention_20260612_201828/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/warmupvary_20260615_123818/REPORT.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/warmupvary_20260615_123818/summary.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/runs/warmupvary_20260615_123818/tasks.jsonl +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/scripts/eval/classify_dataset.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/scripts/eval/eval_classify.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/scripts/test-routing-web.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/scripts/test-routing.sh +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/scripts/test-routing.ts +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/scripts/verify_venv_integrity.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/auth.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/errors.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/calibration.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/capabilities.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/feedback.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/health.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/insight.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/models.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/recommend.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/savings.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/api/routers/strategies.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/data/benchmark_priors.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/data/capability_priors.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/data/model_aliases.json +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/merge.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/refresh.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/sources/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/sources/litellm.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/sources/openrouter.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/catalog/store.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/config.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/deps.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/logging.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/main.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/memory/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/memory/adapter.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/memory/keys.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/memory/records.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/memory/threadpool.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/metrics/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/metrics/calibration.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/metrics/ope.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/metrics/report.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/metrics/savings.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/_pg_pool.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/_redis_client.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/aggregate.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/classify.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/decisionlog.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/durablerefs.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/engine.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/escalation.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/recstore.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/score.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/recommender/types.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/capabilities.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/common.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/feedback.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/insight.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/models_catalog.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/recommend.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/savings.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/strategies.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/schemas/workflow.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/seeding/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/seeding/items.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/seeding/llmrouterbench.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/seeding/routerbench.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/seeding/run_seed.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/seeding/synthetic.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/tenancy/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/tenancy/context.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/tenancy/passthrough.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/src/minima/version.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/conftest.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/BENCHMARKS.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/CRITERIA.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/RESULTS.md +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/__init__.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/harness.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/llmrouterbench_config.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/prompt_length_benchmark.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/test_llmrouterbench_savings.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/eval/test_routerbench_savings.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/factories.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_auth.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_feedback_loop.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_insight_api.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_lesson_promotion.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_measurement_api.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_observed_cost_ranking.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_recommend_api.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_strategies_api.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/integration/test_workflow_models_health.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/live/test_cost_savings_spotcheck_live.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/live/test_escalation_fixes.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/live/test_full_surface_live.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/live/test_mubit_roundtrip.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/live/test_phase3_live.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/live/test_recall_params_live.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_accumulating_records.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_adapter_signals.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_adapter_typed_surface.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_adapters.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_aggregate.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_aggregate_decay.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_autocapture.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_calibration_fit.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_capabilities.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_classify_benchmark.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_classify_keys.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_cluster.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_cost_band.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_decisionlog.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_escalation.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_iterations.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_latency_quality.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_lookup_parse.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_metrics.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_metrics_demo.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_neighbor_classify.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_ope.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_prompt_length_benchmark.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_recall_track.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_records_catalog.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_recstore_sqlite.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_score.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_sdk_client.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_sdk_usage.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_store_backends.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_strategies.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_tenancy.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_thompson.py +0 -0
- {minima_cli-0.13.0 → minima_cli-0.13.1}/tests/unit/test_ts_mirror.py +0 -0
|
@@ -4,6 +4,18 @@ 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.13.1] - 2026-07-21
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- **Plan-mode fallback pool** (TUI, #204): plan mode's premium model-pool
|
|
11
|
+
restriction only covered the council path — with `MINIMA_TUI_GROUND_TRUTH=0`
|
|
12
|
+
(or a failed council setup) plan-mode turns ran the normal loop over the full
|
|
13
|
+
candidate pool, so a cheap/small model could end up doing the planning. The
|
|
14
|
+
sessionless fallback now routes with the same premium hard pool +
|
|
15
|
+
`phase:plan` tag as the council's planner turn, with the same loud failure
|
|
16
|
+
when the policy is active but no premium model is runnable. The restriction
|
|
17
|
+
is now a property of the mode, not of the council.
|
|
18
|
+
|
|
7
19
|
## [0.13.0] - 2026-07-21
|
|
8
20
|
|
|
9
21
|
The Mubit reinforcement train: mubit-sdk 0.13.0 adopted end to end, every free
|
|
@@ -87,7 +87,7 @@ Everything external is behind a Protocol so it can be faked in tests. The server
|
|
|
87
87
|
|
|
88
88
|
`MinimaAgent.promptRouted(task)` = **route** (`src/minima/router.ts` → `POST /v1/recommend`) → **run** (agent loop in `src/agent/`, streams the model, executes tools, before/afterToolCall hook stacks, abort via AbortSignal) → **judge** (`src/minima/judge.ts`, abstains unless `MINIMA_LLM_JUDGE=1`) → **feed back** (`POST /v1/feedback` with realized cost). Layers: `src/ai/` (multi-provider LLM API + `faux` test provider) · `src/agent/` (loop, tools, hooks) · `src/minima/` (router, runtime, meter, budget, spawn/sub-agents, ground truth) · `src/tools/` (bash/edit/read/write/grep/todowrite/websearch…) · `src/tui/` (Ink app) · `src/db/` (SQLite spine).
|
|
89
89
|
|
|
90
|
-
**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=
|
|
90
|
+
**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_JUDGE_SAMPLE=0` disables, `MINIMA_LLM_JUDGE=1` forces every turn) 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.
|
|
91
91
|
|
|
92
92
|
**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.
|
|
93
93
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: minima-cli
|
|
3
|
-
Version: 0.13.
|
|
3
|
+
Version: 0.13.1
|
|
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
|
|
@@ -22,6 +22,12 @@ your real LLM call.
|
|
|
22
22
|
guidance.
|
|
23
23
|
- **[Python Client SDK](client-sdk.md)** — the `minima_client` package: sync/async clients
|
|
24
24
|
and the zero-code `autocapture` intake.
|
|
25
|
+
- **[SDK Architecture](sdk-architecture.md)** — how both SDKs (TypeScript + Python) encode
|
|
26
|
+
the loop: wire-contract mirroring, retry/error discipline, label honesty, and the
|
|
27
|
+
known asymmetries between the two.
|
|
28
|
+
- **[Harness Architecture](harness-architecture.md)** — the internal agentic structure of
|
|
29
|
+
the `minima` CLI (`packages/tui`): the turn lifecycle, hook stacks, sub-agent DAG,
|
|
30
|
+
budget ledger, recovery ladder, ground-truth spine, memory ledger, and DB spine.
|
|
25
31
|
|
|
26
32
|
## Guides
|
|
27
33
|
|
|
@@ -13,6 +13,10 @@ poisoning stop (client hardcodes verified_in_production + null-quality successes
|
|
|
13
13
|
|
|
14
14
|
# Minima Next-Gen Agent Core — Definitive Architecture
|
|
15
15
|
|
|
16
|
+
> **Historical proposal (2026-07-02).** Much of this has since shipped, evolved, or been
|
|
17
|
+
> superseded (ground-truth spine, memory ledger, recovery ladder). For the architecture
|
|
18
|
+
> as actually implemented, see [harness-architecture.md](harness-architecture.md).
|
|
19
|
+
|
|
16
20
|
Status: implementation-ready. Branch: `tui-rewrite`. All seams below verified against source at `/Users/shankhadutta/code/costit/packages/tui/src`. Every "already exists" claim that the adversarial reviews contradicted has been corrected in place; where a design asserted a no-op that is actually a real API change, it is flagged as **[API CHANGE]**.
|
|
17
21
|
|
|
18
22
|
---
|
|
@@ -213,12 +213,18 @@ rescaled cost-basis tiers.
|
|
|
213
213
|
| `recommendation_id` | string | required | From a prior `/recommend` (or a step). |
|
|
214
214
|
| `chosen_model_id` | string | required | The model you **actually ran** (may differ from the recommendation; the right model's neighbors are credited). |
|
|
215
215
|
| `outcome` | enum | required | `success` \| `partial` \| `failure`. |
|
|
216
|
-
| `quality_score` | float `0–1` \| null | `null` | Caller-supplied
|
|
216
|
+
| `quality_score` | float `0–1` \| null | `null` | Caller-supplied judge/eval score. Omitted stays `null` (no fabricated default). A score contradicting the outcome label is clamped with a `quality_outcome_mismatch` warning. |
|
|
217
|
+
| `evidence_source` | enum \| null | `null` | Label provenance: `gate` (deterministic check — the only origin that may claim verified-in-production) \| `judge` \| `human` \| `none` (telemetry only; never teaches the success posterior). |
|
|
218
|
+
| `error_cause` | enum \| null | `null` | For failures: `infra` (429/5xx/timeout — never learned as model quality) \| `quality`. |
|
|
217
219
|
| `input_tokens` | int ≥ 0 \| null | `null` | Realized input tokens — **populate this** to enable the rescaled cost tier. |
|
|
218
220
|
| `output_tokens` | int ≥ 0 \| null | `null` | Realized output tokens (captures reasoning/thinking) — **populate this** for the rescaled tier. |
|
|
219
221
|
| `actual_cost_usd` | float ≥ 0 \| null | `null` | Realized $/call — enables the observed cost tier. |
|
|
220
222
|
| `latency_ms` | int ≥ 0 \| null | `null` | |
|
|
221
|
-
| `
|
|
223
|
+
| `iterations` | int ≥ 0 \| null | `null` | Agent-loop turns to resolution. |
|
|
224
|
+
| `chosen_effort` | string \| null | `null` | Reasoning-effort level actually used, if varied. |
|
|
225
|
+
| `step_outcomes` | `StepOutcome[]` | `[]` | Per-step verdicts for multi-step work (cap 32/call): `{step_id, step_name?, outcome, signal? [-1,1], rationale?, directive_hint?}`. |
|
|
226
|
+
| `verified_in_production` | bool | `false` | DEPRECATED — send `evidence_source="gate"` instead. |
|
|
227
|
+
| `judged` | bool \| null | `null` | DEPRECATED — send `evidence_source` instead. |
|
|
222
228
|
| `notes` | string \| null | `null` | |
|
|
223
229
|
| `idempotency_key` | string \| null | `null` | Dedupe key; derived from `recommendation_id + model` if omitted. |
|
|
224
230
|
|
|
@@ -232,7 +238,8 @@ rescaled cost-basis tiers.
|
|
|
232
238
|
| `updated_confidence` | float \| null | Mubit's updated `knowledge_confidence` for the primary entry. |
|
|
233
239
|
| `reflection_triggered` | bool | Whether reflection fired this call. |
|
|
234
240
|
| `lesson_promoted` | bool | Whether a durable lesson was promoted. |
|
|
235
|
-
| `
|
|
241
|
+
| `step_outcomes_recorded` | int | How many `step_outcomes` were relayed to memory. |
|
|
242
|
+
| `warnings` | string[] | `unknown_recommendation`, `memory_write_failed`, `reinforcement_failed`, `lesson_promotion_failed`, `quality_outcome_mismatch`, `late_feedback_no_attribution`, `step_outcomes_capped:<n>`, `step_outcomes_partial`. |
|
|
236
243
|
|
|
237
244
|
### Example
|
|
238
245
|
|
|
@@ -242,8 +249,8 @@ curl -s http://localhost:8080/v1/feedback -H 'content-type: application/json' -d
|
|
|
242
249
|
"chosen_model_id": "claude-haiku-4-5",
|
|
243
250
|
"outcome": "success",
|
|
244
251
|
"quality_score": 0.95,
|
|
245
|
-
"
|
|
246
|
-
"
|
|
252
|
+
"evidence_source": "gate",
|
|
253
|
+
"input_tokens": 180, "output_tokens": 640, "actual_cost_usd": 0.0034
|
|
247
254
|
}' | jq
|
|
248
255
|
```
|
|
249
256
|
|
|
@@ -309,6 +316,22 @@ dominant_lesson_type, dominant_scope, lesson_ids[]`.
|
|
|
309
316
|
|
|
310
317
|
---
|
|
311
318
|
|
|
319
|
+
## `GET /v1/savings` · `GET /v1/calibration` · `GET /v1/policy-value`
|
|
320
|
+
|
|
321
|
+
The measurement layer over your account's decision ledger:
|
|
322
|
+
|
|
323
|
+
- **`/v1/savings`** (`namespace?`, `days=30`, `group_by=cluster|task_type|lane`) — estimated **and** realized savings against two explicit baselines: `vs premium` (most expensive scored candidate; generous) and `vs declared` (your `baseline_model_id`; honest). `health.feedback_coverage` tells you how much weight the realized figures can bear.
|
|
324
|
+
- **`/v1/calibration`** (`namespace?`, `days=30`) — per-task-type expected calibration error (`ece`, `ece_shrunk`) of `predicted_success` vs realized outcomes, plus sustained drift flags per `(cluster, model)`.
|
|
325
|
+
- **`/v1/policy-value`** (`namespace?`, `days=30`) — doubly-robust off-policy estimates (`RegretReport`): per-policy value, `regret_vs_oracle`, with `stochastic_share` and `n_trusted` surfaced so the number can't overclaim.
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## `GET /v1/capabilities`
|
|
330
|
+
|
|
331
|
+
Feature handshake (no auth): `{ plan, workflow, api_version, honored_constraints[] }`. Read once at startup and gate optional features on what the server actually supports.
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
312
335
|
## `POST /v1/diagnose`
|
|
313
336
|
|
|
314
337
|
Failure lessons matching an error — "here's how this failed before". The harness recovery
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
# Harness Architecture — the internal agentic structure of `minima-tui`
|
|
2
|
+
|
|
3
|
+
The `minima` CLI (`packages/tui/`) is a TypeScript/Ink agent runtime on Bun. It is the
|
|
4
|
+
active harness: a coding agent whose every routed turn runs the Minima loop —
|
|
5
|
+
|
|
6
|
+
```
|
|
7
|
+
route → run → judge → feedback
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
— against the `/v1/*` contract, with its own SQLite persistence spine, a budget ledger,
|
|
11
|
+
a ground-truth verification spine, and a curated memory ledger. This page documents the
|
|
12
|
+
implemented architecture as of v0.13.0. (The 2026-07-02 design proposal it grew from is
|
|
13
|
+
preserved in [agent-core-architecture.md](agent-core-architecture.md); where the two
|
|
14
|
+
disagree, this page reflects the code.)
|
|
15
|
+
|
|
16
|
+
## Design principles (these constrain everything below)
|
|
17
|
+
|
|
18
|
+
- **State in the DB, projections in the context.** Anything that must survive scroll,
|
|
19
|
+
compaction, restart, or a lying model lives in the SQLite ledger; the model sees only
|
|
20
|
+
a compact re-injected projection.
|
|
21
|
+
- **Enforcement in the dispatcher, guidance in the prompt.** Plan/permission/gate
|
|
22
|
+
guarantees are enforced by harness code at tool-dispatch or turn boundaries — never by
|
|
23
|
+
prompt text, which is bypassable.
|
|
24
|
+
- **Feedback truth.** Realized usage only; no fabricated quality. A gate verdict maps to
|
|
25
|
+
an outcome label; judge abstention stays `null`; `verified_in_production` comes only
|
|
26
|
+
from user/repo/CI-origin gates, never agent-authored ones.
|
|
27
|
+
- **Recommend-only server stands.** Plan state is never server-authoritative.
|
|
28
|
+
- **Append-only migrations**, **`rec_id` discipline** (the sole local↔server↔Mubit join
|
|
29
|
+
key), and **propensity integrity** (no client-side re-ranking; pins are pre-request
|
|
30
|
+
candidate assembly, never post-hoc overrides).
|
|
31
|
+
|
|
32
|
+
## Module layout
|
|
33
|
+
|
|
34
|
+
| Directory | What it owns |
|
|
35
|
+
|---|---|
|
|
36
|
+
| `src/ai/` | LLM provider layer: `types.ts`, `stream.ts` (`stream()`/`complete()`), `registry.ts` (calling-side model catalog — distinct from Minima's routing catalog), `usage.ts` (tokens × price → USD), providers (`openai-compat`, `anthropic`, `google`, hermetic `faux`) |
|
|
37
|
+
| `src/agent/` | The stateful agent core: `loop.ts` (`agentLoop`), `agent.ts` (`Agent`), `tools.ts` (hook types), `modes.ts` (permission modes), `policy.ts` |
|
|
38
|
+
| `src/minima/` | The integration layer — this IS the harness (39 files): `runtime.ts` (`MinimaAgent`), `router.ts`/`client.ts`, `judge.ts`, `budget.ts`, `spawn.ts`, the ground-truth files (`ground_truth.ts`, `gt_contract.ts`, `confidence.ts`, `check.ts`, `stop_gate.ts`, `anti_spiral.ts`, `failure_kind.ts`), the memory files (`memory.ts`, `memory_ledger.ts`, `memory_scribe.ts`, `memory_dream.ts`), the plan files (`plan_turn.ts`, `plan_council.ts`, `plan_finalize.ts`, `plan_critic.ts`, `plan_refute.ts`), `diff_review.ts`, `meter.ts`, `schemas.ts` (wire mirror) |
|
|
39
|
+
| `src/tools/` | The agent's callable tools + `builtin.ts` registry |
|
|
40
|
+
| `src/db/` | Persistence spine: `minima_db.ts` (`MinimaDb`), `sink.ts` (event-stream → rows), `rehydrate.ts` (restore a run), `metrics.ts` (regret-vs-oracle) |
|
|
41
|
+
| `src/tui/` | Ink/React UI: `app.tsx` (main component + slash commands) + overlays |
|
|
42
|
+
| `src/session/` | Checkpoints (git-shadow worktree snapshots), `/undo` `/rewind`, resume re-verify, JSONL session store |
|
|
43
|
+
| `src/cli/` | `main.ts` — the single entry point; builds config/DB/agent, wires hooks, spawn, budget, scribe |
|
|
44
|
+
|
|
45
|
+
## The turn lifecycle — `MinimaAgent.promptRouted()`
|
|
46
|
+
|
|
47
|
+
`MinimaAgent extends Agent` (`src/minima/runtime.ts`). One routed prompt runs this
|
|
48
|
+
sequence:
|
|
49
|
+
|
|
50
|
+
### 1. Context assembly (reverted in a `finally` after the turn)
|
|
51
|
+
|
|
52
|
+
- **Mubit recall** — `memory.recall(content)` formats recalled evidence into a system
|
|
53
|
+
prompt block.
|
|
54
|
+
- **Mode hint** — `modeSystemAppend(getMode())` for the current permission mode.
|
|
55
|
+
- **Ground-truth projection** (when `config.groundTruth`, default on) — standing GT
|
|
56
|
+
guidance plus `planProjectionFor(db, runId)`: the numbered plan of record, re-injected
|
|
57
|
+
every turn so it survives compaction.
|
|
58
|
+
- **Memory-ledger projection** (lead agent only) — `memoryProjectionFor(db, runId)`:
|
|
59
|
+
active + pinned curated memories under a hard char cap. Every *distinct* injected
|
|
60
|
+
id-set is audited as an `inject` memory-event, so "what the model saw" is replayable.
|
|
61
|
+
|
|
62
|
+
### 2. The recovery-ladder loop (up to `1 + recoveryRungs` attempts, default 3)
|
|
63
|
+
|
|
64
|
+
Each rung:
|
|
65
|
+
|
|
66
|
+
1. **Budget gate** — in `enforce` mode, refuse before spend if `budget.exhausted()`.
|
|
67
|
+
2. **Route** — `router.recommend()` → `POST /v1/recommend`. Candidates are filtered to
|
|
68
|
+
providers whose API key is present; a `/model`-pinned model bypasses Minima entirely;
|
|
69
|
+
a `beforeRouteHook` may veto/override. The winner becomes `agentState.model`. With
|
|
70
|
+
`autoEffort`, the server's classified difficulty picks the thinking-effort level.
|
|
71
|
+
3. **Reserve** — `budget.reserve()` holds a padded estimate (est-high × 1.5, or point
|
|
72
|
+
estimate × 3) before any spend.
|
|
73
|
+
4. **Arm the stop stack** — one composed `shouldStopAfterTurn` closure: budget cutoff
|
|
74
|
+
first, then the anti-spiral detector (doom-loop repeats / step-cap, fed by an
|
|
75
|
+
after-tool ring buffer), then the stop-gate (strike-based stall detection).
|
|
76
|
+
5. **Run** — `super.prompt()` enters the base agent loop (§ Agent core). During dispatch
|
|
77
|
+
`currentRecId` is set so any gate rows minted this rung carry the routing identity.
|
|
78
|
+
6. **Settle** — compute latency/turns/failure, read the **grounded verdict** for this
|
|
79
|
+
rung (`groundedOutcomeFor(db, recId)` — the deterministic gate outcome, if any),
|
|
80
|
+
classify transience, `budget.reconcile()` realized cost against the hold.
|
|
81
|
+
7. **Judge + feedback** — `feedbackSafely()` (see § Feedback truth).
|
|
82
|
+
8. **Persist** — `meter.record()` + `persistDecision()`: a `routing` event, a
|
|
83
|
+
`routing_decisions` row keyed by `rec_id`, and the grounded-outcome stamp.
|
|
84
|
+
9. **Decide** — `stillFailing = hardError || judgeBelowThreshold || gateFailed`. If rungs
|
|
85
|
+
remain, the **failure matcher** picks the intervention (§ Recovery ladder); the
|
|
86
|
+
message list is rolled back to the pre-run index so the retry is clean. On
|
|
87
|
+
exhaustion, a terminal `recovery` gate is written.
|
|
88
|
+
|
|
89
|
+
## Agent core (`src/agent/`)
|
|
90
|
+
|
|
91
|
+
- **`agentLoop`** (`loop.ts`) is a re-entrant async generator: prepare messages → stream
|
|
92
|
+
the model → yield events → execute tool calls → append results → `turnEnd` → check
|
|
93
|
+
`shouldStopAfterTurn` → drain steering/follow-up queues, up to `maxTurns` (default 50).
|
|
94
|
+
- **Tool dispatch** (`executeToolCalls`): validate params, then the **before-hook stack**
|
|
95
|
+
(ordered; first `block: true` wins — this is where enforcement lives), then
|
|
96
|
+
`tool.execute`, then the **after-hook stack** (folding — each hook sees the previous
|
|
97
|
+
hook's modified result). Tools run in parallel via `Promise.all` unless any requested
|
|
98
|
+
tool is sequential (the `task` tool is).
|
|
99
|
+
- **Registered hook stacks** (wired in `cli/main.ts` / `tui/app.tsx`, in order):
|
|
100
|
+
1. **Permission hook** (TUI) — must run first.
|
|
101
|
+
2. **Ground-truth hooks** — the *done-gate* (before): refuses a `todowrite` that marks
|
|
102
|
+
a step complete unless its `verify` command actually passes (red→green), enforces
|
|
103
|
+
one-todowrite-per-message and the per-step tool allowlist; the after-sink keeps the
|
|
104
|
+
plan/file-changes/gates ledger current.
|
|
105
|
+
3. **Checkpoint hook** — pre-mutation git-shadow snapshot (powers `/undo`/`/rewind`).
|
|
106
|
+
4. **Anti-spiral ring feed** — per-rung after-hook feeding the doom-loop detector.
|
|
107
|
+
- **Abort** is a first-class tree: `Agent.abort()` cancels the run controller,
|
|
108
|
+
`MinimaAgent.abort()` also cancels the in-flight routing request, and each stream read
|
|
109
|
+
races the abort signal so Esc interrupts mid-token. An aborted turn commits an
|
|
110
|
+
explicit `[aborted by user]` stub — never a half-written message.
|
|
111
|
+
|
|
112
|
+
## Tools
|
|
113
|
+
|
|
114
|
+
The registry is `builtinTools()` (`src/tools/builtin.ts`): `read`, `write`, `edit`,
|
|
115
|
+
`apply_patch`, `bash`, `ls`, `glob`, `grep`, `todowrite` (GT-aware), `web_search`,
|
|
116
|
+
`web_fetch` (Exa when `EXA_API_KEY` is set, else DuckDuckGo). Filesystem tools are
|
|
117
|
+
confined to the configured workdir. Three tools are wired *outside* the registry: `task`
|
|
118
|
+
(sub-agents; added by `cli/main.ts` with spawn depth 0), and `question` / `exit_plan`
|
|
119
|
+
(plan-mode, wired by the TUI).
|
|
120
|
+
|
|
121
|
+
## Sub-agents (`src/tools/task.ts` + `src/minima/spawn.ts`)
|
|
122
|
+
|
|
123
|
+
The `task` tool takes a list of **delegations** — `{step_id, objective, output_format,
|
|
124
|
+
boundaries}` are required; optional `depends_on` (DAG edges), `effort`
|
|
125
|
+
(light/standard/deep → turn + wall-clock limits), `difficulty` (→ tier routing),
|
|
126
|
+
`tool_allowlist`, `budget_usd`, `isolation`.
|
|
127
|
+
|
|
128
|
+
- `validateDelegations` rejects missing fields, duplicate ids, dangling edges, and
|
|
129
|
+
cycles before anything runs.
|
|
130
|
+
- `executeDag` runs independent frontier nodes **concurrently under a semaphore**
|
|
131
|
+
(default 4); dependents wait; a failed dependency marks its dependents `blocked`.
|
|
132
|
+
- `createSpawn` builds each child as a **fresh `MinimaAgent`** sharing the parent's
|
|
133
|
+
router/judge/memory but with its own cost meter, tools scoped to the allowlist (minus
|
|
134
|
+
`task` at the depth cap — max depth 2), and `groundTruth: false` (the GT spine never
|
|
135
|
+
inherits into children). Each child routes through Minima independently — cost-aware
|
|
136
|
+
routing applies **per worker**, not just at the top level.
|
|
137
|
+
- Per-node `budget_usd` becomes a running-cost stop; the parent's abort signal fans out
|
|
138
|
+
to `child.abort()`; effort scales a wall-clock timeout (120s/300s/600s).
|
|
139
|
+
- `isolation: "workdir"` gives the child a temporary git worktree (with a dirty-tree
|
|
140
|
+
warning, cleanup on exit, and fallback to the parent workdir on failure).
|
|
141
|
+
|
|
142
|
+
## Routing layer (`src/minima/router.ts`, `client.ts`)
|
|
143
|
+
|
|
144
|
+
`MinimaClient` is the typed `/v1/*` client (recommend, workflow, feedback, diagnose,
|
|
145
|
+
savings, calibration, strategies, memory-health, models, capabilities, health) with an
|
|
146
|
+
injectable `fetch` for hermetic tests. `MinimaRouter` maps the server's `RankedModel`
|
|
147
|
+
onto a callable harness `Model` and owns the fail-open discipline:
|
|
148
|
+
|
|
149
|
+
- **Routing must stay bypassable.** `--offline` or an unreachable server sets
|
|
150
|
+
`offlineReason` and the run proceeds on the current model **with no feedback sent**
|
|
151
|
+
(`allowOffline` defaults to true). An Esc during routing is an abort, not a
|
|
152
|
+
degradation to offline.
|
|
153
|
+
- A pinned model (`/model`) skips the recommender entirely; explicitly provided
|
|
154
|
+
candidate pools are hard constraints, never widened.
|
|
155
|
+
- `capabilities()` is cached per session and fails open to all-false;
|
|
156
|
+
`diagnoseBrief()` fails open to null.
|
|
157
|
+
|
|
158
|
+
## Budget (`src/minima/budget.ts`)
|
|
159
|
+
|
|
160
|
+
`BudgetLedger` persists scopes in the `budgets` table with an append-only
|
|
161
|
+
`budget_events` audit. The cycle is **reserve → run → reconcile**: reservations are
|
|
162
|
+
guarded UPDATEs inside `BEGIN IMMEDIATE` (safe across processes), holds are padded
|
|
163
|
+
estimates, reconcile swaps the hold for realized cost, and `bookSpend` books unreserved
|
|
164
|
+
harness overhead (judge calls, scribe extraction) so *all* spend is on the ledger.
|
|
165
|
+
Modes: `shadow` (track), `warn` (notify at 50/75/90/100% thresholds, each fired once),
|
|
166
|
+
`enforce` (refuse new routed prompts when exhausted, stop a turn mid-run when realized
|
|
167
|
+
spend crosses the remainder, and thread remaining headroom into `/v1/recommend` as
|
|
168
|
+
`max_cost_per_call`).
|
|
169
|
+
|
|
170
|
+
## Recovery ladder (`src/minima/failure_kind.ts`)
|
|
171
|
+
|
|
172
|
+
After a failed rung, `makeFailureMatcher` classifies the failure and picks one of three
|
|
173
|
+
named rungs:
|
|
174
|
+
|
|
175
|
+
| Signal | Intervention |
|
|
176
|
+
|---|---|
|
|
177
|
+
| First grounded 🔴 gate verdict | **escalate** (`revise_step`) — exclude the failed model, re-route stronger |
|
|
178
|
+
| Gate still 🔴 after 2 rungs | **replan** — keep the model, revise the plan |
|
|
179
|
+
| Hard error classified transient (rate limit, 5xx) | **backoff** (`retry_step`) — same model, optional delay, **no feedback** (an infra fault must not read as model quality) |
|
|
180
|
+
| Judge-miss or non-transient error | **escalate** |
|
|
181
|
+
|
|
182
|
+
The **replan** branch is briefed before retrying: `collectFailureDiagnostics()` re-runs
|
|
183
|
+
the failing verify command and captures full output, and `router.diagnoseBrief()`
|
|
184
|
+
(→ `POST /v1/diagnose`) appends matching failure lessons from Mubit memory. Each retry
|
|
185
|
+
rolls the transcript back to the pre-run index; exhaustion writes a terminal `recovery`
|
|
186
|
+
gate.
|
|
187
|
+
|
|
188
|
+
## Ground-truth spine
|
|
189
|
+
|
|
190
|
+
On by default (`MINIMA_TUI_GROUND_TRUTH=0` opts out). The contract enums are frozen in
|
|
191
|
+
`gt_contract.ts`: gate outcomes `verified | failed | unrunnable | unchecked`, confidence
|
|
192
|
+
tiers `green | yellow | red`, verifiers `deterministic | judge | user`, gate kinds
|
|
193
|
+
`step_check | milestone | stop | recovery`, check origins `pre_existing | agent_new |
|
|
194
|
+
user`.
|
|
195
|
+
|
|
196
|
+
- **Plan flow** — `/plan` runs a planner persona plus a deliberation council off the
|
|
197
|
+
routing loop (`plan_turn.ts`, `plan_council.ts`); `finalizePlan` (shared by
|
|
198
|
+
`/plan finalize` and the `exit_plan` tool) lints steps and auto-gates them. Each plan
|
|
199
|
+
step carries a `verify` shell command and a recorded `baseline` (the check must be
|
|
200
|
+
red *before* the work — a check that was already green proves nothing).
|
|
201
|
+
- **Verification** — `runCheck` (`check.ts`) executes verify commands deterministically
|
|
202
|
+
(own process group, allowlisted env), consent-gated: the TUI injects a
|
|
203
|
+
permission-backed checker; headless runs are fail-closed unless
|
|
204
|
+
`MINIMA_TUI_ALLOW_VERIFY=1`.
|
|
205
|
+
- **The done-gate** — the before-hook that makes plans *enforced*, not advisory: a step
|
|
206
|
+
cannot be marked complete unless its verify passes red→green. Verdicts land as rows in
|
|
207
|
+
the `gates` ledger with the minting rung's `rec_id`.
|
|
208
|
+
- **Confidence tiering** (`confidence.ts`) — factors → tier: tampering → red; no
|
|
209
|
+
discriminative check → yellow; check failed → red; agent-authored check with coverage
|
|
210
|
+
gaps → red (the fabrication floor); a trusted check that passed → green. The tier
|
|
211
|
+
drives the UI (🟢 glide / 🟡 flag / 🔴 stop) and, critically, feedback labeling: only
|
|
212
|
+
**green-tier deterministic** verdicts may label an outcome as gate-verified.
|
|
213
|
+
- **Verification extras** — the **planning critic** (`plan_critic.ts`) runs one cheap
|
|
214
|
+
completion at plan finalize flagging non-discriminative checks and hidden dependencies
|
|
215
|
+
(advisory, never blocking); the **zero-context diff reviewer** (`diff_review.ts`)
|
|
216
|
+
fires when a plan closes fully completed and reviews the run's whole diff with fresh
|
|
217
|
+
eyes — an objection writes a yellow judge milestone gate (it can yellow a plan, never
|
|
218
|
+
green it). `/verify` re-runs checks under a refutation brief; `/why` and `/gt` surface
|
|
219
|
+
gate reasoning.
|
|
220
|
+
|
|
221
|
+
## Feedback truth (`feedbackSafely`)
|
|
222
|
+
|
|
223
|
+
Label precedence is strict — **deterministic gate > judge > telemetry-only**:
|
|
224
|
+
|
|
225
|
+
1. An infra failure sends outcome `failure` with `error_cause="infra"` and **no quality
|
|
226
|
+
signal**.
|
|
227
|
+
2. A green-tier deterministic gate verdict labels the outcome with
|
|
228
|
+
`evidence_source="gate"` — the only origin that may claim verified-in-production.
|
|
229
|
+
3. Otherwise a sampled LLM judge (`judgeEvery` × `judgeSampleRate`, default 15% of
|
|
230
|
+
ungated turns; `MINIMA_JUDGE_SAMPLE=0` disables, `MINIMA_LLM_JUDGE=1` forces every
|
|
231
|
+
turn) grades with
|
|
232
|
+
`evidence_source="judge"`; unjudged turns ride as cost/latency telemetry
|
|
233
|
+
(`evidence_source="none"`).
|
|
234
|
+
4. Transient failures short-circuit with **no feedback at all**.
|
|
235
|
+
|
|
236
|
+
Per-step process rewards ride the same request: `stepOutcomesFromGates` (`runtime.ts`)
|
|
237
|
+
maps the rung's gate rows — **deterministic/user verdicts only** (never judge, which is
|
|
238
|
+
model-adjacent self-assessment), last verdict per step wins, capped at 32 — into
|
|
239
|
+
`step_outcomes[]`. Every feedback carries realized `input_tokens` / `output_tokens` /
|
|
240
|
+
`actual_cost_usd` / `latency_ms` from the meter, never Minima's own estimate echoed
|
|
241
|
+
back. Feedback failures are logged and swallowed — bookkeeping never breaks the hot
|
|
242
|
+
path.
|
|
243
|
+
|
|
244
|
+
## Memory
|
|
245
|
+
|
|
246
|
+
Two distinct systems share the word "memory":
|
|
247
|
+
|
|
248
|
+
**Mubit (server-side, cross-user learning)** — `memory.recall()` before the turn and
|
|
249
|
+
`memory.recordOutcome()` after feedback are the harness's Mubit seams; harness trace
|
|
250
|
+
writes are partitioned to `lane: "harness"`.
|
|
251
|
+
|
|
252
|
+
**The memory ledger (local, curated, Track B)** — default on (`MINIMA_TUI_MEMORY=0`
|
|
253
|
+
opts out). Three tables (migration v12): `memories` (durable, bi-temporal — delete is
|
|
254
|
+
invalidation, never `DELETE`), `memory_events` (append-only audit), `memory_jobs`
|
|
255
|
+
(curation queue). Managed via `/memory` (list · add · pin/confirm/reject · delete).
|
|
256
|
+
Projection into the system prompt is lead-agent-only, ranked pinned > gate-cited >
|
|
257
|
+
recency under a 4000-char cap.
|
|
258
|
+
|
|
259
|
+
The model has **no memory-write tool** (the Letta split) — only the harness/user writes.
|
|
260
|
+
The sole automated writer is the **scribe** (`memory_scribe.ts`): a background curator
|
|
261
|
+
fed by SQL over the ledger (gate flips, verified failures, user corrections, judge/gate
|
|
262
|
+
disagreements — never the transcript), recurrence-gated (a pattern must recur before it
|
|
263
|
+
earns the one LLM extraction call, which routes through Minima tagged `memory:extract`
|
|
264
|
+
with its spend booked like judge spend), reconciled mem0-style (ADD/UPDATE/NOOP;
|
|
265
|
+
rejected rows never resurrect), and provenance-gated (only gate-cited candidates
|
|
266
|
+
auto-activate; the rest await `/memory confirm`). Triggers — session end, quiet timer,
|
|
267
|
+
startup leftovers — only *enqueue* `memory_jobs` rows; a crash-safe drain executes them
|
|
268
|
+
and requeues jobs orphaned by a crash. `memory_dream.ts` adds offline consolidation
|
|
269
|
+
gated on green-tier verified episodes.
|
|
270
|
+
|
|
271
|
+
## DB spine (`src/db/minima_db.ts`)
|
|
272
|
+
|
|
273
|
+
Event-sourced `bun:sqlite` (WAL), currently at **migration v13** — shipped batches are
|
|
274
|
+
append-only and never edited. `events` is the append-only source of truth; derived
|
|
275
|
+
tables key back to `event_id`/`rec_id`. `DbSink` subscribes to the agent event stream
|
|
276
|
+
and flushes buffered rows in one transaction at turn/agent end; writes fail open (a
|
|
277
|
+
degraded DB never breaks a turn); large tool results spill to blob storage.
|
|
278
|
+
|
|
279
|
+
| Table | Purpose |
|
|
280
|
+
|---|---|
|
|
281
|
+
| `projects` / `runs` | project identity → namespace; one row per run with lineage (`parent_run_id`, fork point) |
|
|
282
|
+
| `events` | append-only per-run event log (user/assistant/tool/system/routing) |
|
|
283
|
+
| `routing_decisions` | one row per routed prompt, PK `rec_id` — the local replay buffer for regret-vs-oracle metrics |
|
|
284
|
+
| `tool_calls` | every tool invocation (args + result, blob refs) |
|
|
285
|
+
| `budgets` / `budget_events` | budget scopes + append-only audit |
|
|
286
|
+
| `plans` / `plan_steps` | the GT plan of record: steps with `verify`, `baseline`, check origin, tool allowlist |
|
|
287
|
+
| `file_changes` | every write/edit attributed to a step (`on_plan`/`off_plan` drift) |
|
|
288
|
+
| `gates` | verification verdicts: outcome, confidence tier, verifier, factors, `rec_id` identity |
|
|
289
|
+
| `user_signals` | user accept/reject/steer against a gate |
|
|
290
|
+
| `checkpoints` | git-shadow snapshots powering `/undo`/`/rewind` |
|
|
291
|
+
| `memories` / `memory_events` / `memory_jobs` | the memory ledger |
|
|
292
|
+
|
|
293
|
+
`rehydrate.ts` reconstructs a live agent from persisted events; `resume_verify.ts`
|
|
294
|
+
re-runs verifies on resume so a stale green never carries across sessions.
|
|
295
|
+
|
|
296
|
+
## Key environment flags
|
|
297
|
+
|
|
298
|
+
All default-on features follow the same rule: anything gated on ground truth lives
|
|
299
|
+
behind `config.groundTruth` (code), never behind prompt text.
|
|
300
|
+
|
|
301
|
+
| Variable | Effect | Default |
|
|
302
|
+
|---|---|---|
|
|
303
|
+
| `MINIMA_URL` / `MINIMA_API_KEY` (or `MUBIT_API_KEY`) | routing endpoint + auth | `https://api.minima.sh` |
|
|
304
|
+
| `MINIMA_NAMESPACE` | memory lane | derived from the repo |
|
|
305
|
+
| `MINIMA_TUI_GROUND_TRUTH` | GT spine | on |
|
|
306
|
+
| `MINIMA_TUI_MEMORY` / `MINIMA_TUI_MEMORY_CAP` | memory ledger / projection cap | on / 4000 chars |
|
|
307
|
+
| `MINIMA_JUDGE_SAMPLE` / `MINIMA_LLM_JUDGE=1` / `MINIMA_JUDGE_MODEL` | judge sample rate (0 disables) / force every turn / model | 0.15 / off / `claude-haiku-4-5` |
|
|
308
|
+
| `MINIMA_TUI_STOP_STRIKES` / `MINIMA_TUI_SPIRAL_REPEATS` / `MINIMA_TUI_STEP_CAP` | stall + doom-loop detectors | 3 / 3 / 30 |
|
|
309
|
+
| `MINIMA_TUI_FAILURE_MATCHER` / `MINIMA_TUI_BACKOFF_MS` | recovery-ladder matcher / backoff | on / 0 |
|
|
310
|
+
| `MINIMA_TUI_PLAN_PREMIUM` / `MINIMA_PLAN_PREMIUM_MODELS` | premium pool for all plan-mode turns (council or not) | on |
|
|
311
|
+
| `MINIMA_TUI_PLAN_CRITIC` / `MINIMA_TUI_DIFF_REVIEW` / `MINIMA_TUI_AUTO_GATES` | verification extras | on |
|
|
312
|
+
| `MINIMA_TUI_ALLOW_VERIFY` | headless verify consent (fail-closed) | off |
|
|
313
|
+
| `MINIMA_AUTO_EFFORT` | difficulty → thinking effort | off |
|
|
314
|
+
| `MINIMA_DB_PATH` / `MINIMA_HARNESS_DIR` | persistence locations | `~/.minima-harness/` |
|
|
315
|
+
|
|
316
|
+
See [configuration.md](configuration.md) for the server-side variables and
|
|
317
|
+
[ground-truth-build-guide.md](ground-truth-build-guide.md) for the GT spine's build
|
|
318
|
+
history.
|
|
@@ -14,7 +14,9 @@ brew tap mubit-ai/minima
|
|
|
14
14
|
brew install minima
|
|
15
15
|
```
|
|
16
16
|
|
|
17
|
-
See [
|
|
17
|
+
See [Harness Architecture](harness-architecture.md) for the internal agentic structure
|
|
18
|
+
(turn lifecycle, hooks, sub-agents, ground-truth spine, memory ledger, DB spine) and
|
|
19
|
+
[`packages/tui/README.md`](../packages/tui/README.md) for usage.
|
|
18
20
|
The `minima-cli` PyPI package now contains only the Minima server (`minima`) and the
|
|
19
21
|
Python client SDK (`minima_client`).
|
|
20
22
|
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
# SDK Architecture — how the Minima loop is encoded in the clients
|
|
2
|
+
|
|
3
|
+
Minima ships two SDKs that wrap the same `/v1/*` HTTP contract:
|
|
4
|
+
|
|
5
|
+
- **`@mubit-ai/minima-sdk`** (`packages/sdk/`) — TypeScript, pure `fetch`, zero runtime
|
|
6
|
+
dependencies.
|
|
7
|
+
- **`minima_client`** (`client_sdk/minima_client/`) — Python, sync + async, shipped inside
|
|
8
|
+
the `minima-cli` wheel alongside the server.
|
|
9
|
+
|
|
10
|
+
Both encode the same workflow and the same honesty rules. This page documents their
|
|
11
|
+
internal structure and the loop contract they enforce; for task-oriented usage see
|
|
12
|
+
[Python Client SDK](client-sdk.md) and [`packages/sdk/README.md`](../packages/sdk/README.md).
|
|
13
|
+
|
|
14
|
+
## One wire contract, three copies
|
|
15
|
+
|
|
16
|
+
The server's Pydantic models (`src/minima/schemas/*.py`) are the **wire source of truth**.
|
|
17
|
+
Every field lands in three places:
|
|
18
|
+
|
|
19
|
+
| Copy | Where | Kept honest by |
|
|
20
|
+
|------|-------|----------------|
|
|
21
|
+
| Server (authoritative) | `src/minima/schemas/*.py` | — |
|
|
22
|
+
| TS SDK mirror | `packages/sdk/src/schemas.ts` | `tests/unit/test_ts_mirror.py` (mechanical field-by-field pin) |
|
|
23
|
+
| Harness mirror | `packages/tui/src/minima/schemas.ts` | same test |
|
|
24
|
+
| Python SDK | *(no copy)* | imports the server's Pydantic models directly (`client.py`) |
|
|
25
|
+
|
|
26
|
+
The Python client cannot drift because it has no mirror; the two TS mirrors are pinned by
|
|
27
|
+
CI. All three version files (`pyproject.toml`, `packages/tui/package.json`,
|
|
28
|
+
`packages/sdk/package.json`) move in lockstep on every release.
|
|
29
|
+
|
|
30
|
+
## The workflow both SDKs encode
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
recommend → run the model yourself → judge quality → feedback
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Minima is recommend-only: it never proxies, runs, or caches an LLM call. The SDK's job is
|
|
37
|
+
to make the four steps of the loop hard to get wrong:
|
|
38
|
+
|
|
39
|
+
1. **`recommend(task, …)`** — the caller reads `recommendation_id` (the join key for the
|
|
40
|
+
whole loop), `recommended_model.model_id`, `est_cost_usd`, `predicted_success`, and
|
|
41
|
+
`warnings`. `constraints.candidate_models` scopes the choice; `phase` rides as a
|
|
42
|
+
`phase:<value>` tag; `incumbent_model_id` lets the server price prompt-cache stickiness
|
|
43
|
+
honestly. **Recommend never retries** — it fails fast so the caller can fail *open*
|
|
44
|
+
(fall back to a default model rather than block the user's real LLM call).
|
|
45
|
+
2. **Run the model yourself**, measuring what the provider actually billed.
|
|
46
|
+
3. **Judge quality** — your own gate, judge, or human check. Score thresholds:
|
|
47
|
+
`success >= 0.8`, `partial >= 0.4`, else `failure`.
|
|
48
|
+
4. **`feedback(recommendation_id, model_id, outcome, …)`** — carries the **realized**
|
|
49
|
+
`input_tokens` / `output_tokens` / `actual_cost_usd` / `latency_ms`. Never echo
|
|
50
|
+
Minima's own `est_cost_usd` back: real usage is what climbs the cost basis
|
|
51
|
+
`estimate → observed → rescaled`, the single biggest accuracy lever. **Feedback
|
|
52
|
+
retries transparently** (3 attempts) on transport faults and 502/503/504 — the server
|
|
53
|
+
dedupes — but 4xx (including 429) surfaces immediately.
|
|
54
|
+
|
|
55
|
+
### Label honesty (enforced by field design)
|
|
56
|
+
|
|
57
|
+
`evidence_source` declares where the outcome label came from, and the server treats each
|
|
58
|
+
origin differently:
|
|
59
|
+
|
|
60
|
+
| `evidence_source` | Meaning | Effect |
|
|
61
|
+
|---|---|---|
|
|
62
|
+
| `"none"` | no real label | cost/latency **telemetry only** — never touches the success posterior |
|
|
63
|
+
| `"judge"` | an LLM judge scored it | teaches the posterior, judge-weighted |
|
|
64
|
+
| `"human"` | a person asserted it | teaches the posterior |
|
|
65
|
+
| `"gate"` | a deterministic check passed | the **only** origin allowed to claim verified-in-production |
|
|
66
|
+
|
|
67
|
+
Provider/infra faults should carry `error_cause="infra"` so a rate-limit never reads as
|
|
68
|
+
model quality. Per-step results ride as `FeedbackRequest.step_outcomes[]`
|
|
69
|
+
(`StepOutcome`: `step_id`, `outcome`, optional `signal` in `[-1, 1]`, `rationale`,
|
|
70
|
+
`directive_hint`) — in the harness these are derived exclusively from deterministic/user
|
|
71
|
+
gate verdicts, never from model self-assessment.
|
|
72
|
+
|
|
73
|
+
## Endpoint surface (identical in both SDKs)
|
|
74
|
+
|
|
75
|
+
| Method (TS / Python) | Endpoint | Purpose |
|
|
76
|
+
|---|---|---|
|
|
77
|
+
| `recommend` | `POST /v1/recommend` | one-task model pick |
|
|
78
|
+
| `recommendWorkflow` / `recommend_workflow` | `POST /v1/recommend/workflow` | per-step picks for a multi-step DAG (`total_est_cost_usd` vs `total_est_cost_if_all_premium`) |
|
|
79
|
+
| `feedback` (+ TS `feedbackRaw`) | `POST /v1/feedback` | close the loop with realized usage |
|
|
80
|
+
| `savings` | `GET /v1/savings` | realized savings report |
|
|
81
|
+
| `calibration` | `GET /v1/calibration` | predicted-vs-realized quality calibration |
|
|
82
|
+
| `policyValue` / `policy_value` | `GET /v1/policy-value` | doubly-robust regret-vs-oracle estimate |
|
|
83
|
+
| `strategies` | `GET /v1/strategies` | promoted Mubit lessons (explainability) |
|
|
84
|
+
| `diagnose` | `POST /v1/diagnose` | failure lessons matching an error text |
|
|
85
|
+
| `memoryHealth` / `memory_health` | `GET /v1/memory/health` | per-org memory diagnostics (stale/contradictions/promotion candidates) |
|
|
86
|
+
| `models` | `GET /v1/models` | model catalog (cost + capability priors) |
|
|
87
|
+
| `capabilities` | `GET /v1/capabilities` | feature handshake (`plan`, `workflow`, `api_version`, `honored_constraints`) |
|
|
88
|
+
| `health` | `GET /v1/health` | service/Mubit/catalog status |
|
|
89
|
+
|
|
90
|
+
## TypeScript SDK internals (`packages/sdk/src/`)
|
|
91
|
+
|
|
92
|
+
Five files, no runtime deps:
|
|
93
|
+
|
|
94
|
+
- **`client.ts`** — `MinimaClient`. Constructor options: `baseUrl` (required),
|
|
95
|
+
`apiKey` (→ `Authorization: Bearer`), `feedbackRetryDelaysMs` (default `[500, 2000]`,
|
|
96
|
+
i.e. up to 3 feedback attempts), and an injectable `fetch` for hermetic tests. No
|
|
97
|
+
global timeout — cancellation is per-call via `signal: AbortSignal`. Every request
|
|
98
|
+
sends `x-minima-client` and `user-agent: minima-sdk-ts/<VERSION>`.
|
|
99
|
+
- `feedback()` is the ergonomic camelCase surface (`Usage{inputTokens, outputTokens,
|
|
100
|
+
costUsd, latencyMs}` — explicit `0` is a real measurement); it maps to snake_case
|
|
101
|
+
wire fields and drops undefined.
|
|
102
|
+
- `feedbackRaw(req)` accepts a full `FeedbackRequest` — the seam for advanced fields
|
|
103
|
+
like `step_outcomes` (this is what the harness uses).
|
|
104
|
+
- **`schemas.ts`** — the wire mirror: `TaskInput`, `Constraints`, `RecommendRequest/
|
|
105
|
+
Response`, `RankedModel`, `FeedbackRequest/Response`, `StepOutcome`, `WorkflowStep/
|
|
106
|
+
Request/Response`, `SavingsResponse`, `CalibrationResponse`, `PolicyValueResponse`,
|
|
107
|
+
`StrategiesResponse`, `DiagnoseRequest/Response`, `MemoryHealthResponse`,
|
|
108
|
+
`CapabilitiesResponse`, plus the enums (`TASK_TYPES`, `DIFFICULTIES`,
|
|
109
|
+
`OUTCOME_LABELS`, `DECISION_BASES`).
|
|
110
|
+
- **`errors.ts`** — typed error ladder: 429 → `MinimaRateLimited` (carries the parsed
|
|
111
|
+
`retry-after` seconds), 502/503/504 → `MinimaUnavailable`, any other non-2xx →
|
|
112
|
+
`MinimaError`; all carry `status` + raw `body`. The retry loop in `feedbackRaw`
|
|
113
|
+
retries **only** `MinimaUnavailable` and transport errors.
|
|
114
|
+
- **`index.ts`** — the public surface: `MinimaClient`, the three errors, `VERSION`, and
|
|
115
|
+
`export type *` of the wire types.
|
|
116
|
+
- **`version.ts`** — `VERSION` from `package.json`.
|
|
117
|
+
|
|
118
|
+
## Python SDK internals (`client_sdk/minima_client/`)
|
|
119
|
+
|
|
120
|
+
- **`client.py`** — `MinimaClient` (sync) and `AsyncMinimaClient` mirror the same
|
|
121
|
+
surface method-for-method; both are context managers. Constructor:
|
|
122
|
+
`(base_url, api_key=None, timeout=10.0)` over `httpx`. Feedback retry uses tenacity
|
|
123
|
+
(`stop_after_attempt(3)`, exponential 0.5s→4s) on `httpx.TransportError` /
|
|
124
|
+
`MinimaUnavailable` only. The typed `Usage` dataclass maps `cost_usd →
|
|
125
|
+
actual_cost_usd` on the wire. Notable defaults that differ from TS: `explain=True`,
|
|
126
|
+
`max_candidates=8`.
|
|
127
|
+
- **`errors.py`** — same ladder as TS: `MinimaError` / `MinimaRateLimited` /
|
|
128
|
+
`MinimaUnavailable`.
|
|
129
|
+
- **`autocapture.py`** — *not* the feedback loop: a wrapper over `mubit.learn` that pins
|
|
130
|
+
traces to Minima's memory lane (`minima:<namespace>`) by monkeypatching
|
|
131
|
+
OpenAI/Anthropic/LiteLLM/Google clients. Enriches recall; does not produce the
|
|
132
|
+
`kind="outcome"` records the aggregator scores.
|
|
133
|
+
- **`integrations/`** — framework adapters (all fail-open, all lazy-import their
|
|
134
|
+
framework):
|
|
135
|
+
- `claude_code.py` — the `minima-route` CLI (`recommend` prints a model id or JSON;
|
|
136
|
+
`feedback` closes the loop from the shell; `--source gate|judge|human|none`).
|
|
137
|
+
- `litellm_router.py` — `MinimaRoutingStrategy` picks the deployment Minima
|
|
138
|
+
recommends (candidates constrained to the model group, in-band correlation via a
|
|
139
|
+
bounded LRU) + `MinimaFeedbackLogger` reports realized cost on success/failure
|
|
140
|
+
events; grader score → outcome via the 0.8/0.4 thresholds, no grader →
|
|
141
|
+
`evidence_source="none"`, failures → `error_cause="infra"`.
|
|
142
|
+
- `openhands_router.py` — `MinimaRouterLLM` routes each completion among
|
|
143
|
+
`llms_for_routing` and fires off-thread telemetry feedback.
|
|
144
|
+
|
|
145
|
+
Neither client class reads environment variables — explicit `base_url`/`api_key` only.
|
|
146
|
+
The one env-aware entry point is the `minima-route` CLI (`MINIMA_URL`,
|
|
147
|
+
`MINIMA_API_KEY`/`MUBIT_API_KEY`).
|
|
148
|
+
|
|
149
|
+
## Known asymmetries (TS vs Python)
|
|
150
|
+
|
|
151
|
+
| Area | TypeScript | Python |
|
|
152
|
+
|---|---|---|
|
|
153
|
+
| Timeout | none (per-call `AbortSignal` only) | `timeout=10.0` constructor default |
|
|
154
|
+
| `recommend` defaults | `explain`/`max_candidates` unset | `explain=True`, `max_candidates=8` |
|
|
155
|
+
| Async | promise-based (inherently async) | separate `AsyncMinimaClient` |
|
|
156
|
+
| `step_outcomes` | typed `StepOutcome` + `feedbackRaw` seam | untyped `**kwargs` passthrough only |
|
|
157
|
+
| Wire types | hand-mirrored, CI-pinned | imports server Pydantic directly |
|
|
158
|
+
| Integrations | none (client only) | litellm, OpenHands, `minima-route` CLI, `autocapture` |
|
|
159
|
+
| Feedback retry | fixed delays `[500ms, 2000ms]` | tenacity exponential (0.5s→4s), 3 attempts |
|
|
160
|
+
| User-Agent | `minima-sdk-ts/<v>` | `minima-cli/<v> (python-httpx)` |
|
|
161
|
+
|
|
162
|
+
A note on `cost_basis`: the estimate → observed → rescaled climb is a server-side concept —
|
|
163
|
+
there is no `cost_basis` wire field. The observable cousins on `RankedModel` are
|
|
164
|
+
`est_cost_breakdown`, `est_cost_low`/`est_cost_high`, `cost_band_basis`, and
|
|
165
|
+
`latency_basis`.
|