teddy-cli 0.1.17.dev1421__tar.gz → 0.1.17.dev1422__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.dev1421 → teddy_cli-0.1.17.dev1422}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/makefile.md +21 -16
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/README.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/config_schema.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/editor_names.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/interruptible_call.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/session_notices.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/MRP.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/prompts/architect.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/prompts/assistant.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/prompts/debugger.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/prompts/developer.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/prompts/pathfinder.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/config/prompts/prototyper.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -202,7 +202,7 @@ Attribution is deterministic: SHA → run → run-level + per-job conclusion (ne
|
|
|
202
202
|
|
|
203
203
|
Key behaviors:
|
|
204
204
|
|
|
205
|
-
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
|
|
205
|
+
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. The target fetches one bounded list of the workflow's latest runs (`BASE_SCAN`, default 200) and intersects it with the newest `BASE_DEPTH` ancestors (`git rev-list`, default 50), so resolution costs one API call instead of one per ancestor. 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.
|
|
206
206
|
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.
|
|
207
207
|
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.
|
|
208
208
|
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.
|
|
@@ -214,6 +214,7 @@ RETRY_POLLS ?= 10
|
|
|
214
214
|
RETRY_SLEEP ?= 2
|
|
215
215
|
DETAIL_LINES ?= 50
|
|
216
216
|
BASE_DEPTH ?= 50
|
|
217
|
+
BASE_SCAN ?= 200
|
|
217
218
|
BASE ?=
|
|
218
219
|
|
|
219
220
|
ci-watch: _preflight
|
|
@@ -250,9 +251,10 @@ ci-watch: _preflight
|
|
|
250
251
|
while IFS= read -r WF; do \
|
|
251
252
|
NEW=$$(gh run list --commit "$$SHA" --workflow "$$WF" --json databaseId --jq '.[0].databaseId'); \
|
|
252
253
|
gh run watch "$$NEW" --exit-status >/dev/null 2>&1 || true; \
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
254
|
+
NEWMETA=$$(gh run view "$$NEW" --json conclusion,jobs --jq '.conclusion, ([.jobs[] | select(.conclusion=="failure") | .name] | sort | join(",")), ([.jobs[] | select(.conclusion=="failure") | .steps[]? | select(.conclusion=="failure") | .name] | sort | join(", "))'); \
|
|
255
|
+
NEWCONC=$$(printf '%s\n' "$$NEWMETA" | sed -n '1p'); \
|
|
256
|
+
NEWFAIL=$$(printf '%s\n' "$$NEWMETA" | sed -n '2p'); \
|
|
257
|
+
NEWSTEPS=$$(printf '%s\n' "$$NEWMETA" | sed -n '3p'); \
|
|
256
258
|
if [ -n "$$NEWSTEPS" ]; then \
|
|
257
259
|
echo "$$WF: failing step(s): $$NEWSTEPS (run $$NEW)"; \
|
|
258
260
|
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/^/ /'; \
|
|
@@ -272,33 +274,36 @@ ci-watch: _preflight
|
|
|
272
274
|
echo "$$WF: unknown conclusion '$$NEWCONC' on run $$NEW blocks the session." >&2; \
|
|
273
275
|
STATUS=1; continue; \
|
|
274
276
|
fi; \
|
|
275
|
-
BASE="$(BASE)";
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
277
|
+
BASE="$(BASE)"; OLD=""; \
|
|
278
|
+
if [ -n "$$BASE" ]; then \
|
|
279
|
+
OLD=$$(gh run list --commit "$$BASE" --workflow "$$WF" --json databaseId --jq '.[0].databaseId'); \
|
|
280
|
+
else \
|
|
281
|
+
RUNLIST=$${TMPDIR:-/tmp}/ci-watch-runs.$$$$; \
|
|
282
|
+
gh run list --workflow "$$WF" -L $(BASE_SCAN) --json headSha,databaseId --jq '.[] | "\(.headSha) \(.databaseId)"' > "$$RUNLIST" 2>/dev/null; \
|
|
283
|
+
for CUR in $$(git rev-list -n $(BASE_DEPTH) "$$SHA^" 2>/dev/null); do \
|
|
284
|
+
OLD=$$(awk -v sha="$$CUR" '$$1 == sha { print $$2; exit }' "$$RUNLIST"); \
|
|
285
|
+
if [ -n "$$OLD" ]; then BASE="$$CUR"; break; fi; \
|
|
286
|
+
done; \
|
|
287
|
+
rm -f "$$RUNLIST"; \
|
|
288
|
+
fi; \
|
|
284
289
|
if [ -z "$$BASE" ]; then \
|
|
285
290
|
echo "$$WF: BLOCKING failure ($$NEWFAIL) - no run-bearing ancestor (unknown base) - YOUR regression"; \
|
|
286
291
|
echo "$$WF: no run-bearing ancestor within $(BASE_DEPTH) commits, so the baseline is unknown." >&2; \
|
|
287
292
|
STATUS=1; continue; \
|
|
288
293
|
fi; \
|
|
289
|
-
OLD=$$(gh run list --commit "$$BASE" --workflow "$$WF" --json databaseId --jq '.[0].databaseId'); \
|
|
290
294
|
if [ -z "$$OLD" ]; then \
|
|
291
295
|
echo "$$WF: BLOCKING failure ($$NEWFAIL) - pinned base has no run (unknown base) - YOUR regression"; \
|
|
292
296
|
echo "$$WF: pinned base $$BASE carries no run for this workflow." >&2; \
|
|
293
297
|
STATUS=1; continue; \
|
|
294
298
|
fi; \
|
|
295
|
-
|
|
299
|
+
OLDMETA=$$(gh run view "$$OLD" --json jobs --jq '(.jobs | length), ([.jobs[] | select(.conclusion=="failure") | .name] | sort | join(","))'); \
|
|
300
|
+
OLDJOBS=$$(printf '%s\n' "$$OLDMETA" | sed -n '1p'); \
|
|
296
301
|
if [ "$$OLDJOBS" = "0" ]; then \
|
|
297
302
|
echo "$$WF: BLOCKING failure ($$NEWFAIL) - base run is job-less (invalid workflow, not green) - YOUR regression"; \
|
|
298
303
|
echo "$$WF: base run $$OLD carries zero jobs, so it cannot prove a green baseline." >&2; \
|
|
299
304
|
STATUS=1; continue; \
|
|
300
305
|
fi; \
|
|
301
|
-
OLDFAIL=$$(
|
|
306
|
+
OLDFAIL=$$(printf '%s\n' "$$OLDMETA" | sed -n '2p'); \
|
|
302
307
|
SUBSET=$$(awk -v new="$$NEWFAIL" -v old="$$OLDFAIL" 'BEGIN { n=split(new,na,","); m=split(old,oa,","); for (i=1;i<=n;i++) { if (na[i]=="") continue; f=0; for (j=1;j<=m;j++) { if (oa[j]==na[i]) { f=1; break } } if (!f) { print "regression"; exit } } print "pre-existing" }' </dev/null); \
|
|
303
308
|
if [ "$$SUBSET" = "pre-existing" ]; then \
|
|
304
309
|
echo "$$WF: pre-existing BLOCKING failure ($$NEWFAIL) - not yours"; \
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/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.dev1421 → teddy_cli-0.1.17.dev1422}/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.dev1421 → teddy_cli-0.1.17.dev1422}/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.dev1421 → teddy_cli-0.1.17.dev1422}/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.dev1421 → teddy_cli-0.1.17.dev1422}/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.dev1421 → teddy_cli-0.1.17.dev1422}/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.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/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.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/paths.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/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
|
|
File without changes
|
{teddy_cli-0.1.17.dev1421 → teddy_cli-0.1.17.dev1422}/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
|