teddy-cli 0.1.17.dev1416__tar.gz → 0.1.17.dev1418__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.
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/MRP.md +2 -2
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/prompts/debugger.md +1 -1
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/makefile.md +26 -5
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/README.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/editor_names.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -56,7 +56,7 @@ Every EXECUTE action runs in a fresh subshell rooted at the project root (CWD).
|
|
|
56
56
|
|
|
57
57
|
### Information Gathering Workflow
|
|
58
58
|
|
|
59
|
-
If you are missing information critical to your immediate goal, gather it efficiently without getting sidetracked. You can chain multiple discovery actions in one turn. Discover locally via `EXECUTE` (`git grep`) and externally via `RESEARCH`. Never rely on search snippets; always `READ` target URLs. For opaque sources (JavaScript-rendered pages, PDFs, binary formats) where `READ` fails or yields unusable content, `CREATE` and `EXECUTE` a minimal extraction script to inspect the raw data or API. If static reading leaves behavioral ambiguity, validate assumptions via a minimal spike in `spikes/`. Check flags with `[tool] --help` before running complex CLI commands.
|
|
59
|
+
If you are missing information critical to your immediate goal, gather it efficiently without getting sidetracked. You can chain multiple discovery actions in one turn. Discover locally via `EXECUTE` (`git grep`) and externally via `RESEARCH`. Never rely on search snippets; always `READ` target URLs. For opaque sources (JavaScript-rendered pages, PDFs, binary formats) where `READ` fails or yields unusable content, `CREATE` and `EXECUTE` a minimal extraction script to inspect the raw data or API. If static reading leaves behavioral ambiguity, validate assumptions via a minimal spike in `spikes/`. Check flags with `[tool] --help` before running complex CLI commands. To read CI logs, use `make logs RUN=<run-id>` for all failed steps, or `make logs RUN=<run-id> STEP="<step-name>"` for one step.
|
|
60
60
|
|
|
61
61
|
### Version Control
|
|
62
62
|
|
|
@@ -67,7 +67,7 @@ The entire commit cycle (test, stage, commit) MUST occur in a dedicated Version
|
|
|
67
67
|
3. Execution: Run `make commit MSG="<type>(<scope>): <description>"`. This stages all local changes (`git add .`) and runs Git's local hooks before committing.
|
|
68
68
|
4. Post-conditions: All tests MUST pass: the post-commit hook reverts automatically on failure and cannot be bypassed.
|
|
69
69
|
5. Push at Conclusion: In the Conclusion phase, if a remote is configured, run `make push`.
|
|
70
|
-
6. CI Monitoring: If remote CI is configured and a push occurred, run `make ci-watch` to monitor workflow runs
|
|
70
|
+
6. CI Monitoring: If remote CI is configured and a push occurred, run `make ci-watch` to monitor workflow runs. If needed inspect details using `make logs`.
|
|
71
71
|
|
|
72
72
|
### Standardized Plan Types
|
|
73
73
|
|
|
@@ -14,7 +14,7 @@ Follow these phases and steps in order. Keep track of your progress in your Stat
|
|
|
14
14
|
1. **Case File Check:**
|
|
15
15
|
If a Case File was not provided in the initial context, CREATE one following the case file template and path conventions.
|
|
16
16
|
2. **Context and History Gathering:**
|
|
17
|
-
Use EXECUTE `git grep`, EXECUTE `git log`, READ, and RESEARCH to understand the codebase, recent changes, and identify the last known green CI run or commit. For historical CI failures
|
|
17
|
+
Use EXECUTE `git grep`, EXECUTE `git log`, READ, and RESEARCH to understand the codebase, recent changes, and identify the last known green CI run or commit. For historical CI failures pull the failed step logs.
|
|
18
18
|
3. **Diagnostic MRE and Platform Check:**
|
|
19
19
|
Trigger the symptom: if an existing command, test, or CI failure exists, execute it to observe the failure live. If the bug is reported verbally or without an existing test, write a targeted probe script in `spikes/debug/{scope-slug}/` to trigger the symptom.
|
|
20
20
|
|
|
@@ -91,10 +91,10 @@ EOF
|
|
|
91
91
|
|
|
92
92
|
Always use GNU Make native features for cross-platform compatibility instead of shell-specific constructs:
|
|
93
93
|
|
|
94
|
-
- **
|
|
94
|
+
- **Required input validation:** Reject a missing required input in a parse-time block, not in the recipe. Make runs the check while it reads the file, so it aborts before any prerequisite and before any shell process starts. See [Parse-Time Input Validation](#parse-time-input-validation).
|
|
95
95
|
- **Named inputs instead of positional goals:** Pass values as `NAME="value"`, as in `make commit MSG="feat(scope): add thing"`. GNU Make treats a command-line assignment as a variable, so no word of the value can become a goal. Positional capture through `$(MAKECMDGOALS)` is forbidden, because a word that names a real target executes that target.
|
|
96
96
|
- **Parse-time goal validation:** Compare `$(MAKECMDGOALS)` against a `_KNOWN_GOALS` list and abort with `$(error ...)` when a goal is unknown or when more than one goal is present. The check runs while Make reads the file, so no recipe line can run first.
|
|
97
|
-
- **POSIX shell preflight:** Every POSIX recipe target (`ci-watch`, `probe`, `logs`) depends on the internal `_preflight` target, which verifies `git`, `gh`, `awk`, and `sed` before any network call. It aborts with one actionable message instead of a generic `make: *** Error 1`.
|
|
97
|
+
- **POSIX shell preflight:** Every POSIX recipe target (`ci-watch`, `probe`, `logs`) depends on the internal `_preflight` target, which verifies `git`, `gh`, `awk`, and `sed` before any network call. It aborts with one actionable message instead of a generic `make: *** Error 1`. A missing required input aborts at parse time, before the tool gate runs.
|
|
98
98
|
- **Shell routing for Bash-only commands:** Make spawns a recipe line directly when the line carries no shell metacharacter. That direct spawn bypasses `SHELL`. On Windows it fails for Git Bash-only programs such as `sleep` and for shell builtins such as `echo`. Keep these commands inside a shell block that carries `;`, `&&`, or a variable expansion.
|
|
99
99
|
- **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. `_preflight` also confirms that the shell is Git Bash rather than the WSL `bash.exe` shim, and it names the `SHELL=` override when it is not.
|
|
100
100
|
- **Portable quoting:** Pass values with double quotes, as in `--field reason="..."`, because Windows `cmd.exe` keeps single quotes literally.
|
|
@@ -102,6 +102,28 @@ Always use GNU Make native features for cross-platform compatibility instead of
|
|
|
102
102
|
- **Explicit advisory fallback:** The advisory pre-commit pass consumes its own exit code with `|| echo "<sentence>"`, so a failing run prints one plain sentence. Make's `-` prefix is forbidden here, because it prints a bare `Error 1 (ignored)` line that reads as an unexplained defect.
|
|
103
103
|
- **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.
|
|
104
104
|
|
|
105
|
+
### Parse-Time Input Validation
|
|
106
|
+
|
|
107
|
+
A required input is rejected while Make reads the file, so the check runs before any prerequisite and before any shell process starts. A recipe-level check is forbidden, because it runs after the `_preflight` prerequisite.
|
|
108
|
+
|
|
109
|
+
```makefile
|
|
110
|
+
ifneq ($(filter commit,$(MAKECMDGOALS)),)
|
|
111
|
+
ifeq ($(strip $(MSG)),)
|
|
112
|
+
$(error Usage: make commit MSG="<type>(<scope>): <description>")
|
|
113
|
+
endif
|
|
114
|
+
endif
|
|
115
|
+
ifneq ($(filter probe,$(MAKECMDGOALS)),)
|
|
116
|
+
ifeq ($(strip $(REASON)),)
|
|
117
|
+
$(error Usage: make probe REASON="<reason>")
|
|
118
|
+
endif
|
|
119
|
+
endif
|
|
120
|
+
ifneq ($(filter logs,$(MAKECMDGOALS)),)
|
|
121
|
+
ifeq ($(strip $(RUN)),)
|
|
122
|
+
$(error Usage: make logs RUN=<run-id> [STEP="<step-name>"])
|
|
123
|
+
endif
|
|
124
|
+
endif
|
|
125
|
+
```
|
|
126
|
+
|
|
105
127
|
## Test Workflow
|
|
106
128
|
|
|
107
129
|
### Example
|
|
@@ -127,7 +149,6 @@ test:
|
|
|
127
149
|
|
|
128
150
|
```makefile
|
|
129
151
|
commit:
|
|
130
|
-
$(if $(strip $(MSG)),,$(error Usage: make commit MSG="<type>(<scope>): <description>"))
|
|
131
152
|
git add .
|
|
132
153
|
@uv run pre-commit run || echo "Advisory pre-commit reported issues. Auto-fixed files were re-staged and the commit continues."
|
|
133
154
|
git add .
|
|
@@ -302,7 +323,6 @@ ci-watch: _preflight
|
|
|
302
323
|
probe: _preflight
|
|
303
324
|
|
|
304
325
|
probe:
|
|
305
|
-
$(if $(strip $(REASON)),,$(error Usage: make probe REASON="<reason>"))
|
|
306
326
|
git add -f spikes/debug/probe.sh
|
|
307
327
|
git commit -m "debug: probe" --no-verify --allow-empty
|
|
308
328
|
git push
|
|
@@ -336,8 +356,9 @@ The Debugger's Reproduction phase needs to read CI logs without drowning in the
|
|
|
336
356
|
### Example
|
|
337
357
|
|
|
338
358
|
```makefile
|
|
359
|
+
logs: _preflight
|
|
360
|
+
|
|
339
361
|
logs:
|
|
340
|
-
$(if $(strip $(RUN)),,$(error Usage: make logs RUN=<run-id> [STEP="<step-name>"]))
|
|
341
362
|
@if [ -z "$(STEP)" ]; then \
|
|
342
363
|
gh run view "$(RUN)" --log-failed 2>/dev/null | awk -F'\t' '{ if(j!=$$1||s!=$$2){j=$$1;s=$$2;print "\n["j" > "s"]"} 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\]Run /){k=1;next} if(k && l ~ /^##\[endgroup\]/){k=0;next} if(k)next; if(l ~ /^##\[group\]/ || l ~ /^##\[endgroup\]/)next; gsub(/^##\[error\]/,"Error: ",l); print l }'; \
|
|
343
364
|
else \
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/domain/models/plan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/ports/inbound/init.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/editor_names.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/paths.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1416 → teddy_cli-0.1.17.dev1418}/src/teddy_executor/resources/templates/ci.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|