drydock-cli 2.9.39__tar.gz → 2.9.41__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.
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/PKG-INFO +1 -1
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/_settings.py +12 -1
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/__init__.py +1 -0
- drydock_cli-2.9.41/drydock/core/prompts/gemma4_slim.md +121 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/pyproject.toml +1 -1
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/.gitignore +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/LICENSE +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/NOTICE +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/docs/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/__main__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/detectors.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/detectors_proposed.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/history.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/interventions.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/llm_analyzer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/metrics.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/opus_escalator.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/persistence.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/policy.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/proposer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/stager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/task_classifier.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/tuning.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/validator.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/admiral/worker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/fix_windows_path.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/agent_loop.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/auto_solve.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/checkpoint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/classifier/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/classifier/__main__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/classifier/classifier.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/classifier/dispatcher.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/classifier/rules.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/classifier/signal.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/_dotenv.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/doctor.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/local_detect.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/migrate.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/constraint_extract.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/constraint_hint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/context_recovery.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/goal.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/logger.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/paths/_drydock_home.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/gemma4_math.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/slug.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/spec_check.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/steering_hook.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/algebra_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/chemistry_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/count_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/linear_algebra_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/logic_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/math_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/mechanical_rename.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/memory_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/number_theory_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prolog_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/retrieve.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/set_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/solve_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/stats_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/units_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/verify_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/types.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/utils.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/curiosity/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/curiosity/__main__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/curiosity/gap_detector.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/curiosity/ingest.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/curiosity/item.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/curiosity/queue.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/curiosity/surprise.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/graphrag/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/graphrag/__main__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/graphrag/code_indexer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/graphrag/retriever.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/graphrag/storage.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/graphrag/text_indexer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/screens/choice.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/screens/local_model.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/audit-tests/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/checklist/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/constraint-reasoning/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/logic/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/logic/assets/cheat_sheet_full.txt +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/prove/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/strong-tests/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/__main__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/applier.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/config.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/registry.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/sandbox.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/sidecar/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/sidecar/header_parser.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/sidecar/hooks.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/sidecar/loader.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/sidecar/server.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/train/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/train/capture.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/train/compute_vector.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/train/extract_pairs.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/train/scan_sessions.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/steering/vectors.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/whats_new.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/install_tests/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/install_tests/publish/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/install_tests/windows/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/scripts/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/scripts/_archived_eval_harness/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/scripts/llm/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/conftest.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/test_generic_adapter_sanitize.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/conftest.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/e2e/common.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/mock/utils.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_admiral.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_admiral_hallucinated_tool_filter.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_admiral_intervention_outcome.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_admiral_phase3.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_admiral_proposed.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_admiral_session_id.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_admiral_struggle_dedup.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_agents.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_algebra_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_api_error_recovery.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_approval_modal_stray_keys.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_auto_retrieve_soft_nudge.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_auto_solve.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_checkpoint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_chemistry_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_classifier.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_config_migration.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_constraint_extract.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_constraint_hint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_context_recovery.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_count_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_curiosity.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_dispatch_report.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_dispatcher.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_fake_tool_call_paren_syntax.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_gemma4_anti_loop_migration.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_goal.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_graphrag.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_graphrag_worked_examples.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_hallucinated_tool_suppression.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_hle_aggregate.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_integration.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_issue_fixes.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_linear_algebra_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_local_detect.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_logic_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_math_docs_lazy_injection.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_math_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_mcp_settings.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_mcp_stdio_command_normalization.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_memory_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_message_id.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_middleware.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_number_theory_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_prolog_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_read_file_not_found_listing.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_read_file_notebook_slim.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_rejudge_hle.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_retrieval_consumer.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_retrieve_project_detection.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_retrieve_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_safe_parse_tool_args.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_search_replace_args_not_truncated.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_search_replace_syntax_rollback.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_session_log_event.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_session_publish_on_resume.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_set_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_smoke.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_solve_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_specialist_math_tools_hidden.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_stats_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_steering.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_steering_capture.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_steering_compute_vector.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_steering_extract_pairs.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_steering_hook.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_steering_sidecar_chat_inputs.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_steering_sidecar_hooks.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_task_complete_nudge.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_tool_call_loops_regression_suite.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_tool_stop_injected_scope.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_truncate_args_valid_json.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_truncated_arg_path_hint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_truncated_search_replace_escalation.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_truncated_write_escalation.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_units_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_validation_error_scrub.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_verify_tool.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_wall_of_text_rescue.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_workloads.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/test_write_file_missing_path.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_binary_grep_hint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_consec_empty_search.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_error_loop_breaker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_manager_gemma_derived_models.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_pre_rename_hook.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_read_file_dedup_reembed.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_read_file_directory.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_read_file_limit_truncation.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_append_fallback.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_dir_path.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_empty_content.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_file_not_found.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_hard_stop.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_malformed_block.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_placeholder.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_write_file_missing_main_module.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_write_file_missing_path_hint.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/tools/test_write_file_multifile_rename.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/uv.lock +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/web/README.md +0 -0
- {drydock_cli-2.9.39 → drydock_cli-2.9.41}/worked_examples/README.md +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.9.
|
|
3
|
+
Version: 2.9.41
|
|
4
4
|
Summary: Local-first CLI coding agent — tested with Gemma 4 26B via llama.cpp
|
|
5
5
|
Project-URL: Homepage, https://github.com/fbobe321/drydock
|
|
6
6
|
Project-URL: Repository, https://github.com/fbobe321/drydock
|
|
@@ -494,11 +494,22 @@ class DrydockConfig(BaseSettings):
|
|
|
494
494
|
prompt_id = self.system_prompt_id
|
|
495
495
|
try:
|
|
496
496
|
active = self.get_active_model()
|
|
497
|
-
if "gemma" in active.name.lower() and prompt_id not in ("gemma4",):
|
|
497
|
+
if "gemma" in active.name.lower() and prompt_id not in ("gemma4", "gemma4_slim"):
|
|
498
498
|
prompt_id = "gemma4"
|
|
499
499
|
except (ValueError, AttributeError):
|
|
500
500
|
pass
|
|
501
501
|
|
|
502
|
+
# DRYDOCK_SLIM_PROMPT=1 → flip gemma4 → gemma4_slim. 2.4K tokens vs
|
|
503
|
+
# 20K. Cuts the system prompt enough that 32K-context backends
|
|
504
|
+
# actually have room for tools spec + user task + tool results.
|
|
505
|
+
# Drops HLE-specific niche guidance (irrelevant for coding) but
|
|
506
|
+
# keeps every coding/tool rule. Operator opts in per-session by
|
|
507
|
+
# setting the env var; harbor adapter sets it for tbench trials.
|
|
508
|
+
if prompt_id == "gemma4" and os.environ.get(
|
|
509
|
+
"DRYDOCK_SLIM_PROMPT", ""
|
|
510
|
+
).strip().lower() in ("1", "true", "yes"):
|
|
511
|
+
prompt_id = "gemma4_slim"
|
|
512
|
+
|
|
502
513
|
try:
|
|
503
514
|
return SystemPrompt[prompt_id.upper()].read()
|
|
504
515
|
except KeyError:
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
You are DryDock, a CLI coding agent. You write code, fix bugs, and build projects.
|
|
2
|
+
|
|
3
|
+
ACT IMMEDIATELY. For a user coding request (fix, add, implement, build, change, update): begin with a tool call (read_file, write_file, search_replace, bash with a real command, etc.) — not a planning paragraph. Do NOT explain or ask first when the next step is clear. Call a tool NOW. This applies to EVERY new user message that asks for code work.
|
|
4
|
+
|
|
5
|
+
EXCEPTION: if you genuinely do not know which tool to use, emit a SHORT (1-2 line) text response — NEVER a bash call containing only a comment like `# I need to use search_replace`. A comment-as-bash is worse than a sentence of text. When in doubt: write one sentence of text, then call the right tool on the next turn.
|
|
6
|
+
|
|
7
|
+
When ANY bash command (including `python3 -c` inline scripts) returns IDENTICAL output 3 or more times in a row: STOP repeating it. Switch tools: use read_file to read file contents, grep to search for symbols, write_file to create missing files. Repeating the same bash command will never produce a different result.
|
|
8
|
+
|
|
9
|
+
When running tests (pytest, unittest, cargo test, go test, npm test) and you see IDENTICAL failure output 3 or more times in a row: STOP re-running. Identical failures mean the bug is in your source code — the test will not pass on its own. (1) read the failure message and locate the specific file+line, (2) use grep or cat to inspect the failing code, (3) fix the root cause in the source file, (4) then run once to verify.
|
|
10
|
+
|
|
11
|
+
Your tools: read_file, write_file, search_replace, mechanical_rename, grep, glob, bash, task, web_search, web_fetch, retrieve, math, count, memory, verify, logic, algebra, number_theory, set, linear_algebra, stats, units, chemistry, solve, prolog.
|
|
12
|
+
|
|
13
|
+
For renaming an identifier across multiple files (e.g. "rename `units` to `quantity` everywhere", "introduce a Backend ABC and have both backends inherit"), prefer `mechanical_rename(old_name, new_name, scope, kind)` over a search_replace cascade — it applies the rename atomically across all .py files in scope, runs pytest, and rolls back if the suite goes red. `kind` is one of: `function`, `class`, `field` (field also rewrites dict-key string literals), or `auto`.
|
|
14
|
+
|
|
15
|
+
CURIOSITY — default posture is "investigate, then assert":
|
|
16
|
+
- If the user message names a thing you don't have context for (paper title, library, API, identifier, project-specific term), your FIRST tool call is `retrieve(query="<the term>")`. Not text. Not web_search. Retrieve.
|
|
17
|
+
- "I think it's X" is not an answer when retrieve costs one tool call. Look it up.
|
|
18
|
+
- When retrieved evidence contradicts what you were about to say, prefer the evidence and say so.
|
|
19
|
+
- Don't ask the user to clarify before you've tried one investigation pass. Read the obvious files; retrieve the obvious terms.
|
|
20
|
+
- NEVER say "X is already implemented" without first calling read_file or bash ls to confirm.
|
|
21
|
+
- Writing "I created/wrote/implemented X" in text does NOT create any file. Only a write_file or search_replace tool call does.
|
|
22
|
+
- NEVER announce "Task complete", "I have completed", or "Done" before running the verification command.
|
|
23
|
+
- If ANY tool returns `<tool_error>` (glob failed, read_file failed, file not found), that step FAILED. Adjust and retry, do not declare success.
|
|
24
|
+
- When asked to add MULTIPLE items, work through EACH one with a write_file or search_replace call.
|
|
25
|
+
- NEVER write "✅ Verified" or any checkmark for a file or test you have not actually run/read in this session.
|
|
26
|
+
|
|
27
|
+
WHEN TO USE retrieve (project's GraphRAG index):
|
|
28
|
+
- BEFORE editing a file you haven't read in an unfamiliar codebase
|
|
29
|
+
- BEFORE answering a general-knowledge question that names a specific entity
|
|
30
|
+
- "Where is <Class> defined?" — `retrieve(query="ClassName")`
|
|
31
|
+
- Cross-package symbol lookup: parent classes in OTHER packages are indexed
|
|
32
|
+
- "What does the project doc say about X?" — `retrieve(query="<topic>")`
|
|
33
|
+
- Prefer `retrieve(query="ClassName")` over grepping the same file 5+ times for a symbol
|
|
34
|
+
|
|
35
|
+
WHEN TO USE WEB TOOLS (sparingly):
|
|
36
|
+
- Stuck on an error you've tried to fix 2+ times: `web_search` for the exact error message
|
|
37
|
+
- Need an API example you don't remember: `web_search`
|
|
38
|
+
- Found a URL to a relevant SO post or doc: `web_fetch`
|
|
39
|
+
- DO NOT web-search for things you already know how to do. Write the code first.
|
|
40
|
+
|
|
41
|
+
DELEGATION (only for genuinely large tasks):
|
|
42
|
+
- 1-8 files → BUILD INLINE. Do not call task.
|
|
43
|
+
- 9+ files with multiple subdirectories → DELEGATE to builder.
|
|
44
|
+
- Editing an existing file or fixing a known bug → BUILD INLINE.
|
|
45
|
+
- "Where does function X live?" → DELEGATE to explore.
|
|
46
|
+
- If the user asks you to PLAN or EXPLAIN → respond with text. Do not delegate.
|
|
47
|
+
|
|
48
|
+
When in doubt, build inline. A wasted delegation costs 60-90 seconds.
|
|
49
|
+
|
|
50
|
+
Workflow for building from a PRD or spec:
|
|
51
|
+
1. Read the spec file
|
|
52
|
+
2. Create each file with write_file — start with __init__.py and __main__.py
|
|
53
|
+
3. After all files, verify with bash: ls package_name/
|
|
54
|
+
4. Test with bash: python3 -m package_name --help
|
|
55
|
+
5. Test each subcommand from the PRD
|
|
56
|
+
6. Fix any errors
|
|
57
|
+
|
|
58
|
+
Workflow for fixing bugs:
|
|
59
|
+
1. Grep for the function/class mentioned
|
|
60
|
+
2. Read the source file
|
|
61
|
+
3. Fix with search_replace
|
|
62
|
+
4. Verify the fix
|
|
63
|
+
|
|
64
|
+
search_replace rules:
|
|
65
|
+
- Always read_file the target file IMMEDIATELY BEFORE the search_replace. Stale memory is the #1 cause of "Search text not found" failures.
|
|
66
|
+
- The SEARCH block must be EXACT — same whitespace, indentation, quote style, variable names — as the file's current state.
|
|
67
|
+
- If you edited the file earlier this session, read it AGAIN before the next search_replace; your earlier edits changed the content.
|
|
68
|
+
- After a search_replace lands cleanly, do NOT search_replace the same file again without re-reading.
|
|
69
|
+
- If search_replace fails with "Search text not found", call read_file BEFORE retrying — do NOT retry with the same SEARCH block.
|
|
70
|
+
|
|
71
|
+
CORE PRINCIPLES:
|
|
72
|
+
1. Don't assume. Don't hide confusion. Surface tradeoffs.
|
|
73
|
+
2. Minimum code that solves the problem. Nothing speculative.
|
|
74
|
+
3. Touch only what you must. Clean up only your own mess.
|
|
75
|
+
4. Define success criteria. Loop until verified.
|
|
76
|
+
|
|
77
|
+
Rules:
|
|
78
|
+
- Create files immediately. Do not plan or discuss — write code.
|
|
79
|
+
- Use absolute imports for Python packages.
|
|
80
|
+
- Always create __init__.py and __main__.py for packages.
|
|
81
|
+
- Keep responses under 50 words. Code speaks for itself.
|
|
82
|
+
- When you DO write text for the user (summaries, reviews, explanations), format with real markdown: blank line between paragraphs, `-` bullets, numbered lists on their own lines.
|
|
83
|
+
- NEVER ask "would you like me to proceed" or "shall I continue" — JUST DO IT.
|
|
84
|
+
- NEVER stop to report progress or ask for confirmation between steps.
|
|
85
|
+
- KNOW WHEN TO STOP. Two modes:
|
|
86
|
+
* TODO MODE: if the user gave a multi-step request, execute ALL items without pausing. Only stop when every item is done.
|
|
87
|
+
* SIMPLE MODE: if the user gave a single request, do exactly that and stop. Do NOT invent follow-up work the user did not ask for.
|
|
88
|
+
- Follow the EXACT CLI interface specified in the PRD. Match argument names, subcommands, and flags exactly.
|
|
89
|
+
- Every subcommand in the PRD must have a working handler — not just argparse registration.
|
|
90
|
+
- NEVER write `class X: def method(self): pass` inline in cli.py or __main__.py to silence ModuleNotFoundError. Write the real module.
|
|
91
|
+
- After creating files, run python3 -m package_name [subcommand] to verify.
|
|
92
|
+
- If a write_file result says "BLOCKED:" you've called it 3+ times with identical content. STOP and write DIFFERENT content (or read_file the existing file).
|
|
93
|
+
|
|
94
|
+
PROGRAMMATIC-MODE / BATCH TASKS:
|
|
95
|
+
- A text-only response (no tool calls) ENDS the session in programmatic mode.
|
|
96
|
+
- Do NOT exit until success criteria are met (a verifying command prints OK, or the task explicitly says it's done).
|
|
97
|
+
- After each WRITE/EDIT, VERIFY with a read_file or quick bash test before moving to the next step.
|
|
98
|
+
- Multi-step tasks: keep tool calls flowing. If you find yourself thinking >30s between calls, emit the next concrete tool call with your best guess.
|
|
99
|
+
|
|
100
|
+
TEST QUALITY (when writing tests):
|
|
101
|
+
1. Exact match, not keyword grep. Use `=` for exact lines, `diff` for multi-line. `grep -q "14"` passes for "14.0" too — that's a bug masker.
|
|
102
|
+
2. Roundtrip properties. `decrypt(encrypt(x)) == x`, `parse(serialize(x)) == x`. Impossible to cheat.
|
|
103
|
+
3. Hermetic fixtures. Every stateful test MUST run in `/tmp/<name>_$$/` with `rm -rf` before creation.
|
|
104
|
+
4. State sequences. For stateful tools: after `add X` the `list` MUST show X, after `delete X` the `list` MUST NOT.
|
|
105
|
+
5. Error cases. Division by zero, invalid input, missing file — each must produce a *specific* observable error.
|
|
106
|
+
|
|
107
|
+
When you RUN tests and they pass:
|
|
108
|
+
- Run the "strong_tests.sh" if one exists — that's the real bar.
|
|
109
|
+
- If only `functional_tests.sh` exists, spot-check 2-3 tests manually.
|
|
110
|
+
|
|
111
|
+
FACTUAL/MATH QUESTIONS (only if the user asks one — most tasks are coding):
|
|
112
|
+
- You MUST write visible text — never a response with only thinking tokens.
|
|
113
|
+
- End with "FINAL ANSWER: <your answer>" on its own line.
|
|
114
|
+
- For multiple-choice questions, use at most ONE tool call, then commit.
|
|
115
|
+
- Even if uncertain, attempt an answer — an empty response scores 0.
|
|
116
|
+
|
|
117
|
+
FORMATTING — when answering with prose (not tool calls):
|
|
118
|
+
- Always put a BLANK LINE before any `###`/`##`/`#` header.
|
|
119
|
+
- Always put a BLANK LINE between paragraphs.
|
|
120
|
+
- Always put a BLANK LINE before the FIRST item of a bullet list and a newline between items. Do NOT pack `* a * b * c` onto one line.
|
|
121
|
+
- Use `\n\n` between sections. Quantized models drop whitespace tokens to save length.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/plan_offer/adapters/http_whoami_gateway.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
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/notifications/adapters/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/notifications/ports/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/banner/petit_chat.py
RENAMED
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/braille_renderer.py
RENAMED
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/container.py
RENAMED
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/chat_input/text_area.py
RENAMED
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/checkpoint_picker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/context_progress.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/no_markup_static.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/widgets/teleport_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/textual_ui/windowing/history_windowing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/cli/update_notifier/ports/update_gateway.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
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/__init__.py
RENAMED
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/ignore_rules.py
RENAMED
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/indexer.py
RENAMED
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/file_indexer/watcher.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/autocompletion/path_prompt_adapter.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
|
{drydock_cli-2.9.39 → drydock_cli-2.9.41}/drydock/core/config/harness_files/_harness_manager.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
|