teddy-cli 0.1.17.dev1228__tar.gz → 0.1.17.dev1229__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.dev1228 → teddy_cli-0.1.17.dev1229}/PKG-INFO +1 -1
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/pyproject.toml +1 -1
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/ARCHITECTURE.md +4 -3
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/PROJECT.md +5 -15
- teddy_cli-0.1.17.dev1229/src/teddy_executor/resources/templates/specification-document.md +29 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/vertical-slice.md +5 -1
- teddy_cli-0.1.17.dev1228/src/teddy_executor/resources/templates/specification-document.md +0 -27
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/.gitignore +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/LICENSE +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/__main__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/cli_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/cli_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/session_cli_handlers.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_app.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_editor.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_execution.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_logic.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_previews.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/inbound/textual_plan_reviewer_widgets.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/console_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/console_interactor_ask_loop.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/console_interactor_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/console_tooling.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/filesystem_helpers.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/litellm_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/local_file_system_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/local_repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/openrouter_hydrator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/shell_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/shell_command_builder.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/suppressed_logging.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/system_environment_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/system_environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/system_time_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/terminal_quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/web_scraper_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/web_searcher_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/adapters/outbound/yaml_config_adapter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/container.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/action_ports.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/change_set.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/drift_report.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/exceptions.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/execution_report.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/orchestrator_ports.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/plan.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/planning_ports.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/project_context.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/report_assembly_data.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/session.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/shell_output.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/domain/models/web_search_results.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/get_context_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/init.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/plan_reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/planning_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/inbound/run_plan_use_case.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/config_service.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/environment_inspector.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/file_system_manager.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/llm_client.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/quit_key_listener.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/repo_tree_generator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/session_manager.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/shell_executor.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/system_environment.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/time_service.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/user_interactor.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/web_scraper.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/ports/outbound/web_searcher.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/action_changeset_builder.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/action_diff_manager.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/action_dispatcher.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/action_executor.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/action_factory.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/action_parser_complex.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/action_parser_strategies.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/context_service.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/edit_simulator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/execution_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/execution_report_assembler.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/init_service.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/markdown_plan_parser.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/markdown_report_formatter.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/parser_infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/parser_metadata.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/parser_reporting.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/plan_validator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/planning_service.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/prompt_manager.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_lifecycle_manager.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_loop_guard.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_orchestrator.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_planner.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_pruning_service.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_replanner.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_repository.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/session_service.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/templates/execution_report.md.j2 +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/update_checker.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/edit.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/edit_matcher.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/edit_matcher_heuristics.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/execute.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/filesystem.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/helpers.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/services/validation_rules/message.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/diff.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/interrupt_guard.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/io.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/markdown.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/serialization.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/stdin_ownership.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/string.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/terminal.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/prompts.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/registries/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/registries/infrastructure.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/registries/reviewer.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/registries/validators.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/MRP.xml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/__init__.py +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/config.yaml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/init.context +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/prompts/architect.xml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/prompts/assistant.xml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/prompts/debugger.xml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/prompts/developer.xml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/prompts/pathfinder.xml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/config/prompts/prototyper.xml +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/case-file.md +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/ci.md +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/component-design.md +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/makefile.md +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/milestone.md +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/pre-commit.md +0 -0
- {teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/resources/templates/task-brief.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.dev1229"
|
|
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" }
|
|
@@ -7,16 +7,17 @@ This section defines foundational engineering practices. Each entry MUST be a sp
|
|
|
7
7
|
**Template format:** `- **Rule Name:** Description and enforcement mechanism.`
|
|
8
8
|
|
|
9
9
|
### Recommended: customize per project
|
|
10
|
-
- **Version Control:** Branch strategy and commit conventions.
|
|
10
|
+
- **Version Control:** Branch strategy and commit conventions. Every commit MUST leave the suite in a **Continuous Green State** — the full test suite passes before and after each change.
|
|
11
11
|
- **Run Environment:** Designated runner (e.g., `uv run`, `poetry run`).
|
|
12
12
|
- **Failure Transparency:** Error handling policy — specific exceptions only, no silent suppression.
|
|
13
|
-
- **Testing Strategy:** Test types (Unit/Integration/Acceptance), boundaries,
|
|
13
|
+
- **Testing Strategy:** Test types (Unit/Integration/Acceptance), boundaries, and filesystem hygiene. Mandate **Test Double Integrity**: ban global patching, use in-memory fakes for state-managing outbound ports, and strictly autospec-bound mocks only for un-fakeable external side-effects.
|
|
14
|
+
- **Runtime Contract Assertions:** Enforce Design-by-Contract with native `assert condition, "message"` for pre/post-conditions and invariants (strippable via `python -O`); never custom exceptions for contract checks.
|
|
14
15
|
- **Dependency Injection:** Constructor injection mandate; forbid Service Locator and global containers.
|
|
15
16
|
- **Centralized Configuration:** Config file location, prohibition of magic numbers.
|
|
16
17
|
- **CI Pipeline:** Two parallel jobs — 1) Blocking OS matrix test suite with strict test coverage targets. 2) Non-blocking (continue-on-error: true) quality checks running fast formatters, linters, security/secret scanners, type checkers, and repository-wide structural checks (excluding sandboxes and third-party dependencies).
|
|
17
18
|
- **Pre-commit Hooks:** Scope (staged files only), required hooks (formatters, linters, type checkers, security scanners).
|
|
18
19
|
- **Post-commit Execution:** Full test suite run on commit, automatic revert on failure.
|
|
19
|
-
- **Makefile Commands:** The `Makefile` is the canonical entry point for the VCP commit workflow and on-demand test runs. `make test` runs the full suite, `make commit '<msg>'` performs a VCP commit, and `make probe '<reason>'` runs the Remote Probing Protocol. See [docs/templates/makefile.md](docs/templates/makefile.md).
|
|
20
|
+
- **Makefile Commands:** The `Makefile` is the canonical entry point for the VCP commit workflow and on-demand test runs. `make test` runs the full suite, `make commit '<msg>'` performs a VCP commit (it runs the pre-commit hooks once and commits with `--no-verify`, while the post-commit test gate remains unskippable), and `make probe '<reason>'` runs the Remote Probing Protocol. See [docs/templates/makefile.md](docs/templates/makefile.md).
|
|
20
21
|
|
|
21
22
|
### Pre-commit Quick-Start
|
|
22
23
|
|
|
@@ -22,11 +22,12 @@ Defines the high-level artifact lifecycle and conventions for project management
|
|
|
22
22
|
- **Milestones:** `MM-name.md` (in `docs/project/milestones/`).
|
|
23
23
|
- **Case Files (Debugger):** `NN-name.md` — numbered sequentially.
|
|
24
24
|
- **Task Briefs:** `NN-name.md` (in `docs/project/tasks/`) — numbered sequentially.
|
|
25
|
-
- **Ad-hoc work (not tied to a milestone):** `00-NN-name.md` — `00` is used as the Milestone prefix. Ad-hoc slices are NOT tracked in Milestone documents or the Roadmap.
|
|
25
|
+
- **Milestone 0 (bootstrapping) & Ad-hoc work (not tied to a milestone):** `00-NN-name.md` — `00` is used as the Milestone prefix for Milestone 0 bootstrapping slices and for ad-hoc slices. Ad-hoc slices are NOT tracked in Milestone documents or the Roadmap.
|
|
26
26
|
- **Archiving Policy:** When and how completed artifacts are archived or deleted.
|
|
27
|
-
- **Spec Organization:**
|
|
27
|
+
- **Spec Organization:** Specification documents live in a single flat directory `docs/project/specs/` and are reserved strictly for **permanent system invariants** — formats, contracts, protocols (e.g. the MRP), core data models, and non-negotiable architectural rules. Feature goals, requirements, and acceptance criteria belong in Milestone documents (`docs/project/milestones/`), not in specs. There is no ephemeral `specs/features/` lifecycle.
|
|
28
28
|
- **Run Environment:** Specify the project's designated environment/dependency manager (e.g., `uv`, `poetry`, `pip`) and prefix ALL execution commands with its runner (e.g., `uv run pytest`). The chosen runner MUST be reflected in the `Makefile`.
|
|
29
29
|
- **Build & Run Commands:** Document the standard commands in the project `Makefile` (see [docs/templates/makefile.md](docs/templates/makefile.md)). At minimum: `make test` (full suite), `make commit '<msg>'` (VCP), and `make probe '<reason>'` (Remote Probing Protocol).
|
|
30
|
+
- **Release Process:** Document how releases are cut. At minimum: (1) **Triage** the scope (patch/minor/major) from conventional commits since the last tag; (2) write **release notes** to `docs/project/releases/v<version>.md`; (3) bump the `version` field in the project manifest; (4) present the notes and version bump at an **approval gate**; (5) **commit** (`chore(release): bump version to <version>`) and **tag** (`git tag -a v<version>`); and (6) **publish** (e.g. create a GitHub Release). Adapt the concrete commands to the project's packaging and distribution channel.
|
|
30
31
|
|
|
31
32
|
## Templates
|
|
32
33
|
|
|
@@ -34,7 +35,7 @@ Before creating or modifying any documentation artifact, agents MUST read the co
|
|
|
34
35
|
|
|
35
36
|
| Template | Purpose |
|
|
36
37
|
| -------- | ------- |
|
|
37
|
-
| `specification-document.md` | Specification documents (
|
|
38
|
+
| `specification-document.md` | Specification documents (permanent system invariants) |
|
|
38
39
|
| `milestone.md` | Milestone documents |
|
|
39
40
|
| `vertical-slice.md` | Vertical slice definitions |
|
|
40
41
|
| `component-design.md` | Component design documents (ports and contracts) |
|
|
@@ -75,15 +76,4 @@ A living list of upcoming Milestones and their high-level features.
|
|
|
75
76
|
- **Post-commit Hook:** Implement a hook that runs the full test suite via `make test` and reverts the commit on failure (via `git reset --soft HEAD~1`, keeping changes staged). This is the unskippable safety net — `--no-verify` MUST NOT bypass it.
|
|
76
77
|
- **Debug Workflow:** Create `.github/workflows/debug.yml` following [docs/templates/ci.md](docs/templates/ci.md) to enable the Remote Probing Protocol.
|
|
77
78
|
- **Makefile:** Create a `Makefile` following [docs/templates/makefile.md](docs/templates/makefile.md) with `make commit`, `make probe`, and `make test` commands. `make commit` implements the VCP workflow, `make probe` implements the Debugger's Remote Probing Protocol, and `make test` runs the full suite on demand.
|
|
78
|
-
|
|
79
|
-
## Technical Debt
|
|
80
|
-
Tracks known technical debt for future cleanup.
|
|
81
|
-
|
|
82
|
-
**Format:** `- [Description including context and location of the debt item.]`
|
|
83
|
-
|
|
84
|
-
**Logging Hygiene (MUST):**
|
|
85
|
-
- **Never re-log the same debt.** If a debt item recurs across commits, fold the new occurrence into the existing entry — do NOT append a new bullet.
|
|
86
|
-
- **Prefer fixing directly over logging.** Only log debt that genuinely cannot be resolved in the moment. Do not log-then-resolve a defect that could be fixed immediately.
|
|
87
|
-
- **Never log resolved items.** Do not add "informational" or "completed" entries.
|
|
88
|
-
|
|
89
|
-
**Deletion Policy:** When a technical debt item is addressed (the underlying issue is resolved in a completed milestone/slice), the entry MUST be deleted from this section. Do not mark it as "completed" or "resolved" — remove it entirely. Git history serves as the permanent record.
|
|
79
|
+
- **`.gitignore` Configuration:** Configure a project-tailored `.gitignore` covering language/OS cache files, build artifacts, virtual environments, and the transient `.tmp/` directory. The `spikes/` directory MUST remain tracked so prototypes and probes stay version-controlled.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Spec: {{invariant}}
|
|
2
|
+
- **Status:** Active
|
|
3
|
+
|
|
4
|
+
> **Scope:** This template codifies **permanent system invariants** only — stable formats, contracts, protocols (e.g. the MRP), core data models, and non-negotiable architectural rules of record. It is NOT for feature goals, requirements, or acceptance criteria; those belong in Milestone documents (`docs/project/milestones/`) and Vertical Slices.
|
|
5
|
+
|
|
6
|
+
## Overview / Problem Statement
|
|
7
|
+
|
|
8
|
+
**Format:** 2-3 paragraphs describing the invariant being codified, why it exists, and what it guarantees.
|
|
9
|
+
Context for the invariant, the contract it establishes, and the risk it mitigates.
|
|
10
|
+
|
|
11
|
+
## Guiding Principles / Core Logic
|
|
12
|
+
|
|
13
|
+
**Format:** Bulleted list. Each entry: `- **Principle:** Description and how it constrains design decisions.`
|
|
14
|
+
Foundational rules, engineering philosophy, or logical constraints.
|
|
15
|
+
|
|
16
|
+
## Technical Specification
|
|
17
|
+
|
|
18
|
+
**Format:** Use sub-sections as needed. Include:
|
|
19
|
+
- Data models / contracts (tables or code blocks)
|
|
20
|
+
- File paths and directory structures
|
|
21
|
+
- Workflow diagrams (Mermaid) where applicable
|
|
22
|
+
- Algorithm descriptions
|
|
23
|
+
- Configuration options
|
|
24
|
+
Detailed logic, file formats, directory structures, or workflow diagrams (Mermaid).
|
|
25
|
+
|
|
26
|
+
## Guidelines
|
|
27
|
+
|
|
28
|
+
**Format:** Bulleted or numbered list of rules for conforming to and evolving this invariant. Each entry should constrain design decisions, not prescribe specific implementation.
|
|
29
|
+
Conformance requirements and the process for amending the invariant.
|
|
@@ -29,7 +29,11 @@ Then [expected outcome]
|
|
|
29
29
|
|
|
30
30
|
## Key Unknowns
|
|
31
31
|
|
|
32
|
-
**Format:** Checklist of unresolved risks
|
|
32
|
+
**Format:** Checklist of unresolved risks, each tagged with one of three tiers. Mark as `[x]` when resolved.
|
|
33
|
+
- `[Formal]` — Ambiguities in business rules, policy decisions, domain definitions, or scope boundaries. Resolve by asking the user directly in an alignment turn; speculative coding or prototyping for formal questions is forbidden.
|
|
34
|
+
- `[Technical]` (works-like) — External dependencies, third-party libraries, APIs, runtime performance, concurrency, or data-storage feasibility. Resolve via automated assertion probes and benchmarks.
|
|
35
|
+
- `[Functional]` (looks-like) — User-facing ergonomics, CLI flags, terminal rendering, interactive flows, or layout aesthetic. Resolve via interactive demo runners with configurable knobs.
|
|
36
|
+
|
|
33
37
|
- [ ] [Tag] Title: Description of the unknown.
|
|
34
38
|
|
|
35
39
|
## Implementation Plan
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# Spec: {{feature}}
|
|
2
|
-
- **Status:** Active
|
|
3
|
-
|
|
4
|
-
## Overview / Problem Statement
|
|
5
|
-
|
|
6
|
-
**Format:** 2-3 paragraphs describing the problem being solved, why existing solutions are insufficient, and what makes this approach valuable.
|
|
7
|
-
Core problem, context, and value proposition.
|
|
8
|
-
|
|
9
|
-
## Guiding Principles / Core Logic
|
|
10
|
-
|
|
11
|
-
**Format:** Bulleted list. Each entry: `- **Principle:** Description and how it constrains design decisions.`
|
|
12
|
-
Foundational rules, engineering philosophy, or logical constraints.
|
|
13
|
-
|
|
14
|
-
## Technical Specification
|
|
15
|
-
|
|
16
|
-
**Format:** Use sub-sections as needed. Include:
|
|
17
|
-
- Data models / contracts (tables or code blocks)
|
|
18
|
-
- File paths and directory structures
|
|
19
|
-
- Workflow diagrams (Mermaid) where applicable
|
|
20
|
-
- Algorithm descriptions
|
|
21
|
-
- Configuration options
|
|
22
|
-
Detailed logic, file formats, directory structures, or workflow diagrams (Mermaid).
|
|
23
|
-
|
|
24
|
-
## Guidelines
|
|
25
|
-
|
|
26
|
-
**Format:** Bulleted or numbered list of actionable guidelines. Each entry should guide decision-making, not prescribe specific implementation.
|
|
27
|
-
High-level phasing, sequencing, and technical strategy for the Architect.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/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.dev1228 → teddy_cli-0.1.17.dev1229}/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.dev1228 → teddy_cli-0.1.17.dev1229}/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.dev1228 → teddy_cli-0.1.17.dev1229}/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.dev1228 → teddy_cli-0.1.17.dev1229}/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.dev1228 → teddy_cli-0.1.17.dev1229}/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.dev1228 → teddy_cli-0.1.17.dev1229}/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.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/markdown.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/serialization.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/string.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/core/utils/terminal.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/registries/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/registries/reviewer.py
RENAMED
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/src/teddy_executor/registries/validators.py
RENAMED
|
File without changes
|
|
File without changes
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/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
|
{teddy_cli-0.1.17.dev1228 → teddy_cli-0.1.17.dev1229}/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
|