simplicio-cli 0.10.0__tar.gz → 0.16.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.
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/PKG-INFO +15 -4
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/README.md +23 -12
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/pyproject.toml +19 -12
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/__init__.py +5 -5
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/bench.py +8 -1
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/cli.py +91 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/__init__.py +11 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/edit.py +13 -1
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/file_read.py +21 -12
- simplicio_cli-0.16.1/simplicio/commands/intake.py +236 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/memory.py +35 -2
- simplicio_cli-0.16.1/simplicio/commands/runtime.py +51 -0
- simplicio_cli-0.16.1/simplicio/commands/scenarios/claims-gate.json +68 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/status.py +45 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/task.py +6 -2
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/test_run.py +21 -17
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/doctor.py +24 -1
- simplicio_cli-0.16.1/simplicio/evidence_ledger.py +275 -0
- simplicio_cli-0.16.1/simplicio/execution_contract.py +859 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/mapper.py +32 -9
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/mapper_api.py +34 -34
- simplicio_cli-0.16.1/simplicio/memory_store.py +490 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/observability.py +110 -0
- simplicio_cli-0.16.1/simplicio/orchestrator/multi_task.py +621 -0
- simplicio_cli-0.16.1/simplicio/orientation_plan.py +392 -0
- simplicio_cli-0.16.1/simplicio/pipeline.py +579 -0
- simplicio_cli-0.16.1/simplicio/pipeline_integrated.py +171 -0
- simplicio_cli-0.16.1/simplicio/pipeline_stages.py +622 -0
- simplicio_cli-0.16.1/simplicio/pipeline_task_result.py +256 -0
- simplicio_cli-0.16.1/simplicio/plan_compiler/__init__.py +87 -0
- simplicio_cli-0.16.1/simplicio/plan_compiler/canonical_hash.py +18 -0
- simplicio_cli-0.16.1/simplicio/plan_compiler/compat_adapter.py +184 -0
- simplicio_cli-0.16.1/simplicio/plan_compiler/compile_task_spec.py +151 -0
- simplicio_cli-0.16.1/simplicio/plan_compiler/effect_sink.py +93 -0
- simplicio_cli-0.16.1/simplicio/plan_compiler/errors.py +27 -0
- simplicio_cli-0.16.1/simplicio/plan_compiler/models.py +436 -0
- simplicio_cli-0.16.1/simplicio/plan_discovery.py +424 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/prompt.py +37 -0
- simplicio_cli-0.16.1/simplicio/prompt_envelope.py +397 -0
- simplicio_cli-0.16.1/simplicio/provider_cache_receipt.py +138 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/providers.py +322 -14
- simplicio_cli-0.16.1/simplicio/runtime_bridge.py +199 -0
- simplicio_cli-0.16.1/simplicio/runtime_contracts.py +394 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/runtime_env.py +117 -117
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/_pipeline_adapter.py +10 -1
- simplicio_cli-0.16.1/simplicio/task_spec.py +722 -0
- simplicio_cli-0.16.1/simplicio/transaction.py +431 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/utils/fs.py +27 -27
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio_cli.egg-info/PKG-INFO +15 -4
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio_cli.egg-info/SOURCES.txt +21 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio_cli.egg-info/requires.txt +1 -1
- simplicio_cli-0.10.0/simplicio/commands/runtime.py +0 -30
- simplicio_cli-0.10.0/simplicio/memory_store.py +0 -205
- simplicio_cli-0.10.0/simplicio/pipeline.py +0 -578
- simplicio_cli-0.10.0/simplicio/runtime_bridge.py +0 -101
- simplicio_cli-0.10.0/simplicio/runtime_contracts.py +0 -128
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/LICENSE +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/setup.cfg +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/_cache.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/adaptive.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/cache.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/cache_cli.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/_shared.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/bench.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/cache.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/claims.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/detect.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/doctor.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/env_export.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/file.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/gate.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/index.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/init.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/inspect.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/nest.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/run.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/score_skill.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/smoke.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/test.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/commands/token.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/detect.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/dod.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/ecosystem.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/hardware.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/init.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/intent.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/local_models.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/mechanical_edit.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/orchestrator/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/orchestrator/cost_governor.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/orchestrator/feature.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/pipeline_fixers.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/precedent.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/py.typed +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/cli.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/go_gin.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/markdown_document.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/php_laravel.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/python_cst.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/python_fastapi.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/python_orm.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/python_pydantic.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/python_pytest.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/registry.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/rust_axum.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/types.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/executor.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/plan_schema.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/planner.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/recipes.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/skill_opt.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/scratch/stack_registry.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/skill_router.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/sprint_loader.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/SKILL.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/go-gin/admin-crud.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/go-gin/auth-jwt.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/php-laravel/admin-crud.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/php-laravel/auth-jwt.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/background-worker.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/file-upload.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/oauth-integration.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/scheduled-job.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/py-fastapi/websocket.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/rust-axum/admin-crud.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/rust-axum/auth-jwt.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/simplicio_prompt.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/bash-cli/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/Pages/Home.razor +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/controllers/health_controller.ex +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-cli/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-echo/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/go-gin/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/Application.java +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/HealthController.java +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/tree/src/test/java/com/example/HealthControllerTest.java +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/java-spring/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/js-express/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/java/com/example/app/MainActivity.kt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/res/values/styles.xml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/app/src/test/java/com/example/app/SmokeTest.kt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/tree/src/main/kotlin/com/example/Application.kt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/tree/src/test/kotlin/com/example/ApplicationTest.kt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/Application.kt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/HealthController.kt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/tree/src/test/kotlin/com/example/HealthControllerTest.kt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-cli/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-django/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/py-flask/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/react-vite/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-axum/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-cli/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/token_primitives.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/toon_codec.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/utils/__init__.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/utils/cache.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/utils/http_client.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio/utils/serialization.py +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio_cli.egg-info/dependency_links.txt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/simplicio_cli.egg-info/entry_points.txt +0 -0
- {simplicio_cli-0.10.0 → simplicio_cli-0.16.1}/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.1
|
|
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,7 +28,7 @@ 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.23.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
|
|
@@ -98,8 +98,12 @@ The new first screen is the doorway; the restored guide below is the workshop. T
|
|
|
98
98
|
pip install -U simplicio-cli
|
|
99
99
|
simplicio-py detect "hide the Delete button for non-admins"
|
|
100
100
|
simplicio-py task "hide the Delete button for non-admins"
|
|
101
|
+
simplicio-py --version --json
|
|
101
102
|
```
|
|
102
103
|
|
|
104
|
+
The JSON version handshake is the canonical identity surface for runtime/agent consumers. It
|
|
105
|
+
includes the package version, entrypoints, mapper version, and supported contract capabilities.
|
|
106
|
+
|
|
103
107
|
Auto-upgrade is now opt-in: set `SIMPLICIO_AUTO_UPGRADE=1` for session-start upgrades, or run `simplicio-py doctor --upgrade` explicitly.
|
|
104
108
|
Python consumers can expose the bundled mapper dependency directly with
|
|
105
109
|
`from simplicio import mapper_module, mapper_version` or `import simplicio.mapper_api`.
|
|
@@ -109,7 +113,7 @@ Python consumers can expose the bundled mapper dependency directly with
|
|
|
109
113
|
- Classifies the task before execution so small fixes stay small and sprint-scale work becomes a plan.
|
|
110
114
|
- Loads simplicio-mapper artifacts before asking an LLM to edit.
|
|
111
115
|
- Keeps a verification loop around generated diffs instead of trusting the first answer.
|
|
112
|
-
- Works with local Simplicio1, OpenRouter, OpenAI, Anthropic, DeepSeek,
|
|
116
|
+
- Works with local Simplicio1, OpenRouter, OpenAI, Anthropic, DeepSeek, Simplicio Agent, Codex and Claude-style hosts.
|
|
113
117
|
|
|
114
118
|
## Why this README is built to earn attention
|
|
115
119
|
|
|
@@ -168,7 +172,7 @@ delivery status"]
|
|
|
168
172
|
|
|
169
173
|
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
174
|
|
|
171
|
-
**Your tasks with 99% accuracy using any LLM (Claude, DeepSeek, Codex, Gemini,
|
|
175
|
+
**Your tasks with 99% accuracy using any LLM (Claude, DeepSeek, Codex, Gemini, Simplicio Agent, OpenClaw, Cursor).**
|
|
172
176
|
|
|
173
177
|
[](https://pypi.org/project/simplicio-cli/)
|
|
174
178
|
[](https://pypi.org/project/simplicio-cli/)
|
|
@@ -640,6 +644,13 @@ cost_usd, diff_summary, warnings}`. Repeat `--bound-paths <glob>` to reject
|
|
|
640
644
|
diffs outside the allowed edit surface; violations are reported in `warnings`
|
|
641
645
|
and the command exits non-zero.
|
|
642
646
|
|
|
647
|
+
See [structured blocked-precondition receipts](docs/blocked-preconditions.md) for the JSON `status`, `blocked_preconditions`, `reason`, and `next_surface` contract.
|
|
648
|
+
See [patch receipts](docs/patch-receipts.md) for parser strategy, recovery fingerprint, and requested/effective capability evidence.
|
|
649
|
+
See [the evidence ledger](docs/evidence-ledger.md) for append-only AC/RN receipts and stale-artifact gates.
|
|
650
|
+
See [multi-task batches](docs/multi-task-batches.md) for deterministic DAG state and resumable transitions.
|
|
651
|
+
See [prompt envelopes](docs/prompt-envelopes.md) for layer budgets, stable prefix hashes, and typed retry deltas.
|
|
652
|
+
The deterministic delivery corpus is available with `python -m bench.run_delivery_corpus`.
|
|
653
|
+
|
|
643
654
|
#### Path 3 example — standalone with API key
|
|
644
655
|
|
|
645
656
|
```bash
|
|
@@ -34,22 +34,26 @@ The new first screen is the doorway; the restored guide below is the workshop. T
|
|
|
34
34
|
|
|
35
35
|
## Quick Start
|
|
36
36
|
|
|
37
|
-
```bash
|
|
38
|
-
pip install -U simplicio-cli
|
|
39
|
-
simplicio-py detect "hide the Delete button for non-admins"
|
|
40
|
-
simplicio-py task "hide the Delete button for non-admins"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
37
|
+
```bash
|
|
38
|
+
pip install -U simplicio-cli
|
|
39
|
+
simplicio-py detect "hide the Delete button for non-admins"
|
|
40
|
+
simplicio-py task "hide the Delete button for non-admins"
|
|
41
|
+
simplicio-py --version --json
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
The JSON version handshake is the canonical identity surface for runtime/agent consumers. It
|
|
45
|
+
includes the package version, entrypoints, mapper version, and supported contract capabilities.
|
|
46
|
+
|
|
47
|
+
Auto-upgrade is now opt-in: set `SIMPLICIO_AUTO_UPGRADE=1` for session-start upgrades, or run `simplicio-py doctor --upgrade` explicitly.
|
|
48
|
+
Python consumers can expose the bundled mapper dependency directly with
|
|
49
|
+
`from simplicio import mapper_module, mapper_version` or `import simplicio.mapper_api`.
|
|
46
50
|
|
|
47
51
|
## What it does
|
|
48
52
|
|
|
49
53
|
- Classifies the task before execution so small fixes stay small and sprint-scale work becomes a plan.
|
|
50
54
|
- Loads simplicio-mapper artifacts before asking an LLM to edit.
|
|
51
55
|
- Keeps a verification loop around generated diffs instead of trusting the first answer.
|
|
52
|
-
- Works with local Simplicio1, OpenRouter, OpenAI, Anthropic, DeepSeek,
|
|
56
|
+
- Works with local Simplicio1, OpenRouter, OpenAI, Anthropic, DeepSeek, Simplicio Agent, Codex and Claude-style hosts.
|
|
53
57
|
|
|
54
58
|
## Why this README is built to earn attention
|
|
55
59
|
|
|
@@ -108,7 +112,7 @@ delivery status"]
|
|
|
108
112
|
|
|
109
113
|
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
114
|
|
|
111
|
-
**Your tasks with 99% accuracy using any LLM (Claude, DeepSeek, Codex, Gemini,
|
|
115
|
+
**Your tasks with 99% accuracy using any LLM (Claude, DeepSeek, Codex, Gemini, Simplicio Agent, OpenClaw, Cursor).**
|
|
112
116
|
|
|
113
117
|
[](https://pypi.org/project/simplicio-cli/)
|
|
114
118
|
[](https://pypi.org/project/simplicio-cli/)
|
|
@@ -417,7 +421,7 @@ recorded to a separate append-only ledger,
|
|
|
417
421
|
`.simplicio/ledger/savings-events.jsonl` (`simplicio.savings-event/v1`), via
|
|
418
422
|
`simplicio.observability.record_savings_event()`.
|
|
419
423
|
|
|
420
|
-
#### Cross-vendor memory
|
|
424
|
+
#### Cross-vendor memory
|
|
421
425
|
|
|
422
426
|
`simplicio-dev-cli memory init|store|recall` is a markdown + git store under
|
|
423
427
|
`~/.simplicio/memory/` (override with `SIMPLICIO_MEMORY_DIR`) for handing
|
|
@@ -580,6 +584,13 @@ cost_usd, diff_summary, warnings}`. Repeat `--bound-paths <glob>` to reject
|
|
|
580
584
|
diffs outside the allowed edit surface; violations are reported in `warnings`
|
|
581
585
|
and the command exits non-zero.
|
|
582
586
|
|
|
587
|
+
See [structured blocked-precondition receipts](docs/blocked-preconditions.md) for the JSON `status`, `blocked_preconditions`, `reason`, and `next_surface` contract.
|
|
588
|
+
See [patch receipts](docs/patch-receipts.md) for parser strategy, recovery fingerprint, and requested/effective capability evidence.
|
|
589
|
+
See [the evidence ledger](docs/evidence-ledger.md) for append-only AC/RN receipts and stale-artifact gates.
|
|
590
|
+
See [multi-task batches](docs/multi-task-batches.md) for deterministic DAG state and resumable transitions.
|
|
591
|
+
See [prompt envelopes](docs/prompt-envelopes.md) for layer budgets, stable prefix hashes, and typed retry deltas.
|
|
592
|
+
The deterministic delivery corpus is available with `python -m bench.run_delivery_corpus`.
|
|
593
|
+
|
|
583
594
|
#### Path 3 example — standalone with API key
|
|
584
595
|
|
|
585
596
|
```bash
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "simplicio-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.16.1"
|
|
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" }
|
|
@@ -33,8 +33,8 @@ classifiers = [
|
|
|
33
33
|
"Programming Language :: Python :: 3 :: Only",
|
|
34
34
|
"Programming Language :: Python :: 3.10",
|
|
35
35
|
"Programming Language :: Python :: 3.11",
|
|
36
|
-
"Programming Language :: Python :: 3.12",
|
|
37
|
-
"Programming Language :: Python :: 3.13",
|
|
36
|
+
"Programming Language :: Python :: 3.12",
|
|
37
|
+
"Programming Language :: Python :: 3.13",
|
|
38
38
|
"Topic :: Software Development",
|
|
39
39
|
"Topic :: Software Development :: Code Generators",
|
|
40
40
|
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
@@ -53,7 +53,7 @@ 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.23.1",
|
|
57
57
|
"simplicio-prompt>=1.14.1",
|
|
58
58
|
"httpx>=0.28.1",
|
|
59
59
|
"orjson>=3.11.9",
|
|
@@ -89,10 +89,10 @@ test = ["pytest>=8", "tomli>=2.0.1; python_version < '3.11'"]
|
|
|
89
89
|
dev = ["simplicio-cli[test]", "ruff>=0.15.8", "mypy>=1.19.1"]
|
|
90
90
|
|
|
91
91
|
[project.urls]
|
|
92
|
-
Homepage = "https://github.com/wesleysimplicio/simplicio-dev-cli"
|
|
93
|
-
Repository = "https://github.com/wesleysimplicio/simplicio-dev-cli"
|
|
94
|
-
Issues = "https://github.com/wesleysimplicio/simplicio-dev-cli/issues"
|
|
95
|
-
Changelog = "https://github.com/wesleysimplicio/simplicio-dev-cli/releases"
|
|
92
|
+
Homepage = "https://github.com/wesleysimplicio/simplicio-dev-cli"
|
|
93
|
+
Repository = "https://github.com/wesleysimplicio/simplicio-dev-cli"
|
|
94
|
+
Issues = "https://github.com/wesleysimplicio/simplicio-dev-cli/issues"
|
|
95
|
+
Changelog = "https://github.com/wesleysimplicio/simplicio-dev-cli/releases"
|
|
96
96
|
|
|
97
97
|
[project.scripts]
|
|
98
98
|
simplicio-cli = "simplicio.cli:main"
|
|
@@ -118,6 +118,13 @@ simplicio = [
|
|
|
118
118
|
"templates/stacks/**/*",
|
|
119
119
|
"templates/stacks/*/tree/.gitignore",
|
|
120
120
|
"templates/stacks/*/tree/.eslintrc.json",
|
|
121
|
+
# `score-skill` loads these builtin scenario fixtures at runtime from
|
|
122
|
+
# Path(__file__).resolve().parent / "scenarios" (see
|
|
123
|
+
# simplicio/commands/score_skill.py:_resolve_scenarios). Without this
|
|
124
|
+
# entry the wheel ships score_skill.py but not its data, so an installed
|
|
125
|
+
# `simplicio-py score-skill` with no --scenario silently fails outside the
|
|
126
|
+
# checkout (#167 AC "Package instalado contem docs/schemas esperados").
|
|
127
|
+
"commands/scenarios/*.json",
|
|
121
128
|
]
|
|
122
129
|
|
|
123
130
|
[tool.pytest.ini_options]
|
|
@@ -146,7 +153,7 @@ extend-exclude = [
|
|
|
146
153
|
[tool.ruff.lint]
|
|
147
154
|
# E/F = pyflakes+pycodestyle core, I = isort, UP = pyupgrade, B = bugbear,
|
|
148
155
|
# T20 = flake8-print (issue #106 — blocks new print() regressions in
|
|
149
|
-
# library code; see per-file-ignores below for the documented
|
|
156
|
+
# library code; see per-file-ignores below for the documented
|
|
150
157
|
# CLI-handler exception, where stdout IS the subcommand's intended output).
|
|
151
158
|
select = ["E", "F", "I", "UP", "B", "T20"]
|
|
152
159
|
# B008: PLAN_JSON-style default args show up in a few argparse builders;
|
|
@@ -158,8 +165,8 @@ ignore = []
|
|
|
158
165
|
"tests/**/*.py" = ["E501", "T201"]
|
|
159
166
|
# CLI-handler exception (#106): stdout IS the intended output of these
|
|
160
167
|
# subcommand entry points (JSON payloads, tables, human summaries), so
|
|
161
|
-
# print() is the correct tool here — never in providers.py, pipeline.py,
|
|
162
|
-
# mapper.py, or any other library module, which
|
|
168
|
+
# print() is the correct tool here — never in providers.py, pipeline.py,
|
|
169
|
+
# mapper.py, or any other library module, which
|
|
163
170
|
# stay covered by the bare T201 rule above with zero suppressions.
|
|
164
171
|
"simplicio/cli.py" = ["T201"]
|
|
165
172
|
"simplicio/doctor.py" = ["T201"]
|
|
@@ -179,7 +186,7 @@ quote-style = "double"
|
|
|
179
186
|
indent-style = "space"
|
|
180
187
|
|
|
181
188
|
[tool.mypy]
|
|
182
|
-
python_version = "3.13"
|
|
189
|
+
python_version = "3.13"
|
|
183
190
|
files = ["simplicio"]
|
|
184
191
|
# Baseline rigor (#102 AC): permissive on missing third-party stubs, but
|
|
185
192
|
# real within the package. Tighten per-module (`[[tool.mypy.overrides]]`)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
__version__ = "0.
|
|
2
|
-
|
|
3
|
-
from .mapper_api import mapper_module, mapper_version
|
|
4
|
-
|
|
5
|
-
__all__ = ["__version__", "mapper_module", "mapper_version"]
|
|
1
|
+
__version__ = "0.16.1"
|
|
2
|
+
|
|
3
|
+
from .mapper_api import mapper_module, mapper_version
|
|
4
|
+
|
|
5
|
+
__all__ = ["__version__", "mapper_module", "mapper_version"]
|
|
@@ -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
|
|
|
@@ -49,11 +49,24 @@ def maybe_autoinstall(cmd: str | None) -> bool:
|
|
|
49
49
|
return False
|
|
50
50
|
|
|
51
51
|
|
|
52
|
+
def _delegation_route(*, forced_python: bool, native_available: bool, delegated: bool) -> tuple[str, str]:
|
|
53
|
+
"""Classify a gate/nest delegation attempt into (route, reason) for
|
|
54
|
+
`runtime_bridge.record_delegation` (issue #111)."""
|
|
55
|
+
if forced_python:
|
|
56
|
+
return "python-forced", "user-forced-python"
|
|
57
|
+
if delegated:
|
|
58
|
+
return "native", ""
|
|
59
|
+
if not native_available:
|
|
60
|
+
return "python-fallback", "binary-not-found"
|
|
61
|
+
return "python-fallback", "delegation-error"
|
|
62
|
+
|
|
63
|
+
|
|
52
64
|
def _dispatch_nested(argv: list[str]) -> int | None:
|
|
53
65
|
"""``gate``/``nest``/``scratch``/``skill`` bypass the main argparse
|
|
54
66
|
parser entirely — each owns its own argv[0]-based dispatch and arg
|
|
55
67
|
parsing (unchanged by issue #103's cli.py cleanup)."""
|
|
56
68
|
from .commands._shared import parse_rust_flags, try_route_via_simplicio
|
|
69
|
+
from .runtime_bridge import record_delegation, simplicio_available
|
|
57
70
|
|
|
58
71
|
def wants_help(args: list[str]) -> bool:
|
|
59
72
|
return any(arg in {"-h", "--help"} for arg in args)
|
|
@@ -61,9 +74,14 @@ def _dispatch_nested(argv: list[str]) -> int | None:
|
|
|
61
74
|
if argv and argv[0] == "gate":
|
|
62
75
|
clean_args, native, python = parse_rust_flags(argv[1:])
|
|
63
76
|
if not wants_help(clean_args):
|
|
77
|
+
native_available = simplicio_available()
|
|
64
78
|
result = try_route_via_simplicio(
|
|
65
79
|
"gate", clean_args, prefer_native=native or not python, prefer_python=python
|
|
66
80
|
)
|
|
81
|
+
route, reason = _delegation_route(
|
|
82
|
+
forced_python=python, native_available=native_available, delegated=result is not None
|
|
83
|
+
)
|
|
84
|
+
record_delegation("gate", route, reason=reason or None)
|
|
67
85
|
if result is not None:
|
|
68
86
|
return result
|
|
69
87
|
from .commands.gate import main as gate_main
|
|
@@ -72,9 +90,14 @@ def _dispatch_nested(argv: list[str]) -> int | None:
|
|
|
72
90
|
if argv and argv[0] == "nest":
|
|
73
91
|
clean_args, native, python = parse_rust_flags(argv[1:])
|
|
74
92
|
if not wants_help(clean_args):
|
|
93
|
+
native_available = simplicio_available()
|
|
75
94
|
result = try_route_via_simplicio(
|
|
76
95
|
"nest", clean_args, prefer_native=native or not python, prefer_python=python
|
|
77
96
|
)
|
|
97
|
+
route, reason = _delegation_route(
|
|
98
|
+
forced_python=python, native_available=native_available, delegated=result is not None
|
|
99
|
+
)
|
|
100
|
+
record_delegation("nest", route, reason=reason or None)
|
|
78
101
|
if result is not None:
|
|
79
102
|
return result
|
|
80
103
|
from .commands.nest import main as nest_main
|
|
@@ -239,6 +262,42 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
239
262
|
p_inspect.add_argument("--goal", default="")
|
|
240
263
|
p_inspect.add_argument("--json", action="store_true")
|
|
241
264
|
|
|
265
|
+
p_intake = sub.add_parser(
|
|
266
|
+
"intake",
|
|
267
|
+
help="parse raw task cards into the provider-free TaskSpec v2 contract",
|
|
268
|
+
)
|
|
269
|
+
p_intake.add_argument("text", nargs="?", help="raw task text; defaults to stdin")
|
|
270
|
+
p_intake.add_argument("--root", default=".", help="repository root used for plan-only mapper discovery")
|
|
271
|
+
p_intake.add_argument("--file", help="read task Markdown/text from a file")
|
|
272
|
+
p_intake.add_argument("--stdin", action="store_true", help="read task Markdown/text from stdin")
|
|
273
|
+
p_intake.add_argument("--url", help="fetch task Markdown/text from an HTTP(S) URL")
|
|
274
|
+
p_intake.add_argument("--source-url", help="preserve an external source URL without fetching it")
|
|
275
|
+
p_intake.add_argument(
|
|
276
|
+
"--validate-only",
|
|
277
|
+
action="store_true",
|
|
278
|
+
help="validate and wrap the TaskSpec in a validation result",
|
|
279
|
+
)
|
|
280
|
+
p_intake.add_argument(
|
|
281
|
+
"--contract",
|
|
282
|
+
action="store_true",
|
|
283
|
+
help="compile each TaskSpec into an immutable ExecutionContract",
|
|
284
|
+
)
|
|
285
|
+
p_intake.add_argument(
|
|
286
|
+
"--execution-mode",
|
|
287
|
+
action="store_true",
|
|
288
|
+
help="fail closed when the compiled contract is not executable",
|
|
289
|
+
)
|
|
290
|
+
p_intake.add_argument(
|
|
291
|
+
"--plan-only",
|
|
292
|
+
action="store_true",
|
|
293
|
+
help="emit a contract-backed plan preview without dispatch or mutation",
|
|
294
|
+
)
|
|
295
|
+
p_intake.add_argument(
|
|
296
|
+
"--batch-path",
|
|
297
|
+
help="persist the frozen multi-task batch at this path (explicitly mutating)",
|
|
298
|
+
)
|
|
299
|
+
p_intake.add_argument("--json", action="store_true", help="emit stable structured JSON")
|
|
300
|
+
|
|
242
301
|
p_doctor = sub.add_parser(
|
|
243
302
|
"doctor",
|
|
244
303
|
help="check local llama.cpp readiness and dependency freshness",
|
|
@@ -387,6 +446,10 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
387
446
|
p_runtime_doctor = runtime_sub.add_parser("doctor")
|
|
388
447
|
p_runtime_doctor.add_argument("--root", default=".")
|
|
389
448
|
p_runtime_doctor.add_argument("--json", action="store_true")
|
|
449
|
+
p_runtime_verify = runtime_sub.add_parser(
|
|
450
|
+
"verify", help="verify the real reserved Simplicio Runtime identity and capabilities"
|
|
451
|
+
)
|
|
452
|
+
p_runtime_verify.add_argument("--timeout", type=int, default=30)
|
|
390
453
|
|
|
391
454
|
p_memory = sub.add_parser(
|
|
392
455
|
"memory", help="cross-vendor memory handoff (markdown + git under ~/.simplicio/memory)"
|
|
@@ -404,8 +467,23 @@ def _build_parser() -> argparse.ArgumentParser:
|
|
|
404
467
|
p_mem_recall = memory_sub.add_parser("recall", help="keyword search over stored notes")
|
|
405
468
|
p_mem_recall.add_argument("query")
|
|
406
469
|
p_mem_recall.add_argument("--limit", type=int, default=5)
|
|
470
|
+
p_mem_recall.add_argument("--mode", choices=("fts5", "vector", "hybrid"), default="hybrid")
|
|
407
471
|
p_mem_recall.add_argument("--dir", default=None)
|
|
408
472
|
p_mem_recall.add_argument("--json", action="store_true")
|
|
473
|
+
p_mem_validate = memory_sub.add_parser("validate", help="audit markdown memory store integrity")
|
|
474
|
+
p_mem_validate.add_argument("--dir", default=None)
|
|
475
|
+
p_mem_validate.add_argument("--strict", action="store_true", help="exit 2 when validation fails")
|
|
476
|
+
p_mem_validate.add_argument("--json", action="store_true")
|
|
477
|
+
p_mem_handoff = memory_sub.add_parser(
|
|
478
|
+
"handoff",
|
|
479
|
+
help="build a deterministic cross-vendor handoff packet from recall hits",
|
|
480
|
+
)
|
|
481
|
+
p_mem_handoff.add_argument("query")
|
|
482
|
+
p_mem_handoff.add_argument("--limit", type=int, default=5)
|
|
483
|
+
p_mem_handoff.add_argument("--dir", default=None)
|
|
484
|
+
p_mem_handoff.add_argument("--from-agent", default=None)
|
|
485
|
+
p_mem_handoff.add_argument("--to-agent", default=None)
|
|
486
|
+
p_mem_handoff.add_argument("--json", action="store_true")
|
|
409
487
|
|
|
410
488
|
return ap
|
|
411
489
|
|
|
@@ -425,6 +503,7 @@ _COMMAND_MODULES = {
|
|
|
425
503
|
"status": "status",
|
|
426
504
|
"claims": "claims",
|
|
427
505
|
"inspect": "inspect",
|
|
506
|
+
"intake": "intake",
|
|
428
507
|
"doctor": "doctor",
|
|
429
508
|
"env-export": "env_export",
|
|
430
509
|
"file": "file",
|
|
@@ -443,6 +522,18 @@ def main(argv=None):
|
|
|
443
522
|
|
|
444
523
|
configure_logging(quiet=quiet, verbose=verbose)
|
|
445
524
|
|
|
525
|
+
if argv and argv[0] in {"--version", "version"}:
|
|
526
|
+
import json
|
|
527
|
+
|
|
528
|
+
from .runtime_contracts import version_contract
|
|
529
|
+
|
|
530
|
+
payload = version_contract()
|
|
531
|
+
if "--json" in argv[1:]:
|
|
532
|
+
print(json.dumps(payload, sort_keys=True))
|
|
533
|
+
else:
|
|
534
|
+
print(f"{CLI_PROG} {payload['package']['version']}")
|
|
535
|
+
return 0
|
|
536
|
+
|
|
446
537
|
try:
|
|
447
538
|
# Session-start ecosystem-freshness check (closes the runtime gap where
|
|
448
539
|
# pyproject pins >=X but the installed version is older). Idempotent +
|
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
Command routing — dispatches ``gate``, ``nest``, and ``score-skill``
|
|
4
4
|
commands to the native Rust ``simplicio`` binary when available, with
|
|
5
5
|
automatic fallback to the Python implementation.
|
|
6
|
+
|
|
7
|
+
All three reach `route_command` (below) through
|
|
8
|
+
`simplicio.commands._shared.try_route_via_simplicio`, but via two different
|
|
9
|
+
paths — worth spelling out explicitly (issue #111 audit) so "score-skill is
|
|
10
|
+
delegable" doesn't read as dead documentation: ``gate``/``nest`` bypass the
|
|
11
|
+
main argparse parser entirely (`cli.py`'s ``_dispatch_nested`` calls
|
|
12
|
+
`try_route_via_simplicio` directly, before falling back to
|
|
13
|
+
`commands.gate`/`commands.nest`'s own ``main()``); ``score-skill`` goes
|
|
14
|
+
through the normal argparse subparser and `commands/score_skill.py`'s
|
|
15
|
+
``run()``, which calls `try_route_via_simplicio` itself
|
|
16
|
+
(`commands/score_skill.py:246`) before falling back to its own ``main()``.
|
|
6
17
|
"""
|
|
7
18
|
|
|
8
19
|
from __future__ import annotations
|
|
@@ -15,6 +15,7 @@ import shutil
|
|
|
15
15
|
import subprocess
|
|
16
16
|
import sys
|
|
17
17
|
|
|
18
|
+
from ..runtime_bridge import delegated_command, record_delegation
|
|
18
19
|
from ._shared import read_text_source
|
|
19
20
|
|
|
20
21
|
CLI_PROG = "simplicio-py"
|
|
@@ -49,7 +50,7 @@ def _runtime_edit_binary() -> str | None:
|
|
|
49
50
|
def run_edit(a: argparse.Namespace) -> int:
|
|
50
51
|
runtime = None if a.no_runtime else _runtime_edit_binary()
|
|
51
52
|
if runtime:
|
|
52
|
-
cmd =
|
|
53
|
+
cmd = delegated_command(runtime, ["edit", "--plan", a.plan, "--repo", a.root])
|
|
53
54
|
if a.json:
|
|
54
55
|
cmd.append("--json")
|
|
55
56
|
if not a.apply:
|
|
@@ -61,6 +62,17 @@ def run_edit(a: argparse.Namespace) -> int:
|
|
|
61
62
|
print(
|
|
62
63
|
f"{CLI_PROG} edit: runtime delegation failed ({exc}); using local fallback", file=sys.stderr
|
|
63
64
|
)
|
|
65
|
+
record_delegation("edit", "python-fallback", root=a.root, reason=f"delegation-error: {exc}")
|
|
64
66
|
else:
|
|
67
|
+
record_delegation("edit", "native", root=a.root)
|
|
65
68
|
return completed.returncode
|
|
69
|
+
else:
|
|
70
|
+
if a.no_runtime:
|
|
71
|
+
reason = "user-forced-python (--no-runtime)"
|
|
72
|
+
elif os.environ.get("SIMPLICIO_DEV_CLI_NO_RUNTIME_EDIT"):
|
|
73
|
+
reason = "user-forced-python (SIMPLICIO_DEV_CLI_NO_RUNTIME_EDIT)"
|
|
74
|
+
else:
|
|
75
|
+
reason = "binary-not-found"
|
|
76
|
+
route = "python-forced" if reason.startswith("user-forced-python") else "python-fallback"
|
|
77
|
+
record_delegation("edit", route, root=a.root, reason=reason)
|
|
66
78
|
return run_mechanical_edit(a)
|
|
@@ -22,7 +22,7 @@ import subprocess
|
|
|
22
22
|
import sys
|
|
23
23
|
from pathlib import Path
|
|
24
24
|
|
|
25
|
-
from ..runtime_bridge import discover_simplicio
|
|
25
|
+
from ..runtime_bridge import delegated_command, discover_simplicio, record_delegation
|
|
26
26
|
|
|
27
27
|
SCHEMA = "simplicio.file-read/v1"
|
|
28
28
|
DEFAULT_MAX_BYTES = 2 * 1024 * 1024 # 2 MiB
|
|
@@ -44,20 +44,26 @@ def _build_runtime_args(a: argparse.Namespace) -> list[str]:
|
|
|
44
44
|
return cmd
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
def _run_via_runtime(a: argparse.Namespace) -> int | None:
|
|
47
|
+
def _run_via_runtime(a: argparse.Namespace) -> tuple[int | None, str | None]:
|
|
48
48
|
"""Attempt delegation to the Rust ``simplicio`` binary.
|
|
49
49
|
|
|
50
|
-
Returns
|
|
51
|
-
|
|
50
|
+
Returns ``(exit_code, reason)``: ``exit_code`` is the runtime binary's
|
|
51
|
+
exit code on success, or ``None`` so the caller falls back to the
|
|
52
|
+
Python implementation (binary missing, delegation errored, or the
|
|
53
|
+
binary didn't return the expected JSON contract). ``reason`` is a short
|
|
54
|
+
telemetry tag for `runtime_bridge.record_delegation`, always populated
|
|
55
|
+
when ``exit_code`` is ``None``.
|
|
52
56
|
"""
|
|
53
57
|
binary = discover_simplicio()
|
|
54
58
|
if binary is None:
|
|
55
|
-
return None
|
|
56
|
-
cmd =
|
|
59
|
+
return None, "binary-not-found"
|
|
60
|
+
cmd = delegated_command(binary, _build_runtime_args(a))
|
|
57
61
|
try:
|
|
58
62
|
completed = subprocess.run(cmd, capture_output=True, text=True, timeout=RUNTIME_DELEGATION_TIMEOUT_S)
|
|
59
|
-
except
|
|
60
|
-
return None
|
|
63
|
+
except subprocess.TimeoutExpired:
|
|
64
|
+
return None, "timeout"
|
|
65
|
+
except OSError as exc:
|
|
66
|
+
return None, f"delegation-error: {exc}"
|
|
61
67
|
|
|
62
68
|
# Only trust the Rust binary's result if it actually produced the
|
|
63
69
|
# expected JSON envelope — an unimplemented/erroring subcommand prints
|
|
@@ -66,9 +72,9 @@ def _run_via_runtime(a: argparse.Namespace) -> int | None:
|
|
|
66
72
|
try:
|
|
67
73
|
payload = json.loads(completed.stdout)
|
|
68
74
|
except (json.JSONDecodeError, ValueError):
|
|
69
|
-
return None
|
|
75
|
+
return None, "invalid-json"
|
|
70
76
|
if payload.get("schema") != SCHEMA:
|
|
71
|
-
return None
|
|
77
|
+
return None, "schema-mismatch"
|
|
72
78
|
|
|
73
79
|
if a.json:
|
|
74
80
|
print(completed.stdout, end="")
|
|
@@ -76,7 +82,7 @@ def _run_via_runtime(a: argparse.Namespace) -> int | None:
|
|
|
76
82
|
print(payload.get("content", ""), end="")
|
|
77
83
|
if completed.stderr:
|
|
78
84
|
print(completed.stderr, end="", file=sys.stderr)
|
|
79
|
-
return completed.returncode
|
|
85
|
+
return completed.returncode, None
|
|
80
86
|
|
|
81
87
|
|
|
82
88
|
def _read_fallback(a: argparse.Namespace) -> tuple[dict | None, str | None]:
|
|
@@ -147,7 +153,10 @@ def _run_fallback(a: argparse.Namespace) -> int:
|
|
|
147
153
|
|
|
148
154
|
def run(a: argparse.Namespace) -> int:
|
|
149
155
|
"""Entry point wired from ``cli.py`` for ``simplicio-dev-cli file read``."""
|
|
150
|
-
result = _run_via_runtime(a)
|
|
156
|
+
result, reason = _run_via_runtime(a)
|
|
157
|
+
root = a.repo or "."
|
|
151
158
|
if result is not None:
|
|
159
|
+
record_delegation("file", "native", root=root)
|
|
152
160
|
return result
|
|
161
|
+
record_delegation("file", "python-fallback", root=root, reason=reason)
|
|
153
162
|
return _run_fallback(a)
|