teddy-cli 0.1.17.dev1337__tar.gz → 0.1.17.dev1339__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 (162) hide show
  1. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/PKG-INFO +1 -1
  2. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/pyproject.toml +1 -1
  3. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/makefile.md +7 -3
  4. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/.gitignore +0 -0
  5. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/LICENSE +0 -0
  6. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/README.md +0 -0
  7. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/__init__.py +0 -0
  8. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/__main__.py +0 -0
  9. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/__init__.py +0 -0
  10. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  11. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  12. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  13. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
  14. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  15. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  16. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  17. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  18. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  19. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  20. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  21. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  22. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  23. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  24. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  25. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  26. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  27. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  28. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  29. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  30. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  31. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  32. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  33. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  34. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  35. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  36. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  37. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  38. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  39. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  40. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  41. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  42. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/container.py +0 -0
  43. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/__init__.py +0 -0
  44. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/__init__.py +0 -0
  45. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  46. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  47. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  48. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
  49. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  50. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  51. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  52. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/plan.py +0 -0
  53. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  54. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  55. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  56. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/session.py +0 -0
  57. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  58. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  59. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/__init__.py +0 -0
  60. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  61. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  62. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  63. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  64. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  65. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  66. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  67. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  68. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  69. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  70. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  71. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  72. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  73. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  74. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  75. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  76. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  77. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  78. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  79. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  80. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  81. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  82. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  83. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  84. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  85. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  86. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  87. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  88. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/__init__.py +0 -0
  89. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  90. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  91. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  92. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/action_executor.py +0 -0
  93. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/action_factory.py +0 -0
  94. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  95. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  96. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/context_service.py +0 -0
  97. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  98. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  99. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  100. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/init_service.py +0 -0
  101. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  102. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  103. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  104. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  105. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  106. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/plan_validator.py +0 -0
  107. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/planning_service.py +0 -0
  108. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  109. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  110. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  111. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  112. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_planner.py +0 -0
  113. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  114. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_replanner.py +0 -0
  115. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_repository.py +0 -0
  116. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/session_service.py +0 -0
  117. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  118. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/update_checker.py +0 -0
  119. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  120. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  121. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  122. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  123. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  124. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  125. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  126. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  127. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/__init__.py +0 -0
  128. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/diff.py +0 -0
  129. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  130. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/io.py +0 -0
  131. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/markdown.py +0 -0
  132. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/paths.py +0 -0
  133. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/serialization.py +0 -0
  134. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/session_notices.py +0 -0
  135. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  136. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/string.py +0 -0
  137. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/core/utils/terminal.py +0 -0
  138. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/prompts.py +0 -0
  139. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/registries/__init__.py +0 -0
  140. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/registries/infrastructure.py +0 -0
  141. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/registries/reviewer.py +0 -0
  142. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/registries/validators.py +0 -0
  143. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/MRP.md +0 -0
  144. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/__init__.py +0 -0
  145. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/__init__.py +0 -0
  146. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/config.yaml +0 -0
  147. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/init.context +0 -0
  148. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
  149. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
  150. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
  151. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
  152. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
  153. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
  154. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
  155. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
  156. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/case-file.md +0 -0
  157. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/ci.md +0 -0
  158. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/component-design.md +0 -0
  159. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/milestone.md +0 -0
  160. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
  161. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  162. {teddy_cli-0.1.17.dev1337 → teddy_cli-0.1.17.dev1339}/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.dev1337
3
+ Version: 0.1.17.dev1339
4
4
  Summary: The local-first, test-driven agentic engineering harness. Because you should own the means of development.
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.dev1337"
3
+ version = "0.1.17.dev1339"
4
4
  description = "The local-first, test-driven agentic engineering harness. Because you should own the means of development."
5
5
  readme = "README.md"
6
6
  keywords = [
@@ -88,7 +88,7 @@ Always use GNU Make native features for cross-platform compatibility instead of
88
88
  - **Shell-less empty recipe:** Use `%: ;` to absorb extra command-line arguments. In Windows `cmd.exe`, the Unix built-in `@:` fails because `:` is reserved syntax for labels and drives. The empty recipe `%: ;` tells Make to do nothing without spawning a subshell.
89
89
  - **Windows shell selection:** Set `SHELL := bash.exe` when `OS` is `Windows_NT` so multi-line shell pipelines (`ci-watch`, `probe`, `logs`) execute through Git Bash.
90
90
  - **Native error suppression:** The Makefile uses Make's built-in `-` prefix (`-pre-commit run`) instead of shell-level `|| true` or `&&`/`||` chaining. Make suppresses non-zero exit codes natively before passing lines to the shell.
91
- - **Error transparency:** The pre-commit pass is advisory. If it fails, the commit still succeeds locally. The post-commit test gate acts as the safety net. `make push` runs `git pull --rebase` and `git push` without suppression, so a rebase conflict or push rejection surfaces as a non-zero exit.
91
+ - **Error transparency:** The first pre-commit pass is advisory, so its non-zero exit is ignored and auto-fixed files are re-staged. Git then runs the same hooks again during `git commit`, and that second run is the blocking local gate. A hook failure there aborts the commit. The post-commit test gate is the final safety net. `make push` runs `git pull --rebase` and `git push` without suppression, so a rebase conflict or push rejection surfaces as a non-zero exit.
92
92
 
93
93
  ## Test Workflow
94
94
 
@@ -174,6 +174,7 @@ Key behaviors:
174
174
  1. **Automatic SHA and BASE resolution.** `SHA` defaults to current `HEAD` (or `COMMIT=<sha>`), and `BASE` resolves per workflow to the most recent ancestor of `SHA` that carries a run for that workflow (bounded by `BASE_DEPTH`, default 50). An explicit `BASE=<sha>` pins the baseline verbatim and skips resolution; if the pinned commit carries no run for the workflow, the target fails safe as an unknown base.
175
175
  2. **Registration lag is tolerated by a bounded retry.** CI can fail to register a run for the pushed SHA immediately. The target polls `gh run list --commit <sha>` up to `RETRY_POLLS × RETRY_SLEEP` (default 10 × 2s ≈ 20s) before attributing. It fails safe if the run never registers.
176
176
  3. **No CI is non-blocking.** If the repository has no workflow files under `.github/workflows/` (`*.yml`/`*.yaml`), the target logs `No CI configured - skipping attribution` and exits 0.
177
+ 4. **Workflow names with spaces stay whole.** The target reads workflow names one line at a time. A name such as `Publish to PyPI` is attributed as one workflow.
177
178
 
178
179
  ### Example
179
180
 
@@ -202,7 +203,10 @@ ci-watch:
202
203
  echo "CI: no run registered for $$SHA after $$(( $(RETRY_POLLS) * $(RETRY_SLEEP) ))s - fail-safe block"; \
203
204
  exit 1; \
204
205
  fi; \
205
- for WF in $$WFS; do \
206
+ WFLIST=$${TMPDIR:-/tmp}/ci-watch-workflows.$$$$; \
207
+ trap 'rm -f "$$WFLIST"' EXIT; \
208
+ printf '%s\n' "$$WFS" > "$$WFLIST"; \
209
+ while IFS= read -r WF; do \
206
210
  NEW=$$(gh run list --commit "$$SHA" --workflow "$$WF" --json databaseId --jq '.[0].databaseId'); \
207
211
  gh run watch "$$NEW" --exit-status >/dev/null 2>&1 || true; \
208
212
  NEWCONC=$$(gh run view "$$NEW" --json conclusion --jq '.conclusion'); \
@@ -257,7 +261,7 @@ ci-watch:
257
261
  echo "$$WF: BLOCKING failure ($$NEWFAIL) — YOUR regression"; \
258
262
  STATUS=1; \
259
263
  fi; \
260
- done; \
264
+ done < "$$WFLIST"; \
261
265
  exit $$STATUS
262
266
  ```
263
267