teddy-cli 0.1.17.dev1270__tar.gz → 0.1.17.dev1272__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 (161) hide show
  1. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/PKG-INFO +1 -1
  2. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/pyproject.toml +1 -1
  3. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/MRP.xml +1 -1
  4. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/prompts/developer.xml +2 -2
  5. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/makefile.md +3 -2
  6. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/.gitignore +0 -0
  7. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/LICENSE +0 -0
  8. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/__init__.py +0 -0
  9. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/__main__.py +0 -0
  10. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/__init__.py +0 -0
  11. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  12. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  13. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  14. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
  15. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  16. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  17. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  18. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  19. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  20. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  21. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  22. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  23. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  24. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  25. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  26. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  27. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  28. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  29. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  30. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  31. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  32. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  33. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  34. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  35. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  36. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  37. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  38. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  39. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  40. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  41. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  42. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  43. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/container.py +0 -0
  44. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/__init__.py +0 -0
  45. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/__init__.py +0 -0
  46. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  47. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  48. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  49. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  50. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  51. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  52. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  53. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/plan.py +0 -0
  54. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  55. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  56. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  57. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/session.py +0 -0
  58. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  59. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  60. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/__init__.py +0 -0
  61. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  62. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  63. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  64. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  65. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  66. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  67. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  68. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  69. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  70. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  71. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  72. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  73. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  74. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  75. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  76. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  77. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  78. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  79. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  80. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  81. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  82. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  83. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  84. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  85. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  86. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  87. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  88. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  89. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/__init__.py +0 -0
  90. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  91. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  92. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  93. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/action_executor.py +0 -0
  94. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/action_factory.py +0 -0
  95. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  96. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  97. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/context_service.py +0 -0
  98. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  99. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  100. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  101. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/init_service.py +0 -0
  102. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  103. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  104. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  105. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  106. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  107. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/plan_validator.py +0 -0
  108. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/planning_service.py +0 -0
  109. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  110. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  111. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  112. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  113. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_planner.py +0 -0
  114. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  115. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_replanner.py +0 -0
  116. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_repository.py +0 -0
  117. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/session_service.py +0 -0
  118. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  119. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/update_checker.py +0 -0
  120. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  121. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  122. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  123. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  124. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  125. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  126. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  127. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  128. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/__init__.py +0 -0
  129. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/diff.py +0 -0
  130. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  131. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/io.py +0 -0
  132. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/markdown.py +0 -0
  133. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/paths.py +0 -0
  134. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/serialization.py +0 -0
  135. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  136. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/string.py +0 -0
  137. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/core/utils/terminal.py +0 -0
  138. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/prompts.py +0 -0
  139. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/registries/__init__.py +0 -0
  140. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/registries/infrastructure.py +0 -0
  141. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/registries/reviewer.py +0 -0
  142. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/registries/validators.py +0 -0
  143. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/__init__.py +0 -0
  144. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/__init__.py +0 -0
  145. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/config.yaml +0 -0
  146. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/init.context +0 -0
  147. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
  148. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
  149. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
  150. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
  151. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
  152. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  153. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  154. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/case-file.md +0 -0
  155. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/ci.md +0 -0
  156. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/component-design.md +0 -0
  157. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/milestone.md +0 -0
  158. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  159. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  160. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/task-brief.md +0 -0
  161. {teddy_cli-0.1.17.dev1270 → teddy_cli-0.1.17.dev1272}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: teddy-cli
3
- Version: 0.1.17.dev1270
3
+ Version: 0.1.17.dev1272
4
4
  Summary: A local-first, file-based AI coding workflow that applies the UNIX philosophy to AI collaboration.
5
5
  Author: Raphael Atteritano
6
6
  License: AGPL-3.0-only
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "teddy-cli"
3
- version = "0.1.17.dev1270"
3
+ version = "0.1.17.dev1272"
4
4
  description = "A local-first, file-based AI coding workflow that applies the UNIX philosophy to AI collaboration."
5
5
  authors = [{ name = "Raphael Atteritano" }]
6
6
  license = { text = "AGPL-3.0-only" }
@@ -52,7 +52,7 @@ NOTES:
52
52
  2. Commit Message: Use Conventional Commits '<type>(<scope>): <description>' wrapped in single quotes. Use imperative mood. Append ! for breaking changes.
53
53
  3. Execution: Run `make commit '<type>(<scope>): <description>'` to stage, run the local pre-commit hooks, and commit. `make commit` stages ALL local changes, including currently unstaged ones (`git add .`). The target commits WITHOUT `--no-verify`, so Git's own pre-commit hook is a real local gate; the post-commit test gate always runs and is unaffected.
54
54
  4. Post-conditions: All tests MUST pass — the post-commit hook runs the full suite and reverts the commit on failure; this gate is unskippable and MUST NEVER be bypassed. The pre-commit stage is advisory (its failures do not block the local commit), but if it reported non-trivial quality-gate issues (e.g. file length), you MUST make a follow-up cleanup commit that resolves them before resuming feature work. Triage any resulting `[DEBT]` per the Technical Debt Triage policy — there is no `## Technical Debt` holding pen.
55
- 5. Push at Conclusion: In the Conclusion phase, run `make push` to rebase onto the remote, push, and report the CI results. `make push` answers ONE question only: did this push turn a BLOCKING gate red? The pushed RUN's own conclusion is authoritative — it already folds in `continue-on-error`, so a non-blocking job (e.g. the CI `Quality Checks` job) can NEVER block the session. Only when the run-level conclusion is `failure` does attribution run: the base run (`origin/main` before the push) is classified as green, red, job-less, or absent, and a base that exists but is job-less is NOT green. A failure your push introduced (base green/absent/job-less -> new red) is YOUR regression (exit 1, fix before concluding); a failure already on the base (base red -> new red) is pre-existing (report and continue). Tests MUST always be fixed. A non-blocking quality result MUST be triaged per the Technical Debt Triage policy — fixed in-flight or explicitly scheduled into a slice or milestone — and MUST NOT be silently accepted.
55
+ 5. Push at Conclusion: In the Conclusion phase, run `make push` to rebase onto the remote, push, and report the CI results. `make push` answers ONE question only: did this push turn a BLOCKING gate red? The pushed RUN's own conclusion is authoritative — it already folds in `continue-on-error`, so a non-blocking job (e.g. the CI `Quality Checks` job) can NEVER block the session. Only when the run-level conclusion is `failure` does attribution run: the base run (`origin/main` before the push) is classified as green, red, job-less, or absent, and a base that exists but is job-less is NOT green. A failure your push introduced (base green/absent/job-less -> new red) is YOUR regression (exit 1, fix before concluding); a failure already on the base (base red -> new red) is pre-existing (report and continue). `make push` prints each failing step's NAME, its run id, and that step's (bounded) log details; when a failure needs deeper investigation, read the FULL step log with `make logs <run-id> '<step-name>'`. Tests MUST always be fixed. A non-blocking quality result MUST be triaged per the Technical Debt Triage policy — fixed in-flight or explicitly scheduled into a slice or milestone — and MUST NOT be silently accepted.
56
56
  </rule>
57
57
 
58
58
  <rule n="7" name="Standardized Plan Types">
@@ -13,7 +13,7 @@
13
13
  <workflow>
14
14
  <description>The Iterative Delivery Cycle. You MUST execute this full cycle (including VCP) for EACH individual deliverable separately.</description>
15
15
  <phase_tracking>The phases below are tracked in the State Dashboard. Use these exact phase names in the dashboard's WORKFLOW list.</phase_tracking>
16
- <artifact_templates>When you create a project artifact, use the corresponding Markdown template from `docs/templates/` (e.g., `vertical-slice.md`, `case-file.md`, `task-brief.md`). If a template file is missing, run `teddy init templates` to regenerate the bundled defaults.</artifact_templates>
16
+ <artifact_templates>When you create a project artifact, use the corresponding Markdown template from `docs/templates/` (e.g., `vertical-slice.md`, `task-brief.md`). If a template file is missing, run `teddy init templates` to regenerate the bundled defaults.</artifact_templates>
17
17
 
18
18
  <phase n="1" name="Orientation">
19
19
  <goal>Foundation and scope verification.</goal>
@@ -108,7 +108,7 @@
108
108
  - Next slice un-designed (no slice `.md` exists) → Message the user to start a new session with the Architect to design the next slice JIT.
109
109
  - Next slice designed → Message the user to start a new session with the Prototyper (if unresolved `[ ]` Key Unknowns remain) or the Developer.
110
110
  - All slices complete in the Milestone → Message the user to start a new session with the Pathfinder to close the milestone and review the roadmap.
111
- - If any step fails: Investigate root cause, then CREATE a Case File in `docs/project/debugging/` using the Case File blueprint and commit it. Message the user to start a new session with the Debugger, providing the Case File path as context. Do NOT return to Implementation.</step>
111
+ - If any step fails: Investigate the root cause yourself first. If the cause is isolated and the fix is clear, apply it and re-run Verification. If the root cause is still not obvious after your investigation, halt and Message the user (transition to BLOCKED 🔴) explaining what you attempted, what you observed, and what remains unclear — the user decides whether to invoke the Debugger. You MUST NOT create a Case File or start a Debugger session yourself. Do NOT return to Implementation.</step>
112
112
  </phase>
113
113
  </workflow>
114
114
 
@@ -137,7 +137,7 @@ The pushed RUN's own conclusion is authoritative: it already folds in `continue-
137
137
  - **all green / non-blocking** → PASSED → **exit 0**.
138
138
  - **job-less base** → NOT green: a base run that exists but carries zero jobs (an invalid-workflow failure) is treated as an unknown base and fails safe (block).
139
139
 
140
- When any step fails — blocking or not — the target also prints that step's log details via `gh run view <id> --log-failed` (ANSI/timestamp-stripped and indented), bounded to `DETAIL_LINES` lines (default 50), so the cause is visible without leaving the session.
140
+ When any step fails — blocking or not — the target prints the failing step's name and its run id, then that step's log details (ANSI/timestamp-stripped and indented), bounded to `DETAIL_LINES` lines (default 50), and points to `make logs <run-id> '<step-name>'` for the full step log when needed.
141
141
 
142
142
  Attribution is deterministic: SHA → run → run-level + per-job conclusion (never "the latest run").
143
143
 
@@ -182,8 +182,9 @@ push:
182
182
  NEWFAIL=$$(gh run view "$$NEW" --json jobs --jq '[.jobs[] | select(.conclusion=="failure") | .name] | sort | join(",")'); \
183
183
  NEWSTEPS=$$(gh run view "$$NEW" --json jobs --jq '[.jobs[] | select(.conclusion=="failure") | .steps[]? | select(.conclusion=="failure") | .name] | sort | join(", ")'); \
184
184
  if [ -n "$$NEWSTEPS" ]; then \
185
- echo "$$WF: failing step(s): $$NEWSTEPS"; \
185
+ echo "$$WF: failing step(s): $$NEWSTEPS (run $$NEW)"; \
186
186
  gh run view "$$NEW" --log-failed 2>/dev/null | awk -F'\t' '{ l=$$3; p=index(l,"Z "); if(p>0)l=substr(l,p+2); gsub(/\x1B\[[0-9;]*[a-zA-Z]/,"",l); gsub(/\^\[\[[0-9;]*[a-zA-Z]/,"",l); if(l ~ /^##\[group\]/ || l ~ /^##\[endgroup\]/) next; gsub(/^##\[error\]/,"Error: ",l); print l }' | tail -n $(DETAIL_LINES) | sed 's/^/ /'; \
187
+ echo " full log: make logs $$NEW '$$NEWSTEPS'"; \
187
188
  fi; \
188
189
  if [ "$$NEWCONC" != "failure" ]; then \
189
190
  if [ -n "$$NEWFAIL" ]; then \