teddy-cli 0.1.17.dev1269__tar.gz → 0.1.17.dev1271__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.dev1269 → teddy_cli-0.1.17.dev1271}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/MRP.xml +1 -1
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/makefile.md +8 -1
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/paths.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/ARCHITECTURE.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/PROJECT.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/specification-document.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/task-brief.md +0 -0
- {teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/resources/templates/vertical-slice.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "teddy-cli"
|
|
3
|
-
version = "0.1.17.
|
|
3
|
+
version = "0.1.17.dev1271"
|
|
4
4
|
description = "A local-first, file-based AI coding workflow that applies the UNIX philosophy to AI collaboration."
|
|
5
5
|
authors = [{ name = "Raphael Atteritano" }]
|
|
6
6
|
license = { text = "AGPL-3.0-only" }
|
|
@@ -52,7 +52,7 @@ NOTES:
|
|
|
52
52
|
2. Commit Message: Use Conventional Commits '<type>(<scope>): <description>' wrapped in single quotes. Use imperative mood. Append ! for breaking changes.
|
|
53
53
|
3. Execution: Run `make commit '<type>(<scope>): <description>'` to stage, run the local pre-commit hooks, and commit. `make commit` stages ALL local changes, including currently unstaged ones (`git add .`). The target commits WITHOUT `--no-verify`, so Git's own pre-commit hook is a real local gate; the post-commit test gate always runs and is unaffected.
|
|
54
54
|
4. Post-conditions: All tests MUST pass — the post-commit hook runs the full suite and reverts the commit on failure; this gate is unskippable and MUST NEVER be bypassed. The pre-commit stage is advisory (its failures do not block the local commit), but if it reported non-trivial quality-gate issues (e.g. file length), you MUST make a follow-up cleanup commit that resolves them before resuming feature work. Triage any resulting `[DEBT]` per the Technical Debt Triage policy — there is no `## Technical Debt` holding pen.
|
|
55
|
-
5. Push at Conclusion: In the Conclusion phase, run `make push` to rebase onto the remote, push, and report the CI results. `make push` answers ONE question only: did this push turn a BLOCKING gate red? The pushed RUN's own conclusion is authoritative — it already folds in `continue-on-error`, so a non-blocking job (e.g. the CI `Quality Checks` job) can NEVER block the session. Only when the run-level conclusion is `failure` does attribution run: the base run (`origin/main` before the push) is classified as green, red, job-less, or absent, and a base that exists but is job-less is NOT green. A failure your push introduced (base green/absent/job-less -> new red) is YOUR regression (exit 1, fix before concluding); a failure already on the base (base red -> new red) is pre-existing (report and continue). Tests MUST always be fixed. A non-blocking quality result MUST be triaged per the Technical Debt Triage policy — fixed in-flight or explicitly scheduled into a slice or milestone — and MUST NOT be silently accepted.
|
|
55
|
+
5. Push at Conclusion: In the Conclusion phase, run `make push` to rebase onto the remote, push, and report the CI results. `make push` answers ONE question only: did this push turn a BLOCKING gate red? The pushed RUN's own conclusion is authoritative — it already folds in `continue-on-error`, so a non-blocking job (e.g. the CI `Quality Checks` job) can NEVER block the session. Only when the run-level conclusion is `failure` does attribution run: the base run (`origin/main` before the push) is classified as green, red, job-less, or absent, and a base that exists but is job-less is NOT green. A failure your push introduced (base green/absent/job-less -> new red) is YOUR regression (exit 1, fix before concluding); a failure already on the base (base red -> new red) is pre-existing (report and continue). `make push` prints each failing step's NAME, its run id, and that step's (bounded) log details; when a failure needs deeper investigation, read the FULL step log with `make logs <run-id> '<step-name>'`. Tests MUST always be fixed. A non-blocking quality result MUST be triaged per the Technical Debt Triage policy — fixed in-flight or explicitly scheduled into a slice or milestone — and MUST NOT be silently accepted.
|
|
56
56
|
</rule>
|
|
57
57
|
|
|
58
58
|
<rule n="7" name="Standardized Plan Types">
|
|
@@ -137,6 +137,8 @@ The pushed RUN's own conclusion is authoritative: it already folds in `continue-
|
|
|
137
137
|
- **all green / non-blocking** → PASSED → **exit 0**.
|
|
138
138
|
- **job-less base** → NOT green: a base run that exists but carries zero jobs (an invalid-workflow failure) is treated as an unknown base and fails safe (block).
|
|
139
139
|
|
|
140
|
+
When any step fails — blocking or not — the target prints the failing step's name and its run id, then that step's log details (ANSI/timestamp-stripped and indented), bounded to `DETAIL_LINES` lines (default 50), and points to `make logs <run-id> '<step-name>'` for the full step log when needed.
|
|
141
|
+
|
|
140
142
|
Attribution is deterministic: SHA → run → run-level + per-job conclusion (never "the latest run").
|
|
141
143
|
|
|
142
144
|
Three behaviors make the attribution trustworthy:
|
|
@@ -150,6 +152,7 @@ Three behaviors make the attribution trustworthy:
|
|
|
150
152
|
```makefile
|
|
151
153
|
RETRY_POLLS ?= 10
|
|
152
154
|
RETRY_SLEEP ?= 1
|
|
155
|
+
DETAIL_LINES ?= 50
|
|
153
156
|
|
|
154
157
|
push:
|
|
155
158
|
git pull --rebase
|
|
@@ -178,7 +181,11 @@ push:
|
|
|
178
181
|
NEWCONC=$$(gh run view "$$NEW" --json conclusion --jq '.conclusion'); \
|
|
179
182
|
NEWFAIL=$$(gh run view "$$NEW" --json jobs --jq '[.jobs[] | select(.conclusion=="failure") | .name] | sort | join(",")'); \
|
|
180
183
|
NEWSTEPS=$$(gh run view "$$NEW" --json jobs --jq '[.jobs[] | select(.conclusion=="failure") | .steps[]? | select(.conclusion=="failure") | .name] | sort | join(", ")'); \
|
|
181
|
-
if [ -n "$$NEWSTEPS" ]; then
|
|
184
|
+
if [ -n "$$NEWSTEPS" ]; then \
|
|
185
|
+
echo "$$WF: failing step(s): $$NEWSTEPS (run $$NEW)"; \
|
|
186
|
+
gh run view "$$NEW" --log-failed 2>/dev/null | awk -F'\t' '{ l=$$3; p=index(l,"Z "); if(p>0)l=substr(l,p+2); gsub(/\x1B\[[0-9;]*[a-zA-Z]/,"",l); gsub(/\^\[\[[0-9;]*[a-zA-Z]/,"",l); if(l ~ /^##\[group\]/ || l ~ /^##\[endgroup\]/) next; gsub(/^##\[error\]/,"Error: ",l); print l }' | tail -n $(DETAIL_LINES) | sed 's/^/ /'; \
|
|
187
|
+
echo " full log: make logs $$NEW '$$NEWSTEPS'"; \
|
|
188
|
+
fi; \
|
|
182
189
|
if [ "$$NEWCONC" != "failure" ]; then \
|
|
183
190
|
if [ -n "$$NEWFAIL" ]; then \
|
|
184
191
|
echo "$$WF: PASSED (run=$$NEWCONC) — non-blocking failure(s) [$$NEWFAIL] — triage, does not block"; \
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/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.dev1269 → teddy_cli-0.1.17.dev1271}/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
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/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.dev1269 → teddy_cli-0.1.17.dev1271}/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.dev1269 → teddy_cli-0.1.17.dev1271}/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.dev1269 → teddy_cli-0.1.17.dev1271}/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.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/paths.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1269 → teddy_cli-0.1.17.dev1271}/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.dev1269 → teddy_cli-0.1.17.dev1271}/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
|
|
File without changes
|