simplicio-cli 0.18.9__tar.gz → 0.18.11__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.
Files changed (496) hide show
  1. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/PKG-INFO +11 -9
  2. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/README.md +8 -6
  3. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/pyproject.toml +3 -4
  4. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/__init__.py +1 -1
  5. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/cli.py +16 -3
  6. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/intake.py +81 -44
  7. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/runtime.py +14 -0
  8. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/smoke.py +4 -6
  9. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/task.py +4 -2
  10. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/execution_mode.py +106 -2
  11. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/execution_receipts.py +11 -0
  12. simplicio_cli-0.18.11/simplicio/llm_policy.py +78 -0
  13. simplicio_cli-0.18.11/simplicio/local_inference.py +76 -0
  14. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/local_models.py +21 -32
  15. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/mechanical_edit.py +193 -8
  16. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline.py +5 -17
  17. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline_integrated.py +4 -1
  18. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline_stages.py +48 -9
  19. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/__init__.py +10 -0
  20. simplicio_cli-0.18.11/simplicio/plan_compiler/ad_hoc_edit.py +359 -0
  21. simplicio_cli-0.18.11/simplicio/plugin_effect_bridge.py +473 -0
  22. simplicio_cli-0.18.11/simplicio/plugin_reconcile.py +351 -0
  23. simplicio_cli-0.18.11/simplicio/providers.py +1487 -0
  24. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/runtime_env.py +14 -0
  25. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio_cli.egg-info/PKG-INFO +11 -9
  26. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio_cli.egg-info/SOURCES.txt +7 -1
  27. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio_cli.egg-info/requires.txt +2 -2
  28. simplicio_cli-0.18.11/tests/test_json_boundaries.py +18 -0
  29. simplicio_cli-0.18.9/simplicio/providers.py +0 -139
  30. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/LICENSE +0 -0
  31. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/setup.cfg +0 -0
  32. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/_cache.py +0 -0
  33. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/adaptive.py +0 -0
  34. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/atomic_execution.py +0 -0
  35. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/bench.py +0 -0
  36. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/cache.py +0 -0
  37. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/cache_cli.py +0 -0
  38. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/changeset_transaction.py +0 -0
  39. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/changeset_v2.py +0 -0
  40. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/checkpoint_store.py +0 -0
  41. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/codex_hooks.py +0 -0
  42. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/codex_wrapper.py +0 -0
  43. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/__init__.py +0 -0
  44. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/_shared.py +0 -0
  45. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/bench.py +0 -0
  46. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/cache.py +0 -0
  47. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/changeset.py +0 -0
  48. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/claims.py +0 -0
  49. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/detect.py +0 -0
  50. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/doctor.py +0 -0
  51. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/edit.py +0 -0
  52. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/env_export.py +0 -0
  53. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/fast.py +0 -0
  54. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/file.py +0 -0
  55. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/file_read.py +0 -0
  56. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/gate.py +0 -0
  57. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/index.py +0 -0
  58. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/init.py +0 -0
  59. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/inspect.py +0 -0
  60. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/memory.py +0 -0
  61. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/nest.py +0 -0
  62. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/proposal.py +0 -0
  63. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/prototype.py +0 -0
  64. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/reconcile.py +0 -0
  65. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/run.py +0 -0
  66. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/scenarios/claims-gate.json +0 -0
  67. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/score_skill.py +0 -0
  68. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/status.py +0 -0
  69. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/test.py +0 -0
  70. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/test_run.py +0 -0
  71. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/token.py +0 -0
  72. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/commands/versions.py +0 -0
  73. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/component_manifest.py +0 -0
  74. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/delivery_auth.py +0 -0
  75. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/detect.py +0 -0
  76. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/dev_cli_contracts.py +0 -0
  77. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/doctor.py +0 -0
  78. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/dod.py +0 -0
  79. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/ecosystem.py +0 -0
  80. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/effect_transaction.py +0 -0
  81. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/evidence_ledger.py +0 -0
  82. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/execution_contract.py +0 -0
  83. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/fast_contracts.py +0 -0
  84. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/hardware.py +0 -0
  85. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/hbp.py +0 -0
  86. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/hub_adapter.py +0 -0
  87. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/init.py +0 -0
  88. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/intent.py +0 -0
  89. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/legacy_json_adapter.py +0 -0
  90. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/litert_cli.py +0 -0
  91. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/map_view.py +0 -0
  92. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/mapper.py +0 -0
  93. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/mapper_api.py +0 -0
  94. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/memory_migration.py +0 -0
  95. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/memory_store.py +0 -0
  96. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/mutation_dispatch.py +0 -0
  97. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/mutation_lifecycle.py +0 -0
  98. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/mutation_worker.py +0 -0
  99. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/observability.py +0 -0
  100. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/orchestrator/__init__.py +0 -0
  101. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/orchestrator/cost_governor.py +0 -0
  102. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/orchestrator/feature.py +0 -0
  103. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/orchestrator/multi_task.py +0 -0
  104. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/orientation_plan.py +0 -0
  105. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline_fixers.py +0 -0
  106. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline_input.py +0 -0
  107. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline_preparation.py +0 -0
  108. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline_state.py +0 -0
  109. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/pipeline_task_result.py +0 -0
  110. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/authority.py +0 -0
  111. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/canonical_hash.py +0 -0
  112. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/compat_adapter.py +0 -0
  113. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/compile_task_spec.py +0 -0
  114. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/conformance.py +0 -0
  115. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/effect_sink.py +0 -0
  116. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/errors.py +0 -0
  117. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/execution_contracts.py +0 -0
  118. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/mapper_context.py +0 -0
  119. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/models.py +0 -0
  120. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_compiler/runtime_effect_sink.py +0 -0
  121. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/plan_discovery.py +0 -0
  122. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/precedent.py +0 -0
  123. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/prism_envelope.py +0 -0
  124. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/prism_receipts.py +0 -0
  125. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/prism_transaction.py +0 -0
  126. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/progressive_verify.py +0 -0
  127. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/prompt.py +0 -0
  128. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/prompt_envelope.py +0 -0
  129. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/provider_cache_receipt.py +0 -0
  130. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/py.typed +0 -0
  131. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/runtime_async.py +0 -0
  132. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/runtime_bridge.py +0 -0
  133. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/runtime_contracts.py +0 -0
  134. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/__init__.py +0 -0
  135. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/_pipeline_adapter.py +0 -0
  136. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/cli.py +0 -0
  137. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/__init__.py +0 -0
  138. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/go_gin.py +0 -0
  139. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/markdown_document.py +0 -0
  140. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/php_laravel.py +0 -0
  141. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/python_cst.py +0 -0
  142. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/python_fastapi.py +0 -0
  143. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/python_orm.py +0 -0
  144. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/python_pydantic.py +0 -0
  145. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/python_pytest.py +0 -0
  146. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/registry.py +0 -0
  147. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/rust_axum.py +0 -0
  148. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/types.py +0 -0
  149. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/typescript_next_page.py +0 -0
  150. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/codegen/typescript_next_route.py +0 -0
  151. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/executor.py +0 -0
  152. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/plan_schema.py +0 -0
  153. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/planner.py +0 -0
  154. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/recipes.py +0 -0
  155. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/skill_opt.py +0 -0
  156. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/scratch/stack_registry.py +0 -0
  157. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/skill_router.py +0 -0
  158. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/sprint_loader.py +0 -0
  159. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/stage_abi.py +0 -0
  160. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/stage_main.py +0 -0
  161. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/standalone_migration.py +0 -0
  162. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/store_adapter.py +0 -0
  163. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/task_context.py +0 -0
  164. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/task_operator.py +0 -0
  165. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/task_spec.py +0 -0
  166. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/SKILL.md +0 -0
  167. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/go-gin/admin-crud.yaml +0 -0
  168. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/go-gin/auth-jwt.yaml +0 -0
  169. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/go-gin/crud-resource.yaml +0 -0
  170. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/php-laravel/admin-crud.yaml +0 -0
  171. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/php-laravel/auth-jwt.yaml +0 -0
  172. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/php-laravel/crud-resource.yaml +0 -0
  173. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/php-vanilla/docs-marker.yaml +0 -0
  174. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/admin-crud.yaml +0 -0
  175. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/auth-jwt.yaml +0 -0
  176. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/background-worker.yaml +0 -0
  177. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/crud-resource.yaml +0 -0
  178. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/file-upload.yaml +0 -0
  179. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/oauth-integration.yaml +0 -0
  180. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/scheduled-job.yaml +0 -0
  181. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/py-fastapi/websocket.yaml +0 -0
  182. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/rust-axum/admin-crud.yaml +0 -0
  183. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/rust-axum/auth-jwt.yaml +0 -0
  184. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/rust-axum/crud-resource.yaml +0 -0
  185. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/ts-nextjs/admin-crud.yaml +0 -0
  186. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/ts-nextjs/auth-jwt.yaml +0 -0
  187. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/recipes/ts-nextjs/crud-resource.yaml +0 -0
  188. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/simplicio_prompt.md +0 -0
  189. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/bash-cli/README.md +0 -0
  190. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/bash-cli/practices.md +0 -0
  191. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/bash-cli/stack.json +0 -0
  192. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/bash-cli/tree/README.md +0 -0
  193. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/bash-cli/tree/bin/app.sh +0 -0
  194. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/bash-cli/tree/test/app.bats +0 -0
  195. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/bash-cli/verify.json +0 -0
  196. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/README.md +0 -0
  197. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/practices.md +0 -0
  198. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/stack.json +0 -0
  199. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/tree/README.md +0 -0
  200. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/App.Api.csproj +0 -0
  201. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/tree/src/App.Api/Program.cs +0 -0
  202. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/App.Tests.csproj +0 -0
  203. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/tree/tests/App.Tests/HealthTests.cs +0 -0
  204. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-aspnet/verify.json +0 -0
  205. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/README.md +0 -0
  206. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/practices.md +0 -0
  207. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/stack.json +0 -0
  208. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/tree/README.md +0 -0
  209. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/App.Web.csproj +0 -0
  210. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/App.razor +0 -0
  211. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Components/Pages/Home.razor +0 -0
  212. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/tree/src/App.Web/Program.cs +0 -0
  213. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/App.Tests.csproj +0 -0
  214. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/tree/tests/App.Tests/HealthTests.cs +0 -0
  215. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/csharp-blazor/verify.json +0 -0
  216. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/README.md +0 -0
  217. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/practices.md +0 -0
  218. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/stack.json +0 -0
  219. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/tree/README.md +0 -0
  220. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/tree/lib/main.dart +0 -0
  221. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/tree/pubspec.yaml +0 -0
  222. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/tree/test/widget_test.dart +0 -0
  223. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/dart-flutter/verify.json +0 -0
  224. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/README.md +0 -0
  225. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/practices.md +0 -0
  226. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/stack.json +0 -0
  227. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/README.md +0 -0
  228. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/config/config.exs +0 -0
  229. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app/application.ex +0 -0
  230. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/controllers/health_controller.ex +0 -0
  231. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/endpoint.ex +0 -0
  232. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/lib/app_web/router.ex +0 -0
  233. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/mix.exs +0 -0
  234. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/test/health_controller_test.exs +0 -0
  235. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/tree/test/test_helper.exs +0 -0
  236. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/elixir-phoenix/verify.json +0 -0
  237. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/README.md +0 -0
  238. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/practices.md +0 -0
  239. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/stack.json +0 -0
  240. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/tree/README.md +0 -0
  241. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/tree/cmd/root.go +0 -0
  242. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/tree/cmd/root_test.go +0 -0
  243. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/tree/go.mod +0 -0
  244. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/tree/main.go +0 -0
  245. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-cli/verify.json +0 -0
  246. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/README.md +0 -0
  247. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/practices.md +0 -0
  248. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/stack.json +0 -0
  249. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/tree/README.md +0 -0
  250. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/tree/cmd/server/main.go +0 -0
  251. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/tree/go.mod +0 -0
  252. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/tree/internal/http/router.go +0 -0
  253. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/tree/internal/http/router_test.go +0 -0
  254. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-echo/verify.json +0 -0
  255. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/README.md +0 -0
  256. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/practices.md +0 -0
  257. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/stack.json +0 -0
  258. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/tree/README.md +0 -0
  259. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/tree/cmd/server/main.go +0 -0
  260. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/tree/go.mod +0 -0
  261. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/tree/internal/http/router.go +0 -0
  262. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/tree/internal/http/router_test.go +0 -0
  263. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/go-gin/verify.json +0 -0
  264. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/README.md +0 -0
  265. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/practices.md +0 -0
  266. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/stack.json +0 -0
  267. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/tree/README.md +0 -0
  268. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/tree/build.gradle.kts +0 -0
  269. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/tree/settings.gradle.kts +0 -0
  270. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/Application.java +0 -0
  271. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/tree/src/main/java/com/example/HealthController.java +0 -0
  272. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/tree/src/test/java/com/example/HealthControllerTest.java +0 -0
  273. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/java-spring/verify.json +0 -0
  274. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/README.md +0 -0
  275. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/practices.md +0 -0
  276. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/stack.json +0 -0
  277. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/tree/README.md +0 -0
  278. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/tree/package.json +0 -0
  279. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/tree/src/app.js +0 -0
  280. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/tree/src/server.js +0 -0
  281. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/tree/tests/health.test.js +0 -0
  282. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/js-express/verify.json +0 -0
  283. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/README.md +0 -0
  284. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/practices.md +0 -0
  285. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/stack.json +0 -0
  286. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/README.md +0 -0
  287. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/app/build.gradle.kts +0 -0
  288. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/AndroidManifest.xml +0 -0
  289. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/java/com/example/app/MainActivity.kt +0 -0
  290. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/app/src/main/res/values/styles.xml +0 -0
  291. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/app/src/test/java/com/example/app/SmokeTest.kt +0 -0
  292. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/build.gradle.kts +0 -0
  293. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/tree/settings.gradle.kts +0 -0
  294. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-android/verify.json +0 -0
  295. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/README.md +0 -0
  296. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/practices.md +0 -0
  297. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/stack.json +0 -0
  298. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/tree/README.md +0 -0
  299. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/tree/build.gradle.kts +0 -0
  300. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/tree/settings.gradle.kts +0 -0
  301. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/tree/src/main/kotlin/com/example/Application.kt +0 -0
  302. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/tree/src/test/kotlin/com/example/ApplicationTest.kt +0 -0
  303. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-ktor/verify.json +0 -0
  304. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/README.md +0 -0
  305. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/practices.md +0 -0
  306. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/stack.json +0 -0
  307. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/tree/README.md +0 -0
  308. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/tree/build.gradle.kts +0 -0
  309. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/tree/settings.gradle.kts +0 -0
  310. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/Application.kt +0 -0
  311. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/tree/src/main/kotlin/com/example/HealthController.kt +0 -0
  312. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/tree/src/test/kotlin/com/example/HealthControllerTest.kt +0 -0
  313. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/kotlin-spring/verify.json +0 -0
  314. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/README.md +0 -0
  315. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/practices.md +0 -0
  316. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/stack.json +0 -0
  317. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/README.md +0 -0
  318. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/artisan +0 -0
  319. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/bootstrap/app.php +0 -0
  320. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/composer.json +0 -0
  321. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/phpunit.xml +0 -0
  322. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/routes/api.php +0 -0
  323. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/routes/console.php +0 -0
  324. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/tests/Feature/HealthTest.php +0 -0
  325. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/tree/tests/TestCase.php +0 -0
  326. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-laravel/verify.json +0 -0
  327. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/README.md +0 -0
  328. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/practices.md +0 -0
  329. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/stack.json +0 -0
  330. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/tree/README.md +0 -0
  331. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/tree/composer.json +0 -0
  332. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/tree/src/Controller/HealthController.php +0 -0
  333. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/tree/tests/HealthControllerTest.php +0 -0
  334. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-symfony/verify.json +0 -0
  335. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/README.md +0 -0
  336. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/practices.md +0 -0
  337. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/stack.json +0 -0
  338. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/tree/README.md +0 -0
  339. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/tree/composer.json +0 -0
  340. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/tree/phpunit.xml +0 -0
  341. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/tree/src/Health.php +0 -0
  342. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/tree/tests/HealthTest.php +0 -0
  343. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/php-vanilla/verify.json +0 -0
  344. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/README.md +0 -0
  345. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/practices.md +0 -0
  346. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/stack.json +0 -0
  347. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/tree/README.md +0 -0
  348. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/tree/pyproject.toml +0 -0
  349. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/tree/src/app/__init__.py +0 -0
  350. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/tree/src/app/cli.py +0 -0
  351. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/tree/tests/test_cli.py +0 -0
  352. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-cli/verify.json +0 -0
  353. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/README.md +0 -0
  354. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/practices.md +0 -0
  355. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/stack.json +0 -0
  356. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/README.md +0 -0
  357. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/app/__init__.py +0 -0
  358. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/app/apps.py +0 -0
  359. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/app/tests.py +0 -0
  360. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/app/views.py +0 -0
  361. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/config/__init__.py +0 -0
  362. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/config/asgi.py +0 -0
  363. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/config/settings.py +0 -0
  364. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/config/urls.py +0 -0
  365. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/config/wsgi.py +0 -0
  366. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/manage.py +0 -0
  367. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/tree/pyproject.toml +0 -0
  368. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-django/verify.json +0 -0
  369. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/README.md +0 -0
  370. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/practices.md +0 -0
  371. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/stack.json +0 -0
  372. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/tree/.gitignore +0 -0
  373. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/tree/README.template.md +0 -0
  374. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/tree/pyproject.toml +0 -0
  375. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/tree/ruff.toml +0 -0
  376. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/tree/src/api/__init__.py +0 -0
  377. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/tree/src/main.py +0 -0
  378. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/tree/tests/test_health.py +0 -0
  379. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-fastapi/verify.json +0 -0
  380. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/README.md +0 -0
  381. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/practices.md +0 -0
  382. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/stack.json +0 -0
  383. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/tree/README.md +0 -0
  384. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/tree/pyproject.toml +0 -0
  385. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/tree/ruff.toml +0 -0
  386. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/tree/src/app.py +0 -0
  387. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/tree/tests/test_health.py +0 -0
  388. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/py-flask/verify.json +0 -0
  389. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/README.md +0 -0
  390. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/practices.md +0 -0
  391. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/stack.json +0 -0
  392. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/tree/README.md +0 -0
  393. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/tree/index.html +0 -0
  394. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/tree/package.json +0 -0
  395. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/tree/src/App.test.tsx +0 -0
  396. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/tree/src/App.tsx +0 -0
  397. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/tree/src/main.tsx +0 -0
  398. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/tree/tsconfig.json +0 -0
  399. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/react-vite/verify.json +0 -0
  400. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/README.md +0 -0
  401. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/practices.md +0 -0
  402. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/stack.json +0 -0
  403. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/Gemfile +0 -0
  404. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/README.md +0 -0
  405. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/app/controllers/health_controller.rb +0 -0
  406. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/bin/rails +0 -0
  407. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/config/application.rb +0 -0
  408. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/config/boot.rb +0 -0
  409. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/config/routes.rb +0 -0
  410. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/test/controllers/health_controller_test.rb +0 -0
  411. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/tree/test/test_helper.rb +0 -0
  412. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ruby-rails/verify.json +0 -0
  413. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-axum/README.md +0 -0
  414. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-axum/practices.md +0 -0
  415. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-axum/stack.json +0 -0
  416. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-axum/tree/Cargo.toml +0 -0
  417. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-axum/tree/README.md +0 -0
  418. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-axum/tree/src/main.rs +0 -0
  419. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-axum/verify.json +0 -0
  420. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-cli/README.md +0 -0
  421. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-cli/practices.md +0 -0
  422. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-cli/stack.json +0 -0
  423. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-cli/tree/Cargo.toml +0 -0
  424. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-cli/tree/README.md +0 -0
  425. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-cli/tree/src/main.rs +0 -0
  426. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-cli/verify.json +0 -0
  427. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-leptos/README.md +0 -0
  428. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-leptos/practices.md +0 -0
  429. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-leptos/stack.json +0 -0
  430. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-leptos/tree/Cargo.toml +0 -0
  431. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-leptos/tree/README.md +0 -0
  432. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-leptos/tree/src/main.rs +0 -0
  433. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/rust-leptos/verify.json +0 -0
  434. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/README.md +0 -0
  435. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/practices.md +0 -0
  436. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/stack.json +0 -0
  437. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/tree/README.md +0 -0
  438. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/tree/Sources/App/App.swift +0 -0
  439. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/tree/Sources/App/ContentView.swift +0 -0
  440. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/tree/Tests/AppTests/AppTests.swift +0 -0
  441. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-ios/verify.json +0 -0
  442. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/README.md +0 -0
  443. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/practices.md +0 -0
  444. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/stack.json +0 -0
  445. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/tree/Package.swift +0 -0
  446. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/tree/README.md +0 -0
  447. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/tree/Sources/App/main.swift +0 -0
  448. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/tree/Tests/AppTests/HealthTests.swift +0 -0
  449. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/swift-vapor/verify.json +0 -0
  450. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/README.md +0 -0
  451. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/practices.md +0 -0
  452. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/stack.json +0 -0
  453. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/tree/README.md +0 -0
  454. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/tree/package.json +0 -0
  455. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.spec.ts +0 -0
  456. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/tree/src/app.controller.ts +0 -0
  457. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/tree/src/app.module.ts +0 -0
  458. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/tree/src/main.ts +0 -0
  459. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/tree/tsconfig.json +0 -0
  460. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nestjs/verify.json +0 -0
  461. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/README.md +0 -0
  462. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/practices.md +0 -0
  463. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/stack.json +0 -0
  464. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/.eslintrc.json +0 -0
  465. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/.gitignore +0 -0
  466. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/next.config.mjs +0 -0
  467. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/package.json +0 -0
  468. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/pnpm-workspace.yaml +0 -0
  469. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/src/app/layout.tsx +0 -0
  470. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/src/app/page.tsx +0 -0
  471. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/tree/tsconfig.json +0 -0
  472. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-nextjs/verify.json +0 -0
  473. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/README.md +0 -0
  474. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/practices.md +0 -0
  475. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/stack.json +0 -0
  476. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/tree/README.md +0 -0
  477. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/tree/app/root.tsx +0 -0
  478. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/tree/app/routes/_index.tsx +0 -0
  479. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.test.ts +0 -0
  480. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/tree/app/routes/health.ts +0 -0
  481. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/tree/package.json +0 -0
  482. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/tree/tsconfig.json +0 -0
  483. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/stacks/ts-remix/verify.json +0 -0
  484. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/templates/userpromptsubmit-hook.sh +0 -0
  485. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/token_primitives.py +0 -0
  486. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/toon_codec.py +0 -0
  487. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/transaction.py +0 -0
  488. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/utils/__init__.py +0 -0
  489. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/utils/cache.py +0 -0
  490. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/utils/fs.py +0 -0
  491. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/utils/http_client.py +0 -0
  492. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/utils/serialization.py +0 -0
  493. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio/write_set_lock.py +0 -0
  494. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio_cli.egg-info/dependency_links.txt +0 -0
  495. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/simplicio_cli.egg-info/entry_points.txt +0 -0
  496. {simplicio_cli-0.18.9 → simplicio_cli-0.18.11}/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.18.9
3
+ Version: 0.18.11
4
4
  Summary: Deterministic task-to-code contract and verification CLI. It never executes or provisions an LLM.
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.27,>=0.26.11
31
+ Requires-Dist: simplicio-mapper<0.27,>=0.26.20
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
@@ -40,7 +40,7 @@ Requires-Dist: sentence-transformers>=5.6.0; extra == "ml"
40
40
  Provides-Extra: bench
41
41
  Requires-Dist: fpdf2>=2.8.7; extra == "bench"
42
42
  Provides-Extra: fast
43
- Requires-Dist: simplicio-fast<3,>=2.0.22; python_version >= "3.11" and extra == "fast"
43
+ Requires-Dist: simplicio-fast<3,>=2.0.28; python_version >= "3.11" and extra == "fast"
44
44
  Provides-Extra: performance
45
45
  Requires-Dist: uvloop>=0.21.0; sys_platform != "win32" and extra == "performance"
46
46
  Provides-Extra: all
@@ -94,6 +94,10 @@ Turn a one-line task into a verified code change: mapper context, six-layer cont
94
94
 
95
95
  > **Deterministic-only boundary:** `simplicio-py` never sends prompts or completions to a local model, OpenRouter, Anthropic, OpenAI-compatible endpoint, or CLI provider. It does not load or download model weights. Provider execution has been removed; the adapter only performs local contracts, edits, tests, and evidence.
96
96
 
97
+ > **Operational boundary:** no local or remote LLM is required. The supported mutation inputs are an explicit mechanical-edit plan, a Fast changeset, or a Runtime EffectTransaction proposal. The CLI validates, applies, tests, and records evidence.
98
+ >
99
+ > The provider/model benchmark and setup material later in this file is historical evidence only; those routes are no longer supported by the package.
100
+
97
101
  ## Project DNA
98
102
 
99
103
  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.
@@ -192,7 +196,7 @@ flowchart LR
192
196
 
193
197
  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.
194
198
 
195
- **A focused execution operator for turning decided engineering tasks into verified changes across LLM providers.**
199
+ **A focused execution operator for turning decided engineering tasks into verified deterministic changes.**
196
200
 
197
201
  [![PyPI](https://img.shields.io/pypi/v/simplicio-cli.svg)](https://pypi.org/project/simplicio-cli/)
198
202
  [![Python](https://img.shields.io/pypi/pyversions/simplicio-cli.svg)](https://pypi.org/project/simplicio-cli/)
@@ -201,9 +205,7 @@ The section below restores the project-specific README material that existed bef
201
205
  [![simplicio-dev-cli pipeline: task to verified code change](https://raw.githubusercontent.com/wesleysimplicio/simplicio-dev-cli/main/output/imagegen/simplicio-cli-readme-hero-web.png)](output/imagegen/simplicio-cli-readme-hero.png)
202
206
 
203
207
  > *"hide the Delete button for non-admins"* → diff + test + applied + verified.
204
- > **Zero API key inside Claude Code** (auto-installs, uses your subscription) — or
205
- > bring your own key for any provider: OpenRouter, OpenAI, Anthropic, GLM,
206
- > DeepSeek, Ollama.
208
+ > **No model or API key is required by the deterministic executor.** External coordinators may provide an explicit plan or changeset.
207
209
 
208
210
  ```bash
209
211
  pip install simplicio-cli
@@ -707,7 +709,7 @@ simplicio-py task "hide Delete button for non-admins" \
707
709
  - build passes"
708
710
  ```
709
711
 
710
- Provider-agnostic — see [Configure](#configure--any-llm-nothing-hardcoded) for the full matrix.
712
+ Provider configuration is legacy documentation; the package no longer executes model providers.
711
713
 
712
714
  ---
713
715
 
@@ -820,7 +822,7 @@ the machine-readable reason `LOCAL_INFERENCE_PAUSED`; it does not read a
820
822
  cached completion, load a model, download weights, start a process, or open a
821
823
  socket. Existing GGUF artifacts are preserved.
822
824
 
823
- Use an explicit remote provider for normal operation. To intentionally enable
825
+ Use an explicit mechanical-edit plan, changeset, or Runtime Effect API for normal operation. To intentionally enable
824
826
  the local route for a process, set `SIMPLICIO_LOCAL_INFERENCE=enabled` first.
825
827
  The in-process [`llama-cpp-python`](https://github.com/abetlen/llama-cpp-python)
826
828
  backend then uses `openbmb/minicpm5:latest`, backed by
@@ -34,6 +34,10 @@ Turn a one-line task into a verified code change: mapper context, six-layer cont
34
34
 
35
35
  > **Deterministic-only boundary:** `simplicio-py` never sends prompts or completions to a local model, OpenRouter, Anthropic, OpenAI-compatible endpoint, or CLI provider. It does not load or download model weights. Provider execution has been removed; the adapter only performs local contracts, edits, tests, and evidence.
36
36
 
37
+ > **Operational boundary:** no local or remote LLM is required. The supported mutation inputs are an explicit mechanical-edit plan, a Fast changeset, or a Runtime EffectTransaction proposal. The CLI validates, applies, tests, and records evidence.
38
+ >
39
+ > The provider/model benchmark and setup material later in this file is historical evidence only; those routes are no longer supported by the package.
40
+
37
41
  ## Project DNA
38
42
 
39
43
  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.
@@ -132,7 +136,7 @@ flowchart LR
132
136
 
133
137
  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.
134
138
 
135
- **A focused execution operator for turning decided engineering tasks into verified changes across LLM providers.**
139
+ **A focused execution operator for turning decided engineering tasks into verified deterministic changes.**
136
140
 
137
141
  [![PyPI](https://img.shields.io/pypi/v/simplicio-cli.svg)](https://pypi.org/project/simplicio-cli/)
138
142
  [![Python](https://img.shields.io/pypi/pyversions/simplicio-cli.svg)](https://pypi.org/project/simplicio-cli/)
@@ -141,9 +145,7 @@ The section below restores the project-specific README material that existed bef
141
145
  [![simplicio-dev-cli pipeline: task to verified code change](https://raw.githubusercontent.com/wesleysimplicio/simplicio-dev-cli/main/output/imagegen/simplicio-cli-readme-hero-web.png)](output/imagegen/simplicio-cli-readme-hero.png)
142
146
 
143
147
  > *"hide the Delete button for non-admins"* → diff + test + applied + verified.
144
- > **Zero API key inside Claude Code** (auto-installs, uses your subscription) — or
145
- > bring your own key for any provider: OpenRouter, OpenAI, Anthropic, GLM,
146
- > DeepSeek, Ollama.
148
+ > **No model or API key is required by the deterministic executor.** External coordinators may provide an explicit plan or changeset.
147
149
 
148
150
  ```bash
149
151
  pip install simplicio-cli
@@ -647,7 +649,7 @@ simplicio-py task "hide Delete button for non-admins" \
647
649
  - build passes"
648
650
  ```
649
651
 
650
- Provider-agnostic — see [Configure](#configure--any-llm-nothing-hardcoded) for the full matrix.
652
+ Provider configuration is legacy documentation; the package no longer executes model providers.
651
653
 
652
654
  ---
653
655
 
@@ -760,7 +762,7 @@ the machine-readable reason `LOCAL_INFERENCE_PAUSED`; it does not read a
760
762
  cached completion, load a model, download weights, start a process, or open a
761
763
  socket. Existing GGUF artifacts are preserved.
762
764
 
763
- Use an explicit remote provider for normal operation. To intentionally enable
765
+ Use an explicit mechanical-edit plan, changeset, or Runtime Effect API for normal operation. To intentionally enable
764
766
  the local route for a process, set `SIMPLICIO_LOCAL_INFERENCE=enabled` first.
765
767
  The in-process [`llama-cpp-python`](https://github.com/abetlen/llama-cpp-python)
766
768
  backend then uses `openbmb/minicpm5:latest`, backed by
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "simplicio-cli"
3
- version = "0.18.9"
3
+ version = "0.18.11"
4
4
  description = "Deterministic task-to-code contract and verification CLI. It never executes or provisions an LLM."
5
5
  readme = "README.md"
6
6
  license = { text = "MIT" }
@@ -45,7 +45,7 @@ classifiers = [
45
45
  # (generated, `--check`-able) for the full graph and #99 for the audit.
46
46
  dependencies = [
47
47
  "numpy>=2.1.0",
48
- "simplicio-mapper>=0.26.11,<0.27",
48
+ "simplicio-mapper>=0.26.20,<0.27",
49
49
  "simplicio-prompt>=1.14.1",
50
50
  "httpx>=0.28.1",
51
51
  "orjson>=3.11.9",
@@ -62,7 +62,7 @@ ml = ["sentence-transformers>=5.6.0"]
62
62
  bench = ["fpdf2>=2.8.7"]
63
63
  # Optional canonical Fast adapter. It remains outside the base install until
64
64
  # its release train is formally promoted.
65
- fast = ["simplicio-fast>=2.0.22,<3; python_version >= '3.11'"]
65
+ fast = ["simplicio-fast>=2.0.28,<3; python_version >= '3.11'"]
66
66
  # Opt-in faster asyncio event loop for the structured-concurrency runtime
67
67
  # (simplicio.runtime_async, issue #212). Never required: `install_uvloop()`
68
68
  # no-ops on Windows or when this extra is absent, falling back to stdlib
@@ -269,4 +269,3 @@ module = [
269
269
  "simplicio.scratch.cli",
270
270
  ]
271
271
  ignore_errors = true
272
-
@@ -1,4 +1,4 @@
1
- __version__ = "0.18.9"
1
+ __version__ = "0.18.10"
2
2
 
3
3
 
4
4
  def mapper_module():
@@ -344,6 +344,11 @@ def _build_parser() -> argparse.ArgumentParser:
344
344
  "--batch-path",
345
345
  help="persist the frozen multi-task batch at this path (explicitly mutating)",
346
346
  )
347
+ p_intake.add_argument(
348
+ "--print-contract-example",
349
+ action="store_true",
350
+ help="print a minimal simplicio.task-spec/v2 stdin example and exit",
351
+ )
347
352
  p_intake.add_argument("--json", action="store_true", help="emit stable structured JSON")
348
353
 
349
354
  p_doctor = sub.add_parser(
@@ -635,14 +640,22 @@ def _build_parser() -> argparse.ArgumentParser:
635
640
  p_runtime_capabilities.add_argument("--coordinator-kind")
636
641
  p_runtime_capabilities.add_argument("--coordinator-id")
637
642
  p_runtime_capabilities.add_argument("--json", action="store_true")
643
+ p_runtime_acquire = runtime_sub.add_parser(
644
+ "acquire-coordinator-context",
645
+ help="acquire or diagnose the integrated coordinator tuple without fabricating a lease",
646
+ )
647
+ p_runtime_acquire.add_argument("--root", default=".")
648
+ p_runtime_acquire.add_argument("--context-snapshot", help="canonical Mapper ContextSnapshot JSON path")
649
+ p_runtime_acquire.add_argument(
650
+ "--execution-context", help="Mapper execution-context/v1 provenance JSON path"
651
+ )
652
+ p_runtime_acquire.add_argument("--json", action="store_true")
638
653
 
639
654
  p_prototype = sub.add_parser(
640
655
  "prototype", help="Prototype-First plan, scaffold, validate and promotion gate"
641
656
  )
642
657
  prototype_sub = p_prototype.add_subparsers(dest="prototype_cmd", required=True)
643
- p_proto_plan = prototype_sub.add_parser(
644
- "plan", help="compile and freeze a prototype plan"
645
- )
658
+ p_proto_plan = prototype_sub.add_parser("plan", help="compile and freeze a prototype plan")
646
659
  p_proto_plan.add_argument("--input", help="Loop/Mapper prototype-plan JSON")
647
660
  p_proto_plan.add_argument("--goal", default="")
648
661
  p_proto_plan.add_argument(
@@ -10,14 +10,43 @@ from urllib.error import HTTPError, URLError
10
10
  from urllib.parse import urlparse
11
11
  from urllib.request import Request, urlopen
12
12
 
13
- from ..execution_contract import ContractCompilationError, compile_execution_contracts
13
+ from ..execution_contract import (
14
+ SCHEMA as EXECUTION_CONTRACT_SCHEMA,
15
+ )
16
+ from ..execution_contract import (
17
+ ContractCompilationError,
18
+ ExecutionBlockedError,
19
+ compile_execution_contracts,
20
+ )
14
21
  from ..orchestrator.multi_task import BatchBuildError, TaskBatch, build_batch_preview
15
22
  from ..plan_discovery import PlanDiscoveryError, build_plan_preview
16
- from ..task_spec import SourceRef, TaskSpecValidationError, parse_task_document
23
+ from ..task_spec import TASK_SPEC_SCHEMA, SourceRef, TaskSpecValidationError, parse_task_document
17
24
 
18
25
  CLI_PROG = "simplicio-py"
19
26
  _URL_TIMEOUT_SECONDS = 10
20
27
  _MAX_URL_BYTES = 2 * 1024 * 1024
28
+ CONTRACT_EXAMPLE = """System: Example
29
+ Feature: Typed contract intake
30
+ Tipo: Evolucao
31
+
32
+ AS A operator,
33
+ I WANT a valid simplicio.task-spec/v2 card,
34
+ SO THAT unattended intake can compile an execution contract.
35
+
36
+ ## Acceptance criteria
37
+
38
+ Scenario 1: typed card compiles
39
+ Given a TaskSpec v2 card with system, feature, type, narrative, and one AC
40
+ When intake runs with --contract --execution-mode --json
41
+ Then the result schema is simplicio.intake-result/v1
42
+ """
43
+ ACCEPTED_SYNTAX = [
44
+ "System: / Sistema:",
45
+ "Feature: / Funcionalidade:",
46
+ "Tipo: / Task type:",
47
+ "AS A / I WANT / SO THAT or COMO / QUERO / PARA",
48
+ "Acceptance criteria section with Given/When/Then scenarios",
49
+ ]
21
50
 
22
51
 
23
52
  def _decode(raw: bytes) -> tuple[str, str]:
@@ -73,27 +102,58 @@ def _read_input(a: argparse.Namespace) -> tuple[str, SourceRef]:
73
102
  return text, SourceRef(kind="stdin", locator=a.source_url, encoding=encoding)
74
103
 
75
104
 
105
+ def _contract_guidance() -> dict[str, object]:
106
+ return {
107
+ "required_schema": TASK_SPEC_SCHEMA,
108
+ "contract_schema": EXECUTION_CONTRACT_SCHEMA,
109
+ "accepted_syntax": list(ACCEPTED_SYNTAX),
110
+ "example": CONTRACT_EXAMPLE,
111
+ "print_contract_example": f"{CLI_PROG} intake --print-contract-example",
112
+ }
113
+
114
+
115
+ def _emit_rejection(a: argparse.Namespace, schema: str, diagnostics: list[str]) -> None:
116
+ if a.json:
117
+ payload = {
118
+ "schema": schema,
119
+ "valid": False,
120
+ "errors": list(diagnostics),
121
+ **_contract_guidance(),
122
+ }
123
+ print(json.dumps(payload, ensure_ascii=False, sort_keys=True))
124
+ return
125
+ for diagnostic in diagnostics:
126
+ print(f"{CLI_PROG} intake: {diagnostic}", file=sys.stderr)
127
+ print(
128
+ f"{CLI_PROG} intake: required schema is {TASK_SPEC_SCHEMA} "
129
+ f"(compile with {EXECUTION_CONTRACT_SCHEMA}); "
130
+ f"run `{CLI_PROG} intake --print-contract-example`",
131
+ file=sys.stderr,
132
+ )
133
+
134
+
76
135
  def run(a: argparse.Namespace) -> int:
77
- try:
78
- text, source = _read_input(a)
79
- document = parse_task_document(text, source=source)
80
- except (TaskSpecValidationError, ContractCompilationError) as exc:
81
- diagnostics = getattr(exc, "diagnostics", None) or getattr(exc, "errors", None) or [str(exc)]
136
+ if getattr(a, "print_contract_example", False):
82
137
  if a.json:
83
138
  print(
84
139
  json.dumps(
85
140
  {
86
- "schema": "simplicio.task-spec-validation/v1",
87
- "valid": False,
88
- "errors": list(diagnostics),
141
+ "schema": "simplicio.intake-contract-example/v1",
142
+ **_contract_guidance(),
89
143
  },
90
144
  ensure_ascii=False,
91
145
  sort_keys=True,
92
146
  )
93
147
  )
94
148
  else:
95
- for diagnostic in diagnostics:
96
- print(f"{CLI_PROG} intake: {diagnostic}", file=sys.stderr)
149
+ print(CONTRACT_EXAMPLE, end="")
150
+ return 0
151
+ try:
152
+ text, source = _read_input(a)
153
+ document = parse_task_document(text, source=source)
154
+ except (TaskSpecValidationError, ContractCompilationError) as exc:
155
+ diagnostics = getattr(exc, "diagnostics", None) or getattr(exc, "errors", None) or [str(exc)]
156
+ _emit_rejection(a, "simplicio.task-spec-validation/v1", list(diagnostics))
97
157
  return 2
98
158
 
99
159
  payload = document.to_dict()
@@ -114,41 +174,18 @@ def run(a: argparse.Namespace) -> int:
114
174
  document, execution_mode=getattr(a, "execution_mode", False)
115
175
  )
116
176
  batch_preview = build_batch_preview(document)
177
+ except ExecutionBlockedError as exc:
178
+ _emit_rejection(
179
+ a,
180
+ "simplicio.execution-contract-validation/v1",
181
+ list(exc.gate_ids) or [str(exc)],
182
+ )
183
+ return 2
117
184
  except ContractCompilationError as exc:
118
- diagnostics = list(exc.errors)
119
- if a.json:
120
- print(
121
- json.dumps(
122
- {
123
- "schema": "simplicio.execution-contract-validation/v1",
124
- "valid": False,
125
- "errors": diagnostics,
126
- },
127
- ensure_ascii=False,
128
- sort_keys=True,
129
- )
130
- )
131
- else:
132
- for diagnostic in diagnostics:
133
- print(f"{CLI_PROG} intake: {diagnostic}", file=sys.stderr)
185
+ _emit_rejection(a, "simplicio.execution-contract-validation/v1", list(exc.errors))
134
186
  return 2
135
187
  except BatchBuildError as exc:
136
- diagnostics = list(exc.diagnostics)
137
- if a.json:
138
- print(
139
- json.dumps(
140
- {
141
- "schema": "simplicio.task-batch-validation/v1",
142
- "valid": False,
143
- "errors": diagnostics,
144
- },
145
- ensure_ascii=False,
146
- sort_keys=True,
147
- )
148
- )
149
- else:
150
- for diagnostic in diagnostics:
151
- print(f"{CLI_PROG} intake: {diagnostic}", file=sys.stderr)
188
+ _emit_rejection(a, "simplicio.task-batch-validation/v1", list(exc.diagnostics))
152
189
  return 2
153
190
  contracts_payload = [contract.to_dict() for contract in contracts]
154
191
  if getattr(a, "batch_path", None):
@@ -58,6 +58,20 @@ def run(a: argparse.Namespace) -> int:
58
58
  json.dumps(payload, sort_keys=True) if a.json else json.dumps(payload, indent=2, sort_keys=True)
59
59
  )
60
60
  return 0
61
+ if a.runtime_cmd == "acquire-coordinator-context":
62
+ from ..execution_mode import acquire_coordinator_context
63
+
64
+ payload = acquire_coordinator_context(
65
+ root=getattr(a, "root", "."),
66
+ context_snapshot_path=getattr(a, "context_snapshot", None),
67
+ execution_context_path=getattr(a, "execution_context", None),
68
+ )
69
+ if a.json:
70
+ print(json.dumps(payload, sort_keys=True))
71
+ else:
72
+ print(json.dumps(payload, indent=2, sort_keys=True))
73
+ return 0 if payload.get("status") == "ready_for_runtime_lease" else 2
74
+
61
75
  if a.runtime_cmd == "doctor":
62
76
  payload = doctor_contract(a.root)
63
77
  if a.json:
@@ -1,8 +1,6 @@
1
- """``simplicio-py smoke`` — deterministic adapter health check.
1
+ """``simplicio-py smoke`` — one proof call: connect+generate.
2
2
 
3
- The Python adapter deliberately does not call a model or provider. This
4
- command reports that policy without making a network, subprocess, or model
5
- load attempt.
3
+ Extracted from `cli.py`'s `main()` body (issue #103); behavior unchanged.
6
4
  """
7
5
 
8
6
  from __future__ import annotations
@@ -12,11 +10,11 @@ import json
12
10
 
13
11
 
14
12
  def run(a: argparse.Namespace) -> int:
15
- from ..providers import info
13
+ from ..providers import generate, info
16
14
  from ..runtime_contracts import smoke_contract
17
15
 
18
16
  provider = info()
19
- out = "LLM execution disabled; deterministic-only adapter"
17
+ out = generate("Reply exactly: OK simplicio connected.")
20
18
  if a.json:
21
19
  print(json.dumps(smoke_contract(provider=provider, reply=out, root=a.root), sort_keys=True))
22
20
  else:
@@ -30,9 +30,9 @@ def _emit_blocked_diagnostics(result: dict) -> None:
30
30
 
31
31
  def _run_verification_only(a: argparse.Namespace) -> int:
32
32
  from ..pipeline_stages import _configured_test_command, _verification_timeout_seconds
33
- from ..runtime_env import prepare_project_command
33
+ from ..runtime_env import prepare_project_command, project_subprocess_env
34
34
 
35
- command, configuration_error = _configured_test_command()
35
+ command, configuration_error = _configured_test_command(getattr(a, "root", None))
36
36
  if configuration_error:
37
37
  payload = {
38
38
  "schema": "simplicio.dev-cli.verification-only/v1",
@@ -70,6 +70,7 @@ def _run_verification_only(a: argparse.Namespace) -> int:
70
70
  text=True,
71
71
  timeout=_verification_timeout_seconds(),
72
72
  check=False,
73
+ env=project_subprocess_env(a.root),
73
74
  )
74
75
  exit_code = completed.returncode
75
76
  stdout_tail = completed.stdout[-2000:]
@@ -188,6 +189,7 @@ def run(a: argparse.Namespace) -> int:
188
189
  )
189
190
  if a.json:
190
191
  print(json.dumps(result, sort_keys=True))
192
+ _emit_blocked_diagnostics(result)
191
193
  else:
192
194
  status = (
193
195
  "BLOCKED" if result.get("status") == "blocked" else ("DRY-RUN" if a.dry_run_task else "DONE")
@@ -22,6 +22,15 @@ from .standalone_migration import StandalonePolicy, effect_unknown_pending, stan
22
22
  ExecutionMode = Literal["auto", "integrated", "standalone"]
23
23
  RUNTIME_EFFECT_CAPABILITY = "simplicio.effect-transaction/v1"
24
24
  MAPPER_CONTEXT_SCHEMA = MAPPER_CONTEXT_SNAPSHOT_SCHEMA
25
+ COORDINATOR_CONTEXT_SCHEMA = "simplicio.dev-cli.coordinator-context/v1"
26
+ ACQUIRE_COORDINATOR_CONTEXT_COMMAND = "simplicio-py runtime acquire-coordinator-context --json"
27
+ COORDINATOR_CONTEXT_FIELDS = ("attempt_id", "lease_id", "fencing_token", "context_handle")
28
+ COORDINATOR_CONTEXT_LIFECYCLE = (
29
+ "acquire-coordinator-context",
30
+ "proposal --mode integrated",
31
+ "runtime effect authorize",
32
+ "mutate only with a Runtime lease",
33
+ )
25
34
 
26
35
 
27
36
  @dataclass(frozen=True)
@@ -207,7 +216,8 @@ def _attempt_context(
207
216
  if not all(value and value.strip() for value in values):
208
217
  raise ExecutionInputError(
209
218
  "COORDINATOR_CONTEXT_REQUIRED",
210
- "all coordinator attempt fields are required: attempt, lease, fence, and context handle",
219
+ "all coordinator attempt fields are required: attempt, lease, fence, and context handle; "
220
+ f"run `{ACQUIRE_COORDINATOR_CONTEXT_COMMAND}`",
211
221
  )
212
222
  return AttemptContext(*cast(tuple[str, str, str, str], values))
213
223
 
@@ -351,12 +361,106 @@ def require_coordinator_attempt(
351
361
  return replace(
352
362
  profile,
353
363
  effective_mode="blocked",
354
- coordinator={**profile.coordinator, "attempt_ready": False},
364
+ coordinator={
365
+ **profile.coordinator,
366
+ "attempt_ready": False,
367
+ "acquisition_command": ACQUIRE_COORDINATOR_CONTEXT_COMMAND,
368
+ "lifecycle": list(COORDINATOR_CONTEXT_LIFECYCLE),
369
+ },
355
370
  default_eligible=False,
356
371
  reason_code="COORDINATOR_CONTEXT_REQUIRED",
357
372
  )
358
373
 
359
374
 
375
+ def acquire_coordinator_context(
376
+ *,
377
+ root: str | os.PathLike[str] = ".",
378
+ context_snapshot: dict[str, Any] | None = None,
379
+ execution_context: dict[str, Any] | None = None,
380
+ context_snapshot_path: str | os.PathLike[str] | None = None,
381
+ execution_context_path: str | os.PathLike[str] | None = None,
382
+ runtime_handshake: dict[str, Any] | None = None,
383
+ ) -> dict[str, Any]:
384
+ """Documented local path to acquire the integrated coordinator tuple.
385
+
386
+ Mapper artifacts may yield a canonical ``context_handle``. Attempt, lease,
387
+ and fencing token remain Runtime-issued; this command never fabricates
388
+ those protected fields.
389
+ """
390
+ snapshot = (
391
+ context_snapshot
392
+ if context_snapshot is not None
393
+ else _load_context_snapshot(root, context_snapshot_path)
394
+ )
395
+ exec_ctx = (
396
+ execution_context
397
+ if execution_context is not None
398
+ else _load_execution_context(root, execution_context_path)
399
+ )
400
+ handle = _derived_context_handle(snapshot, exec_ctx)
401
+ from .runtime_contracts import runtime_verify_contract
402
+
403
+ handshake = runtime_handshake if runtime_handshake is not None else runtime_verify_contract()
404
+ runtime_ready = bool(isinstance(handshake, dict) and handshake.get("verified"))
405
+ payload: dict[str, Any] = {
406
+ "schema": COORDINATOR_CONTEXT_SCHEMA,
407
+ "status": "blocked",
408
+ "reason_code": "COORDINATOR_CONTEXT_REQUIRED",
409
+ "required_fields": list(COORDINATOR_CONTEXT_FIELDS),
410
+ "lifecycle": list(COORDINATOR_CONTEXT_LIFECYCLE),
411
+ "acquisition_command": ACQUIRE_COORDINATOR_CONTEXT_COMMAND,
412
+ "next_command": (
413
+ "simplicio-py proposal --mode integrated "
414
+ "--attempt-id <attempt_id> --lease-id <lease_id> "
415
+ "--fencing-token <fencing_token> --context-handle <context_handle>"
416
+ ),
417
+ "context_handle": handle,
418
+ "attempt_id": None,
419
+ "lease_id": None,
420
+ "fencing_token": None,
421
+ "mutation_authorized": False,
422
+ "runtime": {
423
+ "verified": runtime_ready,
424
+ "reason": handshake.get("reason") if isinstance(handshake, dict) else "RUNTIME_HANDSHAKE_INVALID",
425
+ },
426
+ "mapper": {
427
+ "snapshot_present": snapshot is not None,
428
+ "execution_context_present": exec_ctx is not None,
429
+ },
430
+ }
431
+ if handle and runtime_ready:
432
+ payload["status"] = "ready_for_runtime_lease"
433
+ payload["reason_code"] = "RUNTIME_LEASE_REQUIRED"
434
+ payload["next_command"] = (
435
+ f"simplicio effect authorize --json --context-handle {handle} && "
436
+ f"{ACQUIRE_COORDINATOR_CONTEXT_COMMAND} --context-snapshot "
437
+ "<snapshot> --execution-context <execution-context>"
438
+ )
439
+ elif handle:
440
+ payload["reason_code"] = "RUNTIME_LEASE_UNAVAILABLE"
441
+ payload["next_command"] = (
442
+ f"{ACQUIRE_COORDINATOR_CONTEXT_COMMAND} --context-snapshot <snapshot> "
443
+ "--execution-context <execution-context>"
444
+ )
445
+ return payload
446
+
447
+
448
+ def _derived_context_handle(
449
+ snapshot: dict[str, Any] | None, execution_context: dict[str, Any] | None
450
+ ) -> str | None:
451
+ for payload in (execution_context, snapshot):
452
+ if not isinstance(payload, dict):
453
+ continue
454
+ for key in ("context_handle", "snapshot_id", "id"):
455
+ value = payload.get(key)
456
+ if isinstance(value, str) and value.strip():
457
+ return value.strip()
458
+ if isinstance(snapshot, dict):
459
+ canonical = json.dumps(snapshot, ensure_ascii=False, sort_keys=True, separators=(",", ":"))
460
+ return "sha256:" + hashlib.sha256(canonical.encode("utf-8")).hexdigest()
461
+ return None
462
+
463
+
360
464
  def negotiate_execution_mode(
361
465
  mode: str | None = None,
362
466
  *,
@@ -36,6 +36,17 @@ def execution_mode_blocker(profile: Any) -> dict[str, Any]:
36
36
  "next_action": "provide --context-snapshot and retry",
37
37
  }
38
38
  )
39
+ elif code == "COORDINATOR_CONTEXT_REQUIRED":
40
+ from .execution_mode import ACQUIRE_COORDINATOR_CONTEXT_COMMAND, COORDINATOR_CONTEXT_LIFECYCLE
41
+
42
+ blocker.update(
43
+ {
44
+ "message": "coordinator attempt, lease, fence, and context handle are required",
45
+ "retryable": True,
46
+ "next_action": f"run `{ACQUIRE_COORDINATOR_CONTEXT_COMMAND}`",
47
+ "lifecycle": list(COORDINATOR_CONTEXT_LIFECYCLE),
48
+ }
49
+ )
39
50
  elif code == "RUNTIME_SINK_REQUIRED":
40
51
  blocker.update(
41
52
  {