teddy-cli 0.1.17.dev1180__tar.gz → 0.1.17.dev1181__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 (158) hide show
  1. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/PKG-INFO +1 -1
  2. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/pyproject.toml +1 -1
  3. {teddy_cli-0.1.17.dev1180/src/teddy_executor/resources/config/prompts → teddy_cli-0.1.17.dev1181/src/teddy_executor/resources}/MRP.xml +5 -1
  4. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/templates/ARCHITECTURE.md +9 -0
  5. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/templates/PROJECT.md +24 -3
  6. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/templates/makefile.md +20 -1
  7. teddy_cli-0.1.17.dev1180/src/teddy_executor/resources/templates/MM-NN-vertical-slice.md → teddy_cli-0.1.17.dev1181/src/teddy_executor/resources/templates/vertical-slice.md +1 -1
  8. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/.gitignore +0 -0
  9. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/LICENSE +0 -0
  10. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/__init__.py +0 -0
  11. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/__main__.py +0 -0
  12. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/__init__.py +0 -0
  13. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
  14. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
  15. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
  16. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
  17. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
  18. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
  19. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
  20. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
  21. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
  22. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
  23. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
  24. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
  25. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
  26. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
  27. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
  28. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
  29. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
  30. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
  31. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
  32. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
  33. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
  34. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
  35. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
  36. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
  37. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
  38. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
  39. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
  40. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
  41. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
  42. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
  43. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
  44. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
  45. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/container.py +0 -0
  46. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/__init__.py +0 -0
  47. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/__init__.py +0 -0
  48. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/__init__.py +0 -0
  49. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
  50. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/change_set.py +0 -0
  51. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
  52. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
  53. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
  54. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/plan.py +0 -0
  55. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
  56. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/project_context.py +0 -0
  57. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
  58. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/session.py +0 -0
  59. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
  60. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
  61. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/__init__.py +0 -0
  62. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
  63. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
  64. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
  65. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/init.py +0 -0
  66. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
  67. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
  68. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
  69. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
  70. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
  71. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
  72. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
  73. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
  74. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
  75. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
  76. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
  77. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
  78. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
  79. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
  80. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
  81. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
  82. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
  83. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
  84. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
  85. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
  86. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
  87. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
  88. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
  89. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
  90. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/__init__.py +0 -0
  91. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
  92. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
  93. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
  94. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/action_executor.py +0 -0
  95. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/action_factory.py +0 -0
  96. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
  97. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
  98. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/context_service.py +0 -0
  99. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/edit_simulator.py +0 -0
  100. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
  101. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
  102. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/init_service.py +0 -0
  103. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
  104. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
  105. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
  106. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/parser_metadata.py +0 -0
  107. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/parser_reporting.py +0 -0
  108. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/plan_validator.py +0 -0
  109. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/planning_service.py +0 -0
  110. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/prompt_manager.py +0 -0
  111. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
  112. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
  113. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
  114. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_planner.py +0 -0
  115. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
  116. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_replanner.py +0 -0
  117. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_repository.py +0 -0
  118. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/session_service.py +0 -0
  119. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
  120. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/update_checker.py +0 -0
  121. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
  122. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
  123. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
  124. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
  125. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
  126. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
  127. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
  128. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
  129. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/__init__.py +0 -0
  130. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/diff.py +0 -0
  131. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
  132. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/io.py +0 -0
  133. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/markdown.py +0 -0
  134. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/serialization.py +0 -0
  135. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
  136. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/string.py +0 -0
  137. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/core/utils/terminal.py +0 -0
  138. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/prompts.py +0 -0
  139. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/registries/__init__.py +0 -0
  140. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/registries/infrastructure.py +0 -0
  141. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/registries/reviewer.py +0 -0
  142. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/registries/validators.py +0 -0
  143. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/__init__.py +0 -0
  144. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/__init__.py +0 -0
  145. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/config.yaml +0 -0
  146. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/init.context +0 -0
  147. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
  148. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
  149. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
  150. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
  151. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
  152. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
  153. /teddy_cli-0.1.17.dev1180/src/teddy_executor/resources/templates/NN-case-file.md → /teddy_cli-0.1.17.dev1181/src/teddy_executor/resources/templates/case-file.md +0 -0
  154. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/templates/ci.md +0 -0
  155. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/templates/component-design.md +0 -0
  156. /teddy_cli-0.1.17.dev1180/src/teddy_executor/resources/templates/MM-milestone.md → /teddy_cli-0.1.17.dev1181/src/teddy_executor/resources/templates/milestone.md +0 -0
  157. {teddy_cli-0.1.17.dev1180 → teddy_cli-0.1.17.dev1181}/src/teddy_executor/resources/templates/specification-document.md +0 -0
  158. /teddy_cli-0.1.17.dev1180/src/teddy_executor/resources/templates/NN-task-brief.md → /teddy_cli-0.1.17.dev1181/src/teddy_executor/resources/templates/task-brief.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: teddy-cli
3
- Version: 0.1.17.dev1180
3
+ Version: 0.1.17.dev1181
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.dev1180"
3
+ version = "0.1.17.dev1181"
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" }
@@ -51,7 +51,7 @@ WIP & REMINDERS:
51
51
  1. Pre-conditions: Clean up temporary files (spikes/, .tmp/). If unsure of changes, `EXECUTE git add . && git diff HEAD`.
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: You MUST test, stage, commit locally, pull safely with rebase, and push by running `make commit '<type>(<scope>): <description>'`. If a `Makefile` does not exist in the project root, you MUST first create one following the template at `docs/templates/makefile.md`. To bypass pre-commit checks (e.g., for known false positives), use `make commit '<type>(<scope>): <description>' no-verify`.
54
- 4. Post-conditions: All tests MUST pass (post-commit hook enforces this; never bypass). Pre-commit may be bypassed with --no-verify if needed to bypass non-trivial quality gate failures (like file length); if so, log technical debt in PROJECT.md.
54
+ 4. Post-conditions: All tests MUST pass (post-commit hook enforces this; never bypass). Pre-commit may be bypassed with --no-verify if needed to bypass non-trivial quality gate failures (like file length). If pre-commit is bypassed, you MUST make a follow-up cleanup commit that resolves the bypassed issues before resuming feature work, and log the debt in PROJECT.md if it cannot be resolved immediately.
55
55
  </rule>
56
56
 
57
57
  <rule n="7" name="Standardized Plan Types">
@@ -85,6 +85,10 @@ WIP & REMINDERS:
85
85
  <rule n="12" name="Template-First Documentation">
86
86
  <description>Before creating or modifying a documentation file under docs/, you MUST first READ the corresponding template from docs/templates/. Templates define the required structure and format for each artifact type. Template files are named by artifact type (e.g., specification-document.md, task-brief.md, case-file.md, PROJECT.md, ARCHITECTURE.md). If no template exists for your artifact, READ the most similar one as a reference.</description>
87
87
  </rule>
88
+
89
+ <rule n="13" name="Communication Hygiene">
90
+ <description>Applies to all user-facing Messages and turn titles: (1) Do not repeat the same title across consecutive turns — each turn's title MUST reflect its distinct responsibility, and if you detect a vicious loop with no new progress you MUST transition to BLOCKED 🔴 rather than repeating yourself. (2) Do not restate content already delivered in a prior Message, and do not send a new Message until the work previously agreed in the last Message is complete — the only exception is entering BLOCKED 🔴. (3) Record important findings and constraints as `[!]` entries in the State Dashboard so they persist across turns. (4) End every Message with a concise TL;DR line summarizing the key point or the decision requested.</description>
91
+ </rule>
88
92
  </general_rules>
89
93
 
90
94
  <response_format>
@@ -16,6 +16,15 @@ This section defines foundational engineering practices. Each entry MUST be a sp
16
16
  - **CI Pipeline:** Two parallel jobs — 1) Blocking OS matrix test suite with strict test coverage targets. 2) Non-blocking (continue-on-error: true) quality checks running fast formatters, linters, security/secret scanners, type checkers, and repository-wide structural checks (excluding sandboxes and third-party dependencies).
17
17
  - **Pre-commit Hooks:** Scope (staged files only), required hooks (formatters, linters, type checkers, security scanners).
18
18
  - **Post-commit Execution:** Full test suite run on commit, automatic revert on failure.
19
+ - **Makefile Commands:** The `Makefile` is the canonical entry point for the VCP commit workflow and on-demand test runs. `make test` runs the full suite, `make commit '<msg>'` performs a VCP commit, and `make probe '<reason>'` runs the Remote Probing Protocol. See [docs/templates/makefile.md](docs/templates/makefile.md).
20
+
21
+ ### Pre-commit Quick-Start
22
+
23
+ ```shell
24
+ pre-commit install # install the pre-commit stage hook
25
+ pre-commit install --hook-type post-commit # install the post-commit test gate
26
+ pre-commit run --all-files # run all hooks manually against the repo
27
+ ```
19
28
 
20
29
  ## 2. Component & Boundary Map
21
30
 
@@ -20,6 +20,27 @@ Defines the high-level artifact lifecycle and conventions for project management
20
20
  - **Numbering:** Sequential MM-NN format, 00 prefix for ad-hoc work.
21
21
  - **Archiving Policy:** When and how completed artifacts are archived or deleted.
22
22
  - **Spec Organization:** Organize specification documents by lifecycle into two subfolders: `docs/project/specs/invariants/` (formats, contracts, and workflows of record — long-lived system invariants) and `docs/project/specs/features/` (to-be-implemented initiatives that feed the Spec → Milestone → Slice lifecycle — deleted per the Archiving Policy once implemented).
23
+ - **Run Environment:** Specify the project's designated environment/dependency manager (e.g., `uv`, `poetry`, `pip`) and prefix ALL execution commands with its runner (e.g., `uv run pytest`). The chosen runner MUST be reflected in the `Makefile`.
24
+ - **Build & Run Commands:** Document the standard commands in the project `Makefile` (see [docs/templates/makefile.md](docs/templates/makefile.md)). At minimum: `make test` (full suite), `make commit '<msg>'` (VCP), and `make probe '<reason>'` (Remote Probing Protocol).
25
+
26
+ ## Templates
27
+
28
+ Before creating or modifying any documentation artifact, agents MUST read the corresponding template from `docs/templates/`. The bundled templates are:
29
+
30
+ | Template | Purpose |
31
+ | -------- | ------- |
32
+ | `specification-document.md` | Specification documents (features and invariants) |
33
+ | `milestone.md` | Milestone documents |
34
+ | `vertical-slice.md` | Vertical slice definitions |
35
+ | `component-design.md` | Component design documents (ports and contracts) |
36
+ | `task-brief.md` | Tactical task briefs |
37
+ | `case-file.md` | Debugger case files |
38
+ | `PROJECT.md` | This project dashboard |
39
+ | `ARCHITECTURE.md` | System architecture document |
40
+ | `makefile.md` | Makefile (VCP commit + Remote Probing Protocol commands) |
41
+ | `ci.md` | CI workflow template (debug workflow for the Remote Probing Protocol) |
42
+
43
+ These files live in `docs/templates/` and are created or refreshed by `teddy init templates`.
23
44
 
24
45
  ## Roadmap
25
46
 
@@ -42,12 +63,12 @@ A living list of upcoming Milestones and their high-level features.
42
63
  - **Core Goal:** Establish the foundational project infrastructure for testing, CI/CD, and pre-commit quality gates.
43
64
  - **Specs:** N/A — Milestone 0 is self-defining.
44
65
  - **Requirements:**
45
- - **Testing Framework Setup:** Configure the project's designated test runner (e.g., `pytest`) with test discovery conventions.
66
+ - **Testing Framework Setup:** Configure the project's designated test runner (e.g., `pytest`) with test discovery conventions, exposed via a `make test` target (see the Makefile below).
46
67
  - **CI/CD Pipeline:** Set up two parallel jobs: 1) Blocking OS matrix test suite with coverage targets. 2) Non-blocking quality checks (formatters, linters, security scanners).
47
68
  - **Pre-commit Hooks:** Install the Pre-commit framework with hooks for formatters, linters, security scanners.
48
- - **Post-commit Hook:** Implement a hook that runs the full test suite and reverts on failure.
69
+ - **Post-commit Hook:** Implement a hook that runs the full test suite via `make test` and reverts the commit on failure (via `git reset --soft HEAD~1`, keeping changes staged). This is the unskippable safety net — `--no-verify` MUST NOT bypass it.
49
70
  - **Debug Workflow:** Create `.github/workflows/debug.yml` following [docs/templates/ci.md](docs/templates/ci.md) to enable the Remote Probing Protocol.
50
- - **Makefile:** Create a `Makefile` following [docs/templates/makefile.md](docs/templates/makefile.md) with `make commit` and `make probe` commands.
71
+ - **Makefile:** Create a `Makefile` following [docs/templates/makefile.md](docs/templates/makefile.md) with `make commit`, `make probe`, and `make test` commands. `make commit` implements the VCP workflow, `make probe` implements the Debugger's Remote Probing Protocol, and `make test` runs the full suite on demand.
51
72
 
52
73
  ## Technical Debt
53
74
  Tracks known technical debt for future cleanup.
@@ -14,7 +14,15 @@ make commit 'fix(tests): resolve flaky assertion' no-verify
14
14
  ```
15
15
 
16
16
  **What is `.PHONY`?**
17
- `.PHONY` is a Makefile directive that declares `commit` and `probe` as phony targets — they do not correspond to actual files. Without `.PHONY`, if a file named `commit` or `probe` existed in the directory (e.g., a script called `commit`), Make would see it as up-to-date and skip the target entirely. By declaring them phony, Make always runs the recipe when you call `make commit` or `make probe`.
17
+ `.PHONY` is a Makefile directive that declares `commit`, `probe`, and `test` as phony targets — they do not correspond to actual files. Without `.PHONY`, if a file named `commit` or `probe` existed in the directory (e.g., a script called `commit`), Make would see it as up-to-date and skip the target entirely. By declaring them phony, Make always runs the recipe when you call `make commit`, `make probe`, or `make test`.
18
+
19
+ ### Test
20
+ ```shell
21
+ make test
22
+ ```
23
+
24
+ **What does `make test` run?**
25
+ `make test` runs the project's full test suite via the designated runner (e.g. `uv run pytest`). The post-commit hook runs the same suite automatically on every commit; this target exposes it as an on-demand command for agents and developers. If a project's Makefile lacks a `test` target, agents MUST add one following this template.
18
26
 
19
27
  ### Probe
20
28
  ```shell
@@ -59,6 +67,17 @@ The Makefile uses Make's built-in `-` prefix for error suppression (`-pre-commit
59
67
  - **Windows (cmd.exe):** `-` prefix works because Make suppresses the exit code check, avoiding shell-specific `||` operators that cmd.exe does not support.
60
68
  - **Error transparency:** If pre-commit, pull, or push fail, the commit still succeeds locally. The post-commit test gate is the real safety net; remote failures appear as non-zero exit codes in the terminal output.
61
69
 
70
+ ## Test Workflow
71
+
72
+ ### Example
73
+
74
+ ```makefile
75
+ test:
76
+ uv run pytest
77
+ ```
78
+
79
+ **Usage:** `make test`
80
+
62
81
  ## VCP Commit Workflow
63
82
 
64
83
  ### Example
@@ -4,7 +4,7 @@
4
4
  - **Specs:** [links]
5
5
  - **Prototype:** [link]
6
6
  - **Component Docs:** [links]
7
- - **Scope Slug:** `feature-slug`
7
+ - **Scope Slug:** `feature-slug` <!-- 1-2 kebab-case words only. -->
8
8
 
9
9
  ## Business Goal
10
10