simplicio-cli 0.11.0__tar.gz → 0.16.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {simplicio_cli-0.11.0/simplicio_cli.egg-info → simplicio_cli-0.16.2}/PKG-INFO +70 -41
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/README.md +62 -39
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/pyproject.toml +69 -3
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/__init__.py +1 -1
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/bench.py +8 -1
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/cache.py +23 -1
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/cache_cli.py +18 -13
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/cli.py +131 -0
- simplicio_cli-0.16.2/simplicio/commands/edit.py +189 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/file_read.py +2 -2
- simplicio_cli-0.16.2/simplicio/commands/intake.py +236 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/memory.py +35 -2
- simplicio_cli-0.16.2/simplicio/commands/prototype.py +735 -0
- simplicio_cli-0.16.2/simplicio/commands/runtime.py +51 -0
- simplicio_cli-0.16.2/simplicio/commands/scenarios/claims-gate.json +68 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/status.py +45 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/task.py +6 -2
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/test_run.py +2 -6
- simplicio_cli-0.16.2/simplicio/commands/versions.py +149 -0
- simplicio_cli-0.16.2/simplicio/component_manifest.py +673 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/doctor.py +47 -0
- simplicio_cli-0.16.2/simplicio/evidence_ledger.py +275 -0
- simplicio_cli-0.16.2/simplicio/execution_contract.py +859 -0
- simplicio_cli-0.16.2/simplicio/hub_adapter.py +185 -0
- simplicio_cli-0.16.2/simplicio/map_view.py +455 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/mapper.py +74 -15
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/mechanical_edit.py +34 -9
- simplicio_cli-0.16.2/simplicio/memory_store.py +490 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/observability.py +76 -13
- simplicio_cli-0.16.2/simplicio/orchestrator/multi_task.py +637 -0
- simplicio_cli-0.16.2/simplicio/orientation_plan.py +392 -0
- simplicio_cli-0.16.2/simplicio/pipeline.py +704 -0
- simplicio_cli-0.16.2/simplicio/pipeline_integrated.py +171 -0
- simplicio_cli-0.16.2/simplicio/pipeline_stages.py +763 -0
- simplicio_cli-0.16.2/simplicio/pipeline_task_result.py +300 -0
- simplicio_cli-0.16.2/simplicio/plan_compiler/__init__.py +87 -0
- simplicio_cli-0.16.2/simplicio/plan_compiler/canonical_hash.py +18 -0
- simplicio_cli-0.16.2/simplicio/plan_compiler/compat_adapter.py +189 -0
- simplicio_cli-0.16.2/simplicio/plan_compiler/compile_task_spec.py +151 -0
- simplicio_cli-0.16.2/simplicio/plan_compiler/effect_sink.py +93 -0
- simplicio_cli-0.16.2/simplicio/plan_compiler/errors.py +27 -0
- simplicio_cli-0.16.2/simplicio/plan_compiler/models.py +436 -0
- simplicio_cli-0.16.2/simplicio/plan_discovery.py +424 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/precedent.py +8 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/prompt.py +37 -0
- simplicio_cli-0.16.2/simplicio/prompt_envelope.py +397 -0
- simplicio_cli-0.16.2/simplicio/provider_cache_receipt.py +138 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/providers.py +421 -44
- simplicio_cli-0.16.2/simplicio/runtime_async.py +137 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/runtime_bridge.py +19 -1
- simplicio_cli-0.16.2/simplicio/runtime_contracts.py +476 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/_pipeline_adapter.py +10 -1
- simplicio_cli-0.16.2/simplicio/task_operator.py +345 -0
- simplicio_cli-0.16.2/simplicio/task_spec.py +722 -0
- simplicio_cli-0.16.2/simplicio/transaction.py +431 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/utils/http_client.py +43 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2/simplicio_cli.egg-info}/PKG-INFO +70 -41
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio_cli.egg-info/SOURCES.txt +28 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio_cli.egg-info/requires.txt +10 -1
- simplicio_cli-0.11.0/simplicio/commands/edit.py +0 -78
- simplicio_cli-0.11.0/simplicio/commands/runtime.py +0 -30
- simplicio_cli-0.11.0/simplicio/memory_store.py +0 -205
- simplicio_cli-0.11.0/simplicio/pipeline.py +0 -578
- simplicio_cli-0.11.0/simplicio/runtime_contracts.py +0 -128
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/LICENSE +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/setup.cfg +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/_cache.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/adaptive.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/_shared.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/bench.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/cache.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/claims.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/detect.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/doctor.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/env_export.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/file.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/gate.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/index.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/init.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/inspect.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/nest.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/run.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/score_skill.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/smoke.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/test.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/commands/token.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/detect.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/dod.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/ecosystem.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/hardware.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/init.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/intent.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/local_models.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/mapper_api.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/orchestrator/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/orchestrator/cost_governor.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/orchestrator/feature.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/pipeline_fixers.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/py.typed +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/runtime_env.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/cli.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/go_gin.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/markdown_document.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/php_laravel.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/python_cst.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/python_fastapi.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/python_orm.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/python_pydantic.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/python_pytest.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/registry.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/rust_axum.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/types.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/executor.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/plan_schema.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/planner.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/recipes.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/skill_opt.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/scratch/stack_registry.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/skill_router.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/sprint_loader.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/SKILL.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/go-gin/admin-crud.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/go-gin/auth-jwt.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/php-laravel/admin-crud.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/php-laravel/auth-jwt.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/background-worker.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/file-upload.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/oauth-integration.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/scheduled-job.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/py-fastapi/websocket.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/rust-axum/admin-crud.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/rust-axum/auth-jwt.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/simplicio_prompt.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/bash-cli/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/Pages/Home.razor +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/controllers/health_controller.ex +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-cli/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-echo/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/go-gin/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/Application.java +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/HealthController.java +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/tree/src/test/java/com/example/HealthControllerTest.java +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/java-spring/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/js-express/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/java/com/example/app/MainActivity.kt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/res/values/styles.xml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/app/src/test/java/com/example/app/SmokeTest.kt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/tree/src/main/kotlin/com/example/Application.kt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/tree/src/test/kotlin/com/example/ApplicationTest.kt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/Application.kt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/HealthController.kt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/tree/src/test/kotlin/com/example/HealthControllerTest.kt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-cli/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-django/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/py-flask/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/react-vite/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-axum/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-cli/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/token_primitives.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/toon_codec.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/utils/__init__.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/utils/cache.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/utils/fs.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio/utils/serialization.py +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio_cli.egg-info/dependency_links.txt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio_cli.egg-info/entry_points.txt +0 -0
- {simplicio_cli-0.11.0 → simplicio_cli-0.16.2}/simplicio_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: simplicio-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.16.2
|
|
4
4
|
Summary: Portable task-to-code pipeline that works with any LLM. Turn a one-line task into a verified code change — diff + test + verify loop. +55 pts on a 156-check benchmark, 21% faster, ~same tokens.
|
|
5
5
|
Author-email: Wesley Simplicio <wesleybob4@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -28,12 +28,13 @@ Requires-Python: >=3.10
|
|
|
28
28
|
Description-Content-Type: text/markdown
|
|
29
29
|
License-File: LICENSE
|
|
30
30
|
Requires-Dist: numpy>=2.1.0
|
|
31
|
-
Requires-Dist: simplicio-mapper>=0.
|
|
31
|
+
Requires-Dist: simplicio-mapper>=0.24.1
|
|
32
32
|
Requires-Dist: simplicio-prompt>=1.14.1
|
|
33
33
|
Requires-Dist: httpx>=0.28.1
|
|
34
34
|
Requires-Dist: orjson>=3.11.9
|
|
35
35
|
Requires-Dist: diskcache>=5.6.3
|
|
36
36
|
Requires-Dist: libcst>=1.8.6
|
|
37
|
+
Requires-Dist: tiktoken<1,>=0.12.0
|
|
37
38
|
Provides-Extra: providers
|
|
38
39
|
Requires-Dist: anthropic>=0.112.0; extra == "providers"
|
|
39
40
|
Requires-Dist: openai>=2.44.0; extra == "providers"
|
|
@@ -44,13 +45,18 @@ Requires-Dist: fpdf2>=2.8.7; extra == "bench"
|
|
|
44
45
|
Provides-Extra: local
|
|
45
46
|
Requires-Dist: llama-cpp-python>=0.3.32; extra == "local"
|
|
46
47
|
Requires-Dist: huggingface-hub>=1.21.0; extra == "local"
|
|
48
|
+
Provides-Extra: performance
|
|
49
|
+
Requires-Dist: uvloop>=0.21.0; sys_platform != "win32" and extra == "performance"
|
|
47
50
|
Provides-Extra: all
|
|
48
51
|
Requires-Dist: simplicio-cli[providers]; extra == "all"
|
|
49
52
|
Requires-Dist: simplicio-cli[ml]; extra == "all"
|
|
50
53
|
Requires-Dist: simplicio-cli[bench]; extra == "all"
|
|
51
54
|
Requires-Dist: simplicio-cli[local]; extra == "all"
|
|
55
|
+
Requires-Dist: simplicio-cli[performance]; extra == "all"
|
|
52
56
|
Provides-Extra: test
|
|
53
57
|
Requires-Dist: pytest>=8; extra == "test"
|
|
58
|
+
Requires-Dist: pytest-cov>=7; extra == "test"
|
|
59
|
+
Requires-Dist: hypothesis>=6.100; extra == "test"
|
|
54
60
|
Requires-Dist: tomli>=2.0.1; python_version < "3.11" and extra == "test"
|
|
55
61
|
Provides-Extra: dev
|
|
56
62
|
Requires-Dist: simplicio-cli[test]; extra == "dev"
|
|
@@ -77,7 +83,11 @@ Dynamic: license-file
|
|
|
77
83
|
</p>
|
|
78
84
|
|
|
79
85
|
<p align="center">
|
|
80
|
-
<img src="output/imagegen/simplicio-cli-readme-hero-web.png" alt="simplicio-cli
|
|
86
|
+
<img src="output/imagegen/simplicio-cli-readme-hero-web.png" alt="simplicio-dev-cli execution pipeline" width="860" />
|
|
87
|
+
</p>
|
|
88
|
+
|
|
89
|
+
<p align="center">
|
|
90
|
+
<img src="output/imagegen/simplicio-cli-proof-receipt.png" alt="diff, tests, and verification receipt" width="760" />
|
|
81
91
|
</p>
|
|
82
92
|
|
|
83
93
|
---
|
|
@@ -88,7 +98,7 @@ Turn a one-line task into a verified code change: mapper context, six-layer cont
|
|
|
88
98
|
|
|
89
99
|
## Project DNA
|
|
90
100
|
|
|
91
|
-
simplicio-cli is
|
|
101
|
+
simplicio-dev-cli is the focused implementation and verification operator in the Simplicio ecosystem. It receives a decided task, loads repository context, applies a bounded diff, runs tests, and emits evidence that another operator can inspect. It is not the runtime, the mapper, or the LLM itself: it is the disciplined execution layer between a plan and a trustworthy change.
|
|
92
102
|
|
|
93
103
|
The new first screen is the doorway; the restored guide below is the workshop. This README should help a stranger understand the promise quickly and still give an operator enough depth to run, validate, and extend the project.
|
|
94
104
|
|
|
@@ -98,52 +108,61 @@ The new first screen is the doorway; the restored guide below is the workshop. T
|
|
|
98
108
|
pip install -U simplicio-cli
|
|
99
109
|
simplicio-py detect "hide the Delete button for non-admins"
|
|
100
110
|
simplicio-py task "hide the Delete button for non-admins"
|
|
111
|
+
simplicio-py --version --json
|
|
101
112
|
```
|
|
102
113
|
|
|
114
|
+
The JSON version handshake is the canonical identity surface for runtime/agent consumers. It
|
|
115
|
+
includes the package version, entrypoints, mapper version, and supported contract capabilities.
|
|
116
|
+
|
|
103
117
|
Auto-upgrade is now opt-in: set `SIMPLICIO_AUTO_UPGRADE=1` for session-start upgrades, or run `simplicio-py doctor --upgrade` explicitly.
|
|
104
118
|
Python consumers can expose the bundled mapper dependency directly with
|
|
105
119
|
`from simplicio import mapper_module, mapper_version` or `import simplicio.mapper_api`.
|
|
106
120
|
|
|
107
121
|
## What it does
|
|
108
122
|
|
|
109
|
-
-
|
|
110
|
-
- Loads simplicio-mapper
|
|
111
|
-
-
|
|
112
|
-
-
|
|
123
|
+
- Accepts a focused task from the runtime, agent, or CLI surface.
|
|
124
|
+
- Loads simplicio-mapper context and relevant precedent before an edit is attempted.
|
|
125
|
+
- Applies a bounded diff, runs the requested tests, and records a verification receipt.
|
|
126
|
+
- Leaves orchestration, model choice, and long-lived loop state to the surrounding Simplicio layers.
|
|
113
127
|
|
|
114
|
-
##
|
|
128
|
+
## The real product boundary
|
|
115
129
|
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
- copy-ready quick start
|
|
120
|
-
- proof before long reference material
|
|
121
|
-
- star history for social proof
|
|
130
|
+
- The CLI turns an already-decided engineering intention into a controlled change.
|
|
131
|
+
- The mapper supplies context; the operator supplies execution and proof.
|
|
132
|
+
- A green-looking diff is not enough: tests and evidence are part of the result.
|
|
122
133
|
|
|
123
134
|
## How it works
|
|
124
135
|
|
|
125
136
|
```mermaid
|
|
126
137
|
flowchart LR
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
138
|
+
task(["bounded task"])
|
|
139
|
+
subgraph install["SIMPLICIO-DEV-CLI 0.16.1 INSTALL SURFACE"]
|
|
140
|
+
mapper["simplicio-mapper 0.23.1<br/>context + precedent"]
|
|
141
|
+
operator["focused operator"]
|
|
142
|
+
diff["bounded diff"]
|
|
143
|
+
tests["tests + gates"]
|
|
144
|
+
end
|
|
145
|
+
subgraph proof["PROOF"]
|
|
146
|
+
receipt[("evidence receipt")]
|
|
147
|
+
end
|
|
148
|
+
task --> mapper --> operator
|
|
149
|
+
operator --> diff
|
|
150
|
+
operator --> tests
|
|
151
|
+
diff --> receipt
|
|
152
|
+
tests --> receipt
|
|
153
|
+
classDef input fill:#13233f,stroke:#79d8ff,color:#ffffff
|
|
154
|
+
classDef action fill:#102e2a,stroke:#48e0ae,color:#ffffff
|
|
155
|
+
classDef proofNode fill:#3a244e,stroke:#ffb86b,color:#ffffff
|
|
156
|
+
class task input
|
|
157
|
+
class mapper,operator,diff,tests action
|
|
158
|
+
class receipt proofNode
|
|
140
159
|
```
|
|
141
160
|
|
|
142
161
|
## Proof and validation
|
|
143
162
|
|
|
144
|
-
-
|
|
145
|
-
-
|
|
146
|
-
- The
|
|
163
|
+
- The package metadata and mapper handoff are covered by contract tests.
|
|
164
|
+
- Build, lint, test, and packaging gates are recorded with releases when available.
|
|
165
|
+
- The operator is designed to be called by simplicio-runtime, simplicio-loop, agents, or directly from the CLI.
|
|
147
166
|
|
|
148
167
|
## Simplicio ecosystem
|
|
149
168
|
|
|
@@ -158,8 +177,8 @@ delivery status"]
|
|
|
158
177
|
- [docs/PYTHON_PACKAGE_INTERDEPENDENCE.md](docs/PYTHON_PACKAGE_INTERDEPENDENCE.md) —
|
|
159
178
|
**generated, not hand-edited** (#101). Regenerate after touching
|
|
160
179
|
`pyproject.toml`'s version/dependencies/extras:
|
|
161
|
-
`python3 scripts/gen_package_interdependence.py`.
|
|
162
|
-
drifted (`python3 scripts/gen_package_interdependence.py --check`, also
|
|
180
|
+
`python3 scripts/gen_package_interdependence.py`. The local gate enforces it
|
|
181
|
+
hasn't drifted (`python3 scripts/gen_package_interdependence.py --check`, also
|
|
163
182
|
covered by `tests/python/test_generated_docs.py`).
|
|
164
183
|
- [docs/LLM_USAGE_POLICY.md](docs/LLM_USAGE_POLICY.md)
|
|
165
184
|
- [docs/readme-globalization-standard.md](docs/readme-globalization-standard.md)
|
|
@@ -168,13 +187,13 @@ delivery status"]
|
|
|
168
187
|
|
|
169
188
|
The section below restores the project-specific README material that existed before the globalization pass. Keep this substance when refreshing the top-level narrative: add polish, do not erase operational memory.
|
|
170
189
|
|
|
171
|
-
**
|
|
190
|
+
**A focused execution operator for turning decided engineering tasks into verified changes across LLM providers.**
|
|
172
191
|
|
|
173
192
|
[](https://pypi.org/project/simplicio-cli/)
|
|
174
193
|
[](https://pypi.org/project/simplicio-cli/)
|
|
175
194
|
[](LICENSE)
|
|
176
195
|
|
|
177
|
-
[](output/imagegen/simplicio-cli-readme-hero.png)
|
|
178
197
|
|
|
179
198
|
> *"hide the Delete button for non-admins"* → diff + test + applied + verified.
|
|
180
199
|
> **Zero API key inside Claude Code** (auto-installs, uses your subscription) — or
|
|
@@ -519,15 +538,18 @@ Missing an extra never crashes with a raw traceback — every optional import
|
|
|
519
538
|
is guarded and raises an actionable error naming the exact extra to install
|
|
520
539
|
(e.g. `pip install 'simplicio-cli[providers]'`).
|
|
521
540
|
|
|
522
|
-
#### Local
|
|
541
|
+
#### Local quality gate
|
|
523
542
|
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
543
|
+
GitHub Actions is disabled for this repository and `.github/workflows/` is
|
|
544
|
+
intentionally absent. The reproducible merge gate runs locally; attach its
|
|
545
|
+
command output to the pull request:
|
|
527
546
|
|
|
528
547
|
```bash
|
|
529
|
-
pip install -e ".[
|
|
530
|
-
|
|
548
|
+
python -m pip install -e ".[dev]" build twine
|
|
549
|
+
ruff check . && ruff format --check . && mypy simplicio
|
|
550
|
+
pytest --cov=simplicio --cov-report=json:coverage.json
|
|
551
|
+
python3 scripts/coverage_gate.py --report coverage.json
|
|
552
|
+
python3 scripts/token_budget.py --check
|
|
531
553
|
python3 scripts/gen_package_interdependence.py --check # generated-doc drift gate (#101)
|
|
532
554
|
simplicio-py --help # entrypoint smoke (x3)
|
|
533
555
|
simplicio-cli --help
|
|
@@ -640,6 +662,13 @@ cost_usd, diff_summary, warnings}`. Repeat `--bound-paths <glob>` to reject
|
|
|
640
662
|
diffs outside the allowed edit surface; violations are reported in `warnings`
|
|
641
663
|
and the command exits non-zero.
|
|
642
664
|
|
|
665
|
+
See [structured blocked-precondition receipts](docs/blocked-preconditions.md) for the JSON `status`, `blocked_preconditions`, `reason`, and `next_surface` contract.
|
|
666
|
+
See [patch receipts](docs/patch-receipts.md) for parser strategy, recovery fingerprint, and requested/effective capability evidence.
|
|
667
|
+
See [the evidence ledger](docs/evidence-ledger.md) for append-only AC/RN receipts and stale-artifact gates.
|
|
668
|
+
See [multi-task batches](docs/multi-task-batches.md) for deterministic DAG state and resumable transitions.
|
|
669
|
+
See [prompt envelopes](docs/prompt-envelopes.md) for layer budgets, stable prefix hashes, and typed retry deltas.
|
|
670
|
+
The deterministic delivery corpus is available with `python -m bench.run_delivery_corpus`.
|
|
671
|
+
|
|
643
672
|
#### Path 3 example — standalone with API key
|
|
644
673
|
|
|
645
674
|
```bash
|
|
@@ -17,7 +17,11 @@
|
|
|
17
17
|
</p>
|
|
18
18
|
|
|
19
19
|
<p align="center">
|
|
20
|
-
<img src="output/imagegen/simplicio-cli-readme-hero-web.png" alt="simplicio-cli
|
|
20
|
+
<img src="output/imagegen/simplicio-cli-readme-hero-web.png" alt="simplicio-dev-cli execution pipeline" width="860" />
|
|
21
|
+
</p>
|
|
22
|
+
|
|
23
|
+
<p align="center">
|
|
24
|
+
<img src="output/imagegen/simplicio-cli-proof-receipt.png" alt="diff, tests, and verification receipt" width="760" />
|
|
21
25
|
</p>
|
|
22
26
|
|
|
23
27
|
---
|
|
@@ -28,7 +32,7 @@ Turn a one-line task into a verified code change: mapper context, six-layer cont
|
|
|
28
32
|
|
|
29
33
|
## Project DNA
|
|
30
34
|
|
|
31
|
-
simplicio-cli is
|
|
35
|
+
simplicio-dev-cli is the focused implementation and verification operator in the Simplicio ecosystem. It receives a decided task, loads repository context, applies a bounded diff, runs tests, and emits evidence that another operator can inspect. It is not the runtime, the mapper, or the LLM itself: it is the disciplined execution layer between a plan and a trustworthy change.
|
|
32
36
|
|
|
33
37
|
The new first screen is the doorway; the restored guide below is the workshop. This README should help a stranger understand the promise quickly and still give an operator enough depth to run, validate, and extend the project.
|
|
34
38
|
|
|
@@ -38,52 +42,61 @@ The new first screen is the doorway; the restored guide below is the workshop. T
|
|
|
38
42
|
pip install -U simplicio-cli
|
|
39
43
|
simplicio-py detect "hide the Delete button for non-admins"
|
|
40
44
|
simplicio-py task "hide the Delete button for non-admins"
|
|
45
|
+
simplicio-py --version --json
|
|
41
46
|
```
|
|
42
47
|
|
|
48
|
+
The JSON version handshake is the canonical identity surface for runtime/agent consumers. It
|
|
49
|
+
includes the package version, entrypoints, mapper version, and supported contract capabilities.
|
|
50
|
+
|
|
43
51
|
Auto-upgrade is now opt-in: set `SIMPLICIO_AUTO_UPGRADE=1` for session-start upgrades, or run `simplicio-py doctor --upgrade` explicitly.
|
|
44
52
|
Python consumers can expose the bundled mapper dependency directly with
|
|
45
53
|
`from simplicio import mapper_module, mapper_version` or `import simplicio.mapper_api`.
|
|
46
54
|
|
|
47
55
|
## What it does
|
|
48
56
|
|
|
49
|
-
-
|
|
50
|
-
- Loads simplicio-mapper
|
|
51
|
-
-
|
|
52
|
-
-
|
|
57
|
+
- Accepts a focused task from the runtime, agent, or CLI surface.
|
|
58
|
+
- Loads simplicio-mapper context and relevant precedent before an edit is attempted.
|
|
59
|
+
- Applies a bounded diff, runs the requested tests, and records a verification receipt.
|
|
60
|
+
- Leaves orchestration, model choice, and long-lived loop state to the surrounding Simplicio layers.
|
|
53
61
|
|
|
54
|
-
##
|
|
62
|
+
## The real product boundary
|
|
55
63
|
|
|
56
|
-
-
|
|
57
|
-
-
|
|
58
|
-
-
|
|
59
|
-
- copy-ready quick start
|
|
60
|
-
- proof before long reference material
|
|
61
|
-
- star history for social proof
|
|
64
|
+
- The CLI turns an already-decided engineering intention into a controlled change.
|
|
65
|
+
- The mapper supplies context; the operator supplies execution and proof.
|
|
66
|
+
- A green-looking diff is not enough: tests and evidence are part of the result.
|
|
62
67
|
|
|
63
68
|
## How it works
|
|
64
69
|
|
|
65
70
|
```mermaid
|
|
66
71
|
flowchart LR
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
72
|
+
task(["bounded task"])
|
|
73
|
+
subgraph install["SIMPLICIO-DEV-CLI 0.16.1 INSTALL SURFACE"]
|
|
74
|
+
mapper["simplicio-mapper 0.23.1<br/>context + precedent"]
|
|
75
|
+
operator["focused operator"]
|
|
76
|
+
diff["bounded diff"]
|
|
77
|
+
tests["tests + gates"]
|
|
78
|
+
end
|
|
79
|
+
subgraph proof["PROOF"]
|
|
80
|
+
receipt[("evidence receipt")]
|
|
81
|
+
end
|
|
82
|
+
task --> mapper --> operator
|
|
83
|
+
operator --> diff
|
|
84
|
+
operator --> tests
|
|
85
|
+
diff --> receipt
|
|
86
|
+
tests --> receipt
|
|
87
|
+
classDef input fill:#13233f,stroke:#79d8ff,color:#ffffff
|
|
88
|
+
classDef action fill:#102e2a,stroke:#48e0ae,color:#ffffff
|
|
89
|
+
classDef proofNode fill:#3a244e,stroke:#ffb86b,color:#ffffff
|
|
90
|
+
class task input
|
|
91
|
+
class mapper,operator,diff,tests action
|
|
92
|
+
class receipt proofNode
|
|
80
93
|
```
|
|
81
94
|
|
|
82
95
|
## Proof and validation
|
|
83
96
|
|
|
84
|
-
-
|
|
85
|
-
-
|
|
86
|
-
- The
|
|
97
|
+
- The package metadata and mapper handoff are covered by contract tests.
|
|
98
|
+
- Build, lint, test, and packaging gates are recorded with releases when available.
|
|
99
|
+
- The operator is designed to be called by simplicio-runtime, simplicio-loop, agents, or directly from the CLI.
|
|
87
100
|
|
|
88
101
|
## Simplicio ecosystem
|
|
89
102
|
|
|
@@ -98,8 +111,8 @@ delivery status"]
|
|
|
98
111
|
- [docs/PYTHON_PACKAGE_INTERDEPENDENCE.md](docs/PYTHON_PACKAGE_INTERDEPENDENCE.md) —
|
|
99
112
|
**generated, not hand-edited** (#101). Regenerate after touching
|
|
100
113
|
`pyproject.toml`'s version/dependencies/extras:
|
|
101
|
-
`python3 scripts/gen_package_interdependence.py`.
|
|
102
|
-
drifted (`python3 scripts/gen_package_interdependence.py --check`, also
|
|
114
|
+
`python3 scripts/gen_package_interdependence.py`. The local gate enforces it
|
|
115
|
+
hasn't drifted (`python3 scripts/gen_package_interdependence.py --check`, also
|
|
103
116
|
covered by `tests/python/test_generated_docs.py`).
|
|
104
117
|
- [docs/LLM_USAGE_POLICY.md](docs/LLM_USAGE_POLICY.md)
|
|
105
118
|
- [docs/readme-globalization-standard.md](docs/readme-globalization-standard.md)
|
|
@@ -108,13 +121,13 @@ delivery status"]
|
|
|
108
121
|
|
|
109
122
|
The section below restores the project-specific README material that existed before the globalization pass. Keep this substance when refreshing the top-level narrative: add polish, do not erase operational memory.
|
|
110
123
|
|
|
111
|
-
**
|
|
124
|
+
**A focused execution operator for turning decided engineering tasks into verified changes across LLM providers.**
|
|
112
125
|
|
|
113
126
|
[](https://pypi.org/project/simplicio-cli/)
|
|
114
127
|
[](https://pypi.org/project/simplicio-cli/)
|
|
115
128
|
[](LICENSE)
|
|
116
129
|
|
|
117
|
-
[](output/imagegen/simplicio-cli-readme-hero.png)
|
|
118
131
|
|
|
119
132
|
> *"hide the Delete button for non-admins"* → diff + test + applied + verified.
|
|
120
133
|
> **Zero API key inside Claude Code** (auto-installs, uses your subscription) — or
|
|
@@ -459,15 +472,18 @@ Missing an extra never crashes with a raw traceback — every optional import
|
|
|
459
472
|
is guarded and raises an actionable error naming the exact extra to install
|
|
460
473
|
(e.g. `pip install 'simplicio-cli[providers]'`).
|
|
461
474
|
|
|
462
|
-
#### Local
|
|
475
|
+
#### Local quality gate
|
|
463
476
|
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
477
|
+
GitHub Actions is disabled for this repository and `.github/workflows/` is
|
|
478
|
+
intentionally absent. The reproducible merge gate runs locally; attach its
|
|
479
|
+
command output to the pull request:
|
|
467
480
|
|
|
468
481
|
```bash
|
|
469
|
-
pip install -e ".[
|
|
470
|
-
|
|
482
|
+
python -m pip install -e ".[dev]" build twine
|
|
483
|
+
ruff check . && ruff format --check . && mypy simplicio
|
|
484
|
+
pytest --cov=simplicio --cov-report=json:coverage.json
|
|
485
|
+
python3 scripts/coverage_gate.py --report coverage.json
|
|
486
|
+
python3 scripts/token_budget.py --check
|
|
471
487
|
python3 scripts/gen_package_interdependence.py --check # generated-doc drift gate (#101)
|
|
472
488
|
simplicio-py --help # entrypoint smoke (x3)
|
|
473
489
|
simplicio-cli --help
|
|
@@ -580,6 +596,13 @@ cost_usd, diff_summary, warnings}`. Repeat `--bound-paths <glob>` to reject
|
|
|
580
596
|
diffs outside the allowed edit surface; violations are reported in `warnings`
|
|
581
597
|
and the command exits non-zero.
|
|
582
598
|
|
|
599
|
+
See [structured blocked-precondition receipts](docs/blocked-preconditions.md) for the JSON `status`, `blocked_preconditions`, `reason`, and `next_surface` contract.
|
|
600
|
+
See [patch receipts](docs/patch-receipts.md) for parser strategy, recovery fingerprint, and requested/effective capability evidence.
|
|
601
|
+
See [the evidence ledger](docs/evidence-ledger.md) for append-only AC/RN receipts and stale-artifact gates.
|
|
602
|
+
See [multi-task batches](docs/multi-task-batches.md) for deterministic DAG state and resumable transitions.
|
|
603
|
+
See [prompt envelopes](docs/prompt-envelopes.md) for layer budgets, stable prefix hashes, and typed retry deltas.
|
|
604
|
+
The deterministic delivery corpus is available with `python -m bench.run_delivery_corpus`.
|
|
605
|
+
|
|
583
606
|
#### Path 3 example — standalone with API key
|
|
584
607
|
|
|
585
608
|
```bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "simplicio-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.16.2"
|
|
4
4
|
description = "Portable task-to-code pipeline that works with any LLM. Turn a one-line task into a verified code change — diff + test + verify loop. +55 pts on a 156-check benchmark, 21% faster, ~same tokens."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = { text = "MIT" }
|
|
@@ -53,12 +53,13 @@ classifiers = [
|
|
|
53
53
|
# (generated, `--check`-able) for the full graph and #99 for the audit.
|
|
54
54
|
dependencies = [
|
|
55
55
|
"numpy>=2.1.0",
|
|
56
|
-
"simplicio-mapper>=0.
|
|
56
|
+
"simplicio-mapper>=0.24.1",
|
|
57
57
|
"simplicio-prompt>=1.14.1",
|
|
58
58
|
"httpx>=0.28.1",
|
|
59
59
|
"orjson>=3.11.9",
|
|
60
60
|
"diskcache>=5.6.3",
|
|
61
61
|
"libcst>=1.8.6",
|
|
62
|
+
"tiktoken>=0.12.0,<1",
|
|
62
63
|
]
|
|
63
64
|
|
|
64
65
|
[project.optional-dependencies]
|
|
@@ -74,15 +75,31 @@ bench = ["fpdf2>=2.8.7"]
|
|
|
74
75
|
# Offline fallback in-process inference. Pulls the llama.cpp Python bindings
|
|
75
76
|
# plus huggingface-hub to fetch MiniCPM5-1B-Q4_K_M.gguf.
|
|
76
77
|
local = ["llama-cpp-python>=0.3.32", "huggingface-hub>=1.21.0"]
|
|
78
|
+
# Opt-in faster asyncio event loop for the structured-concurrency runtime
|
|
79
|
+
# (simplicio.runtime_async, issue #212). Never required: `install_uvloop()`
|
|
80
|
+
# no-ops on Windows or when this extra is absent, falling back to stdlib
|
|
81
|
+
# asyncio.
|
|
82
|
+
performance = ["uvloop>=0.21.0; sys_platform != 'win32'"]
|
|
77
83
|
all = [
|
|
78
84
|
"simplicio-cli[providers]",
|
|
79
85
|
"simplicio-cli[ml]",
|
|
80
86
|
"simplicio-cli[bench]",
|
|
81
87
|
"simplicio-cli[local]",
|
|
88
|
+
"simplicio-cli[performance]",
|
|
82
89
|
]
|
|
83
90
|
# CI/dev-only, not a product extra: pytest to run tests/python, plus tomli
|
|
84
91
|
# on 3.10 (tomllib is stdlib only from 3.11+; several tests parse this file).
|
|
85
|
-
|
|
92
|
+
# pytest-cov (#202) backs the coverage gate: `scripts/coverage_gate.py`
|
|
93
|
+
# consumes the `coverage.json` report this generates. hypothesis backs
|
|
94
|
+
# property-based tests (e.g. tests/python/test_mechanical_edit.py's
|
|
95
|
+
# operation-ordering invariant, DoD Camada 2 issue #246) that fuzz random
|
|
96
|
+
# plan shapes instead of only asserting the one hand-written regression case.
|
|
97
|
+
test = [
|
|
98
|
+
"pytest>=8",
|
|
99
|
+
"pytest-cov>=7",
|
|
100
|
+
"hypothesis>=6.100",
|
|
101
|
+
"tomli>=2.0.1; python_version < '3.11'",
|
|
102
|
+
]
|
|
86
103
|
# CI/dev-only lint+type gate (#102): never a base/product dependency.
|
|
87
104
|
# `ruff format --check .` / `ruff check .` / `mypy simplicio` is the local
|
|
88
105
|
# command (see CONTRIBUTING.md / AGENTS.md "Comandos importantes").
|
|
@@ -118,12 +135,61 @@ simplicio = [
|
|
|
118
135
|
"templates/stacks/**/*",
|
|
119
136
|
"templates/stacks/*/tree/.gitignore",
|
|
120
137
|
"templates/stacks/*/tree/.eslintrc.json",
|
|
138
|
+
# `score-skill` loads these builtin scenario fixtures at runtime from
|
|
139
|
+
# Path(__file__).resolve().parent / "scenarios" (see
|
|
140
|
+
# simplicio/commands/score_skill.py:_resolve_scenarios). Without this
|
|
141
|
+
# entry the wheel ships score_skill.py but not its data, so an installed
|
|
142
|
+
# `simplicio-py score-skill` with no --scenario silently fails outside the
|
|
143
|
+
# checkout (#167 AC "Package instalado contem docs/schemas esperados").
|
|
144
|
+
"commands/scenarios/*.json",
|
|
121
145
|
]
|
|
122
146
|
|
|
123
147
|
[tool.pytest.ini_options]
|
|
124
148
|
pythonpath = ["."]
|
|
125
149
|
testpaths = ["tests/python", "tests/contracts"]
|
|
126
150
|
|
|
151
|
+
# --------------------------------------------------------------------------- #
|
|
152
|
+
# Coverage gate (#202): 85% global, 90% on the "critical" modules listed in
|
|
153
|
+
# `[tool.coverage.simplicio_critical]` below. `scripts/coverage_gate.py`
|
|
154
|
+
# enforces both numbers from the `coverage.json` report; the plain
|
|
155
|
+
# `fail_under` here is a second, redundant floor so a local
|
|
156
|
+
# `pytest --cov=simplicio --cov-fail-under=85` also fails fast without
|
|
157
|
+
# needing the extra script.
|
|
158
|
+
[tool.coverage.run]
|
|
159
|
+
source = ["simplicio"]
|
|
160
|
+
branch = true
|
|
161
|
+
omit = [
|
|
162
|
+
"simplicio/templates/*",
|
|
163
|
+
"*/tests/*",
|
|
164
|
+
]
|
|
165
|
+
|
|
166
|
+
[tool.coverage.report]
|
|
167
|
+
fail_under = 85
|
|
168
|
+
show_missing = true
|
|
169
|
+
skip_covered = false
|
|
170
|
+
exclude_lines = [
|
|
171
|
+
"pragma: no cover",
|
|
172
|
+
"if TYPE_CHECKING:",
|
|
173
|
+
"raise NotImplementedError",
|
|
174
|
+
"def __repr__",
|
|
175
|
+
]
|
|
176
|
+
|
|
177
|
+
# Not a standard coverage.py table -- read only by scripts/coverage_gate.py
|
|
178
|
+
# to apply the stricter 90% floor from issue #202 ("coverage crítico") to
|
|
179
|
+
# the modules an agent/task pipeline run always exercises: CLI entrypoint,
|
|
180
|
+
# the pipeline/mechanical-edit/mapper core, and the doctor/execution
|
|
181
|
+
# contracts that gate every run.
|
|
182
|
+
[tool.coverage.simplicio_critical]
|
|
183
|
+
threshold = 90
|
|
184
|
+
modules = [
|
|
185
|
+
"simplicio/cli.py",
|
|
186
|
+
"simplicio/pipeline.py",
|
|
187
|
+
"simplicio/mechanical_edit.py",
|
|
188
|
+
"simplicio/mapper.py",
|
|
189
|
+
"simplicio/execution_contract.py",
|
|
190
|
+
"simplicio/doctor.py",
|
|
191
|
+
]
|
|
192
|
+
|
|
127
193
|
# --------------------------------------------------------------------------- #
|
|
128
194
|
# Lint / type gate (#102). Dev-only tooling — see the `dev` extra above.
|
|
129
195
|
# Baseline is intentionally permissive (not `mypy --strict`); documented here
|
|
@@ -26,7 +26,14 @@ def _test(output: str, root: str, test_cmd: str) -> bool:
|
|
|
26
26
|
os.makedirs(os.path.join(root, ".simplicio"), exist_ok=True)
|
|
27
27
|
Path(root, ".simplicio", "bench_out.txt").write_text(output or "", encoding="utf-8")
|
|
28
28
|
test_cmd = wrap_project_command(root, test_cmd)
|
|
29
|
-
p = subprocess.run(
|
|
29
|
+
p = subprocess.run(
|
|
30
|
+
test_cmd,
|
|
31
|
+
shell=True,
|
|
32
|
+
cwd=root,
|
|
33
|
+
stdin=subprocess.DEVNULL,
|
|
34
|
+
capture_output=True,
|
|
35
|
+
text=True,
|
|
36
|
+
)
|
|
30
37
|
return p.returncode == 0
|
|
31
38
|
|
|
32
39
|
|
|
@@ -15,6 +15,14 @@ import os
|
|
|
15
15
|
import numpy as np
|
|
16
16
|
|
|
17
17
|
|
|
18
|
+
class EmbeddingCacheMissError(KeyError):
|
|
19
|
+
"""Raised by EmbeddingCache.lookup() when one or more texts have no cached
|
|
20
|
+
vector yet (e.g. embedding indexing was skipped/disabled). Callers should
|
|
21
|
+
check whether indexing is enabled before calling lookup(); this exists as
|
|
22
|
+
a defensive guard so a miss surfaces as a clear, actionable error instead
|
|
23
|
+
of a raw KeyError on an opaque hash string."""
|
|
24
|
+
|
|
25
|
+
|
|
18
26
|
class EmbeddingCache:
|
|
19
27
|
def __init__(self, root):
|
|
20
28
|
self.dir = os.path.join(root, ".simplicio")
|
|
@@ -54,7 +62,21 @@ class EmbeddingCache:
|
|
|
54
62
|
self.index[self.h(t)] = base + i
|
|
55
63
|
|
|
56
64
|
def lookup(self, texts):
|
|
57
|
-
"""Returns a matrix of vectors in the texts' order (all already cached).
|
|
65
|
+
"""Returns a matrix of vectors in the texts' order (all already cached).
|
|
66
|
+
|
|
67
|
+
Raises EmbeddingCacheMissError (a KeyError subclass) instead of a raw
|
|
68
|
+
KeyError when a text's hash isn't cached yet, so callers get an
|
|
69
|
+
actionable message instead of an opaque hash lookup failure.
|
|
70
|
+
"""
|
|
71
|
+
missing = [t for t in texts if self.h(t) not in self.index]
|
|
72
|
+
if missing:
|
|
73
|
+
raise EmbeddingCacheMissError(
|
|
74
|
+
f"{len(missing)} of {len(texts)} text block(s) are not in the "
|
|
75
|
+
"embedding cache yet. This usually means embedding indexing "
|
|
76
|
+
"was skipped (SIMPLICIO_ENABLE_EMBED_INDEX not set) or the "
|
|
77
|
+
"cache is stale. Enable indexing and re-run index_repo(), or "
|
|
78
|
+
"avoid calling lookup() when indexing is disabled."
|
|
79
|
+
)
|
|
58
80
|
rows = [self.index[self.h(t)] for t in texts]
|
|
59
81
|
return self.vectors[rows]
|
|
60
82
|
|
|
@@ -18,30 +18,35 @@ from ._cache import cache
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
def _cmd_stats(args: argparse.Namespace) -> int:
|
|
21
|
+
# cache().stats() returns a plain dict (see _cache.py's Cache.stats):
|
|
22
|
+
# entries/bytes/root/enabled/bust/oldest_age_s, not an object with
|
|
23
|
+
# attributes — accessing it as `s.entries` etc. raised AttributeError
|
|
24
|
+
# on every invocation of this command.
|
|
21
25
|
s = cache().stats()
|
|
26
|
+
oldest_age_days = round(s["oldest_age_s"] / 86400, 2) if s["oldest_age_s"] is not None else None
|
|
22
27
|
if args.json:
|
|
23
28
|
print(
|
|
24
29
|
json.dumps(
|
|
25
30
|
{
|
|
26
|
-
"entries": s
|
|
27
|
-
"size_bytes": s
|
|
28
|
-
"size_mb":
|
|
29
|
-
"oldest_age_days":
|
|
30
|
-
"enabled": s
|
|
31
|
-
"bust_active": s
|
|
32
|
-
"root": s
|
|
31
|
+
"entries": s["entries"],
|
|
32
|
+
"size_bytes": s["bytes"],
|
|
33
|
+
"size_mb": s["mb"],
|
|
34
|
+
"oldest_age_days": oldest_age_days,
|
|
35
|
+
"enabled": s["enabled"],
|
|
36
|
+
"bust_active": s["bust"],
|
|
37
|
+
"root": s["root"],
|
|
33
38
|
},
|
|
34
39
|
indent=2,
|
|
35
40
|
)
|
|
36
41
|
)
|
|
37
42
|
return 0
|
|
38
43
|
print("simplicio-py cache stats")
|
|
39
|
-
print(f" root {s
|
|
40
|
-
print(f" enabled {'yes' if s
|
|
41
|
-
print(f" bust active {'YES (SIMPLICIO_BUST_CACHE=1)' if s
|
|
42
|
-
print(f" entries {s
|
|
43
|
-
print(f" size {s
|
|
44
|
-
print(f" oldest entry {
|
|
44
|
+
print(f" root {s['root']}")
|
|
45
|
+
print(f" enabled {'yes' if s['enabled'] else 'no (SIMPLICIO_CACHE=0)'}")
|
|
46
|
+
print(f" bust active {'YES (SIMPLICIO_BUST_CACHE=1)' if s['bust'] else 'no'}")
|
|
47
|
+
print(f" entries {s['entries']}")
|
|
48
|
+
print(f" size {s['mb']:.2f} MB")
|
|
49
|
+
print(f" oldest entry {oldest_age_days} days")
|
|
45
50
|
return 0
|
|
46
51
|
|
|
47
52
|
|