drydock-cli 2.7.42__tar.gz → 2.7.43__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.7.43/.auto_release.lock +1 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.gitignore +7 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/DEPLOYMENT.md +54 -1
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/PKG-INFO +86 -29
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/README.md +85 -28
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/pyproject.toml +1 -1
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/trip_log.md +56 -0
- drydock_cli-2.7.42/.auto_release.lock +0 -1
- drydock_cli-2.7.42/.perf_baseline_done +0 -0
- drydock_cli-2.7.42/nohup.out +0 -38138
- drydock_cli-2.7.42/perf_results/baseline_1777672181.json +0 -76
- drydock_cli-2.7.42/perf_results/baseline_1777672218.json +0 -96
- drydock_cli-2.7.42/perf_results/baseline_1777672322.json +0 -112
- drydock_cli-2.7.42/perf_results/baseline_1777732278.json +0 -306
- drydock_cli-2.7.42/perf_results/baseline_1777811293.json +0 -96
- drydock_cli-2.7.42/perf_results/baseline_1777811401.json +0 -112
- drydock_cli-2.7.42/test/project/dummy +0 -32
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.claude/scheduled_tasks.lock +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.python-version +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.typos.toml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.vscode/extensions.json +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.vscode/launch.json +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/.vscode/settings.json +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/AGENTS.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/Admiral.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/CHANGELOG.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/CLAUDE.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/HLE_PRD.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/JETSON_BENCH.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/LICENSE +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/MODEL_SHORTCOMINGS.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/NOTICE +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/SOVEREIGN_PRD.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/TRIAGE_v1.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/action.yml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/README.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results1.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results13.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results14.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results15.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results16.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results17.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results18.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results19.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results2.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results20.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results3.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results4.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results5.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results6.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results7.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results8.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results9.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/baseline_history/results_evolved_v1.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/docs/README.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/docs/acp-setup.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/BASELINE_412.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/Drydock_rebrand.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/OVERNIGHT_PROGRESS.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/OVERNIGHT_REPORT_2026_04_13.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/PERF_SWEEP_PLAN.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/PRD.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/drydock_terms.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43/docs/archive}/resume.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/detectors.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/detectors_proposed.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/history.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/interventions.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/llm_analyzer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/metrics.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/opus_escalator.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/persistence.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/policy.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/proposer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/stager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/task_classifier.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/tuning.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/validator.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/admiral/worker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/agent_loop.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/checkpoint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/classifier/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/classifier/__main__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/classifier/classifier.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/classifier/dispatcher.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/classifier/rules.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/classifier/signal.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/config/doctor.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/config/local_detect.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/context_recovery.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/logger.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/paths/_drydock_home.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/slug.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/steering_hook.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/retrieve.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/types.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/core/utils.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/graphrag/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/graphrag/__main__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/graphrag/code_indexer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/graphrag/retriever.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/graphrag/storage.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/graphrag/text_indexer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/screens/choice.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/screens/local_model.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/audit-tests/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/strong-tests/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/steering/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/steering/__main__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/steering/applier.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/steering/config.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/steering/registry.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/steering/sandbox.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/steering/vectors.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock/whats_new.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/drydock-acp.spec +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/flake.lock +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/flake.nix +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/README.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/config_base.toml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/config_best.toml +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/domain_spec.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/experimenter.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/kernel.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/mini_prd.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/mini_prompts.txt +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/proposer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/research/results.tsv +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/README.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/admiral_probe.py +0 -0
- {drydock_cli-2.7.42/scripts → drydock_cli-2.7.43/scripts/archive}/auto_test_loop.sh +0 -0
- {drydock_cli-2.7.42/scripts → drydock_cli-2.7.43/scripts/archive}/monitor_test_battery.sh +0 -0
- {drydock_cli-2.7.42/scripts → drydock_cli-2.7.43/scripts/archive}/overnight_agents_test.sh +0 -0
- {drydock_cli-2.7.42/scripts → drydock_cli-2.7.43/scripts/archive}/test_bank.sh +0 -0
- {drydock_cli-2.7.42/scripts → drydock_cli-2.7.43/scripts/archive}/test_full.sh +0 -0
- {drydock_cli-2.7.42/scripts → drydock_cli-2.7.43/scripts/archive}/test_smoke.sh +0 -0
- {drydock_cli-2.7.42/scripts → drydock_cli-2.7.43/scripts/archive}/tui_test.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/audit_sampler.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/auto_generate_tests.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/autonomous_review.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/autonomous_review_prompt.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/backup.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/bump_version.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/classify_pulse.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/comprehensive_loop.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/consume_retrieval_queue.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/discover_cli_tools.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/evolve_tests.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/gen_2000_prompts.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/hle_eval.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/hle_eval_seed.jsonl +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/install.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/llm_balancer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/mega_loop.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/meta_ralph_loop.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/monitor_swebench.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/notify_release.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/oss_task_harness.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/perf_baseline_when_idle.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/perf_sweep.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/poll_issues.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/port_task.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/prepare_release.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/queue_top.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/ralph_loop.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/research_babysitter.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/session_loop_audit.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/shakedown.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/shakedown_interactive.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/shakedown_regression.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/shakedown_suite.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/shakedown_variance.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_babysitter.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_prompts_50.txt +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_prompts_realuser.txt +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_prompts_tool_agent.txt +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_shakedown.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_telegram_status.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/stress_watcher.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/test_tui_path.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/test_generic_adapter_sanitize.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/conftest.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/e2e/common.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/mock/utils.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/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.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_admiral.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_admiral_phase3.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_admiral_proposed.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_admiral_struggle_dedup.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_agents.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_checkpoint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_classifier.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_context_recovery.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_dispatcher.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_fake_tool_call_paren_syntax.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_graphrag.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_hallucinated_tool_suppression.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_integration.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_issue_fixes.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_local_detect.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_message_id.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_middleware.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_read_file_not_found_listing.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_retrieval_consumer.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_retrieve_tool.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_search_replace_args_not_truncated.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_smoke.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_steering.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_steering_hook.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_task_complete_nudge.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_truncate_args_valid_json.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_truncated_arg_path_hint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_truncated_search_replace_escalation.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_truncated_write_escalation.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_wall_of_text_rescue.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_workloads.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/test_write_file_missing_path.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_binary_grep_hint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_consec_empty_search.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_error_loop_breaker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_manager_gemma_derived_models.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_read_file_dedup_reembed.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_read_file_directory.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_read_file_limit_truncation.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_append_fallback.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_dir_path.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_empty_content.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_file_not_found.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_hard_stop.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_malformed_block.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_placeholder.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/tools/test_write_file_missing_path_hint.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/uv.lock +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/worked_examples/README.md +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/worked_examples/cli_subcommand_dispatch.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/worked_examples/lookup.json +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/worked_examples/sql_parser.py +0 -0
- {drydock_cli-2.7.42 → drydock_cli-2.7.43}/worked_examples/tree_walking_interpreter.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2929491
|
|
@@ -213,3 +213,10 @@ research/STOP
|
|
|
213
213
|
# HLE eval outputs: per-run TUI logs, session symlinks, and copyrighted
|
|
214
214
|
# HLE dataset content. Never commit.
|
|
215
215
|
hle_results/
|
|
216
|
+
|
|
217
|
+
# Untracked development clutter that shouldn't go to PyPI
|
|
218
|
+
nohup.out
|
|
219
|
+
.perf_baseline_done
|
|
220
|
+
test/
|
|
221
|
+
perf_results/baseline_*.json
|
|
222
|
+
hle_results_iter/
|
|
@@ -20,7 +20,60 @@ A single 24 GB GPU can run the model with slightly reduced context.
|
|
|
20
20
|
The AWQ quant is what makes 16 GB cards viable — non-quantized
|
|
21
21
|
Gemma 4 26B needs ≥40 GB.
|
|
22
22
|
|
|
23
|
-
##
|
|
23
|
+
## llama.cpp (recommended for tool-using workflows)
|
|
24
|
+
|
|
25
|
+
Use this stack if drydock's TUI is your primary workflow. The `--jinja`
|
|
26
|
+
flag is the loop-fix — without it, Gemma 4 enters infinite tool-call
|
|
27
|
+
retry loops on multi-turn sessions (the 400 Bad Request loop fixed
|
|
28
|
+
in v2.7.39, GH #14).
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# 1. Download Unsloth GGUF (Q3_K_M is the article-recommended quant;
|
|
32
|
+
# UD-Q4_K_M is higher quality if you have ~17GB VRAM per slot)
|
|
33
|
+
huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \
|
|
34
|
+
--include "gemma-4-26B-A4B-it-UD-Q3_K_M.gguf" \
|
|
35
|
+
--local-dir /path/to/models
|
|
36
|
+
|
|
37
|
+
# 2. Build llama.cpp with CUDA, OR use the prebuilt Docker image
|
|
38
|
+
# ghcr.io/ggml-org/llama.cpp:server-cuda
|
|
39
|
+
|
|
40
|
+
git clone https://github.com/ggerganov/llama.cpp.git
|
|
41
|
+
cd llama.cpp
|
|
42
|
+
cmake -B build -DGGML_CUDA=ON -DLLAMA_CURL=OFF
|
|
43
|
+
cmake --build build --config Release -j8 --target llama-server
|
|
44
|
+
|
|
45
|
+
# 3. Start the server (native binary)
|
|
46
|
+
./build/bin/llama-server \
|
|
47
|
+
-m /path/to/models/gemma-4-26B-A4B-it-UD-Q3_K_M.gguf \
|
|
48
|
+
--host 0.0.0.0 --port 8000 \
|
|
49
|
+
-ngl 99 -c 32768 -np 1 \
|
|
50
|
+
--jinja \
|
|
51
|
+
-ctk q8_0 -ctv q8_0 \
|
|
52
|
+
--alias gemma4
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
**Don't omit** any of these flags — they're all load-bearing:
|
|
56
|
+
|
|
57
|
+
| Flag | Why |
|
|
58
|
+
|---|---|
|
|
59
|
+
| `--jinja` | **The loop-fix.** Required for tool-using workflows. The GGUF's bundled chat template handles `tool` turns natively; without `--jinja`, tool results inject without proper turn markers and the model loops or returns empty assistants. |
|
|
60
|
+
| `-ngl 99` | Offload all transformer layers to GPU. Anything less than full offload tanks decode speed on this model. |
|
|
61
|
+
| `-c 32768` | 32K context. Fits in 16GB VRAM with q8 KV cache; raise to 65536 if you have headroom. |
|
|
62
|
+
| `-ctk q8_0 -ctv q8_0` | Quantize K/V cache to q8 for longer contexts. f16 is ~2× slower per token at this size. |
|
|
63
|
+
| `-np 1` | Single slot. Concurrent requests serialize — fine for one user, queue under load. |
|
|
64
|
+
| `--alias gemma4` | What the API reports as the `model` field. Match this to your config.toml's `[[models]] name`. |
|
|
65
|
+
|
|
66
|
+
**Critical client-side requirement:** temperature MUST be 1.0. Lower
|
|
67
|
+
temperatures reinforce tool-call loops on Q3_K_M quants. The
|
|
68
|
+
auto-detect path in v2.7.39+ (`local_detect.py`) bakes this in
|
|
69
|
+
automatically when it sees a llama.cpp endpoint at first launch.
|
|
70
|
+
|
|
71
|
+
## vLLM (alternative — higher decode throughput)
|
|
72
|
+
|
|
73
|
+
Use this stack for batch eval / non-interactive workloads where you
|
|
74
|
+
need ~70 tok/s decode (vs llama.cpp's ~15–17). The drydock-side
|
|
75
|
+
empty-assistant filter (v2.7.39, GH #14) catches the loops vLLM is
|
|
76
|
+
prone to without `--jinja`.
|
|
24
77
|
|
|
25
78
|
Run via Docker:
|
|
26
79
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.7.
|
|
3
|
+
Version: 2.7.43
|
|
4
4
|
Summary: Local-first CLI coding agent — tested with Gemma 4 26B via vLLM
|
|
5
5
|
Project-URL: Homepage, https://github.com/fbobe321/drydock
|
|
6
6
|
Project-URL: Repository, https://github.com/fbobe321/drydock
|
|
@@ -73,30 +73,99 @@ Description-Content-Type: text/markdown
|
|
|
73
73
|
DryDock is a TUI coding assistant designed to work with **local LLMs**. It provides a conversational interface to your codebase — explore, modify, build, and test projects through natural language and a powerful set of tools.
|
|
74
74
|
|
|
75
75
|
> [!IMPORTANT]
|
|
76
|
-
> DryDock is tested and optimized for **Gemma 4 26B-A4B** (26B MoE, 4B active parameters)
|
|
76
|
+
> DryDock is tested and optimized for **Gemma 4 26B-A4B** (26B MoE, 4B active parameters). **Recommended serving stack: llama.cpp** with `--jinja` (the chat-template fix that prevents the tool-call loops Gemma 4 hits under other backends). vLLM is also documented below as a higher-throughput alternative for batch/eval workloads. Other models and providers are supported (Mistral, OpenAI, Anthropic, Ollama) but are not as thoroughly tested. If you use a different model, expect to tune prompts and tool settings.
|
|
77
77
|
|
|
78
78
|
## Tested Hardware + Model
|
|
79
79
|
|
|
80
80
|
| Component | Spec |
|
|
81
81
|
|-----------|------|
|
|
82
|
-
| GPUs |
|
|
83
|
-
| Model | [
|
|
84
|
-
|
|
|
85
|
-
| Performance | ~
|
|
82
|
+
| GPUs | 2× NVIDIA RTX 4060 Ti 16GB |
|
|
83
|
+
| Model (llama.cpp, recommended) | [unsloth/gemma-4-26B-A4B-it-GGUF](https://huggingface.co/unsloth/gemma-4-26B-A4B-it-GGUF) — UD-Q3_K_M (12.7GB) or UD-Q4_K_M (16.9GB) |
|
|
84
|
+
| Model (vLLM, alternative) | [casperhansen/gemma-4-26b-a4b-it-AWQ-4bit](https://huggingface.co/casperhansen/gemma-4-26b-a4b-it-AWQ-4bit) |
|
|
85
|
+
| Performance | ~15–17 tok/s decode (llama.cpp Q3), ~70 tok/s decode (vLLM AWQ) |
|
|
86
86
|
| Active params | 4B per token (MoE architecture — fast inference) |
|
|
87
87
|
|
|
88
|
-
###
|
|
88
|
+
### Recommended path: llama.cpp + Unsloth GGUF
|
|
89
|
+
|
|
90
|
+
**Why this is the recommended setup:** Gemma 4's tool-calling format
|
|
91
|
+
requires precise chat-template handling. Without `--jinja`, `tool` results
|
|
92
|
+
get injected without the right turn markers and the model loops or
|
|
93
|
+
returns empty assistant messages — the exact 400 Bad Request loop
|
|
94
|
+
fixed in v2.7.39 (GH #14). With `--jinja`, the GGUF's bundled chat
|
|
95
|
+
template handles tool turns natively and the loops disappear.
|
|
89
96
|
|
|
90
97
|
```bash
|
|
91
|
-
# Download
|
|
92
|
-
|
|
93
|
-
huggingface-cli download
|
|
94
|
-
--
|
|
98
|
+
# 1. Download Unsloth's GGUF (Q3_K_M is the article-recommended quant;
|
|
99
|
+
# UD-Q4_K_M is a higher-quality alternative if you have ~17GB VRAM)
|
|
100
|
+
huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \
|
|
101
|
+
--include "gemma-4-26B-A4B-it-UD-Q3_K_M.gguf" \
|
|
102
|
+
--local-dir /path/to/models
|
|
103
|
+
|
|
104
|
+
# 2. Build llama.cpp with CUDA (or use the Docker image
|
|
105
|
+
# ghcr.io/ggml-org/llama.cpp:server-cuda)
|
|
106
|
+
git clone https://github.com/ggerganov/llama.cpp.git
|
|
107
|
+
cd llama.cpp
|
|
108
|
+
cmake -B build -DGGML_CUDA=ON -DLLAMA_CURL=OFF
|
|
109
|
+
cmake --build build --config Release -j8 --target llama-server
|
|
110
|
+
|
|
111
|
+
# 3. Start the server with the article recipe
|
|
112
|
+
./build/bin/llama-server \
|
|
113
|
+
-m /path/to/models/gemma-4-26B-A4B-it-UD-Q3_K_M.gguf \
|
|
114
|
+
--host 0.0.0.0 --port 8000 \
|
|
115
|
+
-ngl 99 -c 32768 -np 1 \
|
|
116
|
+
--jinja \
|
|
117
|
+
-ctk q8_0 -ctv q8_0 \
|
|
118
|
+
--alias gemma4
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
**Critical flags:**
|
|
122
|
+
- `--jinja` — **the loop-fix.** Required for tool-using workflows. Without it, Gemma 4 enters infinite retry loops on multi-turn tool sessions.
|
|
123
|
+
- `-ngl 99` — offload all layers to GPU
|
|
124
|
+
- `-c 32768` — 32K context (fits in 16GB VRAM with q8 KV cache)
|
|
125
|
+
- `-ctk q8_0 -ctv q8_0` — quantize KV cache for longer contexts
|
|
126
|
+
- `-np 1` — single slot (concurrent requests serialize)
|
|
127
|
+
- `--alias gemma4` — what the API reports as the `model` field
|
|
128
|
+
|
|
129
|
+
**Drydock config** (`~/.drydock/config.toml`):
|
|
130
|
+
|
|
131
|
+
```toml
|
|
132
|
+
active_model = "gemma4"
|
|
133
|
+
|
|
134
|
+
[[providers]]
|
|
135
|
+
name = "local"
|
|
136
|
+
api_base = "http://localhost:8000/v1"
|
|
137
|
+
api_key_env_var = ""
|
|
138
|
+
backend = "generic"
|
|
139
|
+
|
|
140
|
+
[[models]]
|
|
141
|
+
name = "gemma4"
|
|
142
|
+
provider = "local"
|
|
143
|
+
alias = "gemma4"
|
|
144
|
+
temperature = 1.0 # MUST be 1.0 with --jinja — lower temps reinforce loops
|
|
145
|
+
|
|
146
|
+
# Article-recommended sampling (passed through extra_sampling to llama-server).
|
|
147
|
+
# Drydock auto-bakes these on first launch when llama.cpp is detected at
|
|
148
|
+
# 127.0.0.1:8080 / :8000, but you can override here.
|
|
149
|
+
[models.extra_params]
|
|
150
|
+
top_k = 40
|
|
151
|
+
top_p = 0.95
|
|
152
|
+
frequency_penalty = 1.1
|
|
153
|
+
max_tokens = 2048
|
|
95
154
|
```
|
|
96
155
|
|
|
97
|
-
###
|
|
156
|
+
### Alternative: vLLM (higher throughput, no `--jinja` equivalent)
|
|
157
|
+
|
|
158
|
+
vLLM has its own `--tool-call-parser gemma4` path that works for most
|
|
159
|
+
workflows, but has been observed to enter tool-call loops on long
|
|
160
|
+
multi-turn sessions (GH #14, fixed at the drydock side in v2.7.39 by
|
|
161
|
+
filtering empty assistant messages before re-call). Use vLLM when you
|
|
162
|
+
need higher decode throughput (~70 tok/s vs llama.cpp's ~15–17) for
|
|
163
|
+
batch eval or non-interactive workloads where loop-fix matters less.
|
|
98
164
|
|
|
99
165
|
```bash
|
|
166
|
+
huggingface-cli download casperhansen/gemma-4-26b-a4b-it-AWQ-4bit \
|
|
167
|
+
--local-dir /path/to/models/Gemma-4-26B-A4B-it-AWQ-4bit
|
|
168
|
+
|
|
100
169
|
docker run -d \
|
|
101
170
|
--gpus all \
|
|
102
171
|
--name gemma4 \
|
|
@@ -121,29 +190,17 @@ docker run -d \
|
|
|
121
190
|
Key flags:
|
|
122
191
|
- `--tensor-parallel-size 2` — split across 2 GPUs
|
|
123
192
|
- `--kv-cache-dtype fp8` — reduce KV cache memory for longer contexts
|
|
124
|
-
- `--tool-call-parser gemma4` + `--enable-auto-tool-choice` — required for Gemma 4 tool calling
|
|
193
|
+
- `--tool-call-parser gemma4` + `--enable-auto-tool-choice` — required for Gemma 4 tool calling under vLLM
|
|
125
194
|
- `--max-num-seqs 2` — limit concurrent requests (prevents OOM on 16GB GPUs)
|
|
126
195
|
|
|
127
|
-
Verify
|
|
196
|
+
Verify either backend is running:
|
|
128
197
|
```bash
|
|
129
198
|
curl http://localhost:8000/v1/models
|
|
130
199
|
```
|
|
131
200
|
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
# ~/.drydock/config.toml
|
|
136
|
-
[models.gemma4]
|
|
137
|
-
name = "gemma4"
|
|
138
|
-
provider = "generic-openai"
|
|
139
|
-
alias = "gemma4"
|
|
140
|
-
temperature = 0.2
|
|
141
|
-
thinking = "high"
|
|
142
|
-
|
|
143
|
-
[providers.generic-openai]
|
|
144
|
-
api_base = "http://localhost:8000/v1"
|
|
145
|
-
api_style = "openai"
|
|
146
|
-
```
|
|
201
|
+
For vLLM, drydock config is the same as the llama.cpp block above,
|
|
202
|
+
except `temperature = 0.2` is fine — the `--jinja` requirement only
|
|
203
|
+
applies to llama.cpp.
|
|
147
204
|
|
|
148
205
|
## Install
|
|
149
206
|
|
|
@@ -17,30 +17,99 @@
|
|
|
17
17
|
DryDock is a TUI coding assistant designed to work with **local LLMs**. It provides a conversational interface to your codebase — explore, modify, build, and test projects through natural language and a powerful set of tools.
|
|
18
18
|
|
|
19
19
|
> [!IMPORTANT]
|
|
20
|
-
> DryDock is tested and optimized for **Gemma 4 26B-A4B** (26B MoE, 4B active parameters)
|
|
20
|
+
> DryDock is tested and optimized for **Gemma 4 26B-A4B** (26B MoE, 4B active parameters). **Recommended serving stack: llama.cpp** with `--jinja` (the chat-template fix that prevents the tool-call loops Gemma 4 hits under other backends). vLLM is also documented below as a higher-throughput alternative for batch/eval workloads. Other models and providers are supported (Mistral, OpenAI, Anthropic, Ollama) but are not as thoroughly tested. If you use a different model, expect to tune prompts and tool settings.
|
|
21
21
|
|
|
22
22
|
## Tested Hardware + Model
|
|
23
23
|
|
|
24
24
|
| Component | Spec |
|
|
25
25
|
|-----------|------|
|
|
26
|
-
| GPUs |
|
|
27
|
-
| Model | [
|
|
28
|
-
|
|
|
29
|
-
| Performance | ~
|
|
26
|
+
| GPUs | 2× NVIDIA RTX 4060 Ti 16GB |
|
|
27
|
+
| Model (llama.cpp, recommended) | [unsloth/gemma-4-26B-A4B-it-GGUF](https://huggingface.co/unsloth/gemma-4-26B-A4B-it-GGUF) — UD-Q3_K_M (12.7GB) or UD-Q4_K_M (16.9GB) |
|
|
28
|
+
| Model (vLLM, alternative) | [casperhansen/gemma-4-26b-a4b-it-AWQ-4bit](https://huggingface.co/casperhansen/gemma-4-26b-a4b-it-AWQ-4bit) |
|
|
29
|
+
| Performance | ~15–17 tok/s decode (llama.cpp Q3), ~70 tok/s decode (vLLM AWQ) |
|
|
30
30
|
| Active params | 4B per token (MoE architecture — fast inference) |
|
|
31
31
|
|
|
32
|
-
###
|
|
32
|
+
### Recommended path: llama.cpp + Unsloth GGUF
|
|
33
|
+
|
|
34
|
+
**Why this is the recommended setup:** Gemma 4's tool-calling format
|
|
35
|
+
requires precise chat-template handling. Without `--jinja`, `tool` results
|
|
36
|
+
get injected without the right turn markers and the model loops or
|
|
37
|
+
returns empty assistant messages — the exact 400 Bad Request loop
|
|
38
|
+
fixed in v2.7.39 (GH #14). With `--jinja`, the GGUF's bundled chat
|
|
39
|
+
template handles tool turns natively and the loops disappear.
|
|
33
40
|
|
|
34
41
|
```bash
|
|
35
|
-
# Download
|
|
36
|
-
|
|
37
|
-
huggingface-cli download
|
|
38
|
-
--
|
|
42
|
+
# 1. Download Unsloth's GGUF (Q3_K_M is the article-recommended quant;
|
|
43
|
+
# UD-Q4_K_M is a higher-quality alternative if you have ~17GB VRAM)
|
|
44
|
+
huggingface-cli download unsloth/gemma-4-26B-A4B-it-GGUF \
|
|
45
|
+
--include "gemma-4-26B-A4B-it-UD-Q3_K_M.gguf" \
|
|
46
|
+
--local-dir /path/to/models
|
|
47
|
+
|
|
48
|
+
# 2. Build llama.cpp with CUDA (or use the Docker image
|
|
49
|
+
# ghcr.io/ggml-org/llama.cpp:server-cuda)
|
|
50
|
+
git clone https://github.com/ggerganov/llama.cpp.git
|
|
51
|
+
cd llama.cpp
|
|
52
|
+
cmake -B build -DGGML_CUDA=ON -DLLAMA_CURL=OFF
|
|
53
|
+
cmake --build build --config Release -j8 --target llama-server
|
|
54
|
+
|
|
55
|
+
# 3. Start the server with the article recipe
|
|
56
|
+
./build/bin/llama-server \
|
|
57
|
+
-m /path/to/models/gemma-4-26B-A4B-it-UD-Q3_K_M.gguf \
|
|
58
|
+
--host 0.0.0.0 --port 8000 \
|
|
59
|
+
-ngl 99 -c 32768 -np 1 \
|
|
60
|
+
--jinja \
|
|
61
|
+
-ctk q8_0 -ctv q8_0 \
|
|
62
|
+
--alias gemma4
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Critical flags:**
|
|
66
|
+
- `--jinja` — **the loop-fix.** Required for tool-using workflows. Without it, Gemma 4 enters infinite retry loops on multi-turn tool sessions.
|
|
67
|
+
- `-ngl 99` — offload all layers to GPU
|
|
68
|
+
- `-c 32768` — 32K context (fits in 16GB VRAM with q8 KV cache)
|
|
69
|
+
- `-ctk q8_0 -ctv q8_0` — quantize KV cache for longer contexts
|
|
70
|
+
- `-np 1` — single slot (concurrent requests serialize)
|
|
71
|
+
- `--alias gemma4` — what the API reports as the `model` field
|
|
72
|
+
|
|
73
|
+
**Drydock config** (`~/.drydock/config.toml`):
|
|
74
|
+
|
|
75
|
+
```toml
|
|
76
|
+
active_model = "gemma4"
|
|
77
|
+
|
|
78
|
+
[[providers]]
|
|
79
|
+
name = "local"
|
|
80
|
+
api_base = "http://localhost:8000/v1"
|
|
81
|
+
api_key_env_var = ""
|
|
82
|
+
backend = "generic"
|
|
83
|
+
|
|
84
|
+
[[models]]
|
|
85
|
+
name = "gemma4"
|
|
86
|
+
provider = "local"
|
|
87
|
+
alias = "gemma4"
|
|
88
|
+
temperature = 1.0 # MUST be 1.0 with --jinja — lower temps reinforce loops
|
|
89
|
+
|
|
90
|
+
# Article-recommended sampling (passed through extra_sampling to llama-server).
|
|
91
|
+
# Drydock auto-bakes these on first launch when llama.cpp is detected at
|
|
92
|
+
# 127.0.0.1:8080 / :8000, but you can override here.
|
|
93
|
+
[models.extra_params]
|
|
94
|
+
top_k = 40
|
|
95
|
+
top_p = 0.95
|
|
96
|
+
frequency_penalty = 1.1
|
|
97
|
+
max_tokens = 2048
|
|
39
98
|
```
|
|
40
99
|
|
|
41
|
-
###
|
|
100
|
+
### Alternative: vLLM (higher throughput, no `--jinja` equivalent)
|
|
101
|
+
|
|
102
|
+
vLLM has its own `--tool-call-parser gemma4` path that works for most
|
|
103
|
+
workflows, but has been observed to enter tool-call loops on long
|
|
104
|
+
multi-turn sessions (GH #14, fixed at the drydock side in v2.7.39 by
|
|
105
|
+
filtering empty assistant messages before re-call). Use vLLM when you
|
|
106
|
+
need higher decode throughput (~70 tok/s vs llama.cpp's ~15–17) for
|
|
107
|
+
batch eval or non-interactive workloads where loop-fix matters less.
|
|
42
108
|
|
|
43
109
|
```bash
|
|
110
|
+
huggingface-cli download casperhansen/gemma-4-26b-a4b-it-AWQ-4bit \
|
|
111
|
+
--local-dir /path/to/models/Gemma-4-26B-A4B-it-AWQ-4bit
|
|
112
|
+
|
|
44
113
|
docker run -d \
|
|
45
114
|
--gpus all \
|
|
46
115
|
--name gemma4 \
|
|
@@ -65,29 +134,17 @@ docker run -d \
|
|
|
65
134
|
Key flags:
|
|
66
135
|
- `--tensor-parallel-size 2` — split across 2 GPUs
|
|
67
136
|
- `--kv-cache-dtype fp8` — reduce KV cache memory for longer contexts
|
|
68
|
-
- `--tool-call-parser gemma4` + `--enable-auto-tool-choice` — required for Gemma 4 tool calling
|
|
137
|
+
- `--tool-call-parser gemma4` + `--enable-auto-tool-choice` — required for Gemma 4 tool calling under vLLM
|
|
69
138
|
- `--max-num-seqs 2` — limit concurrent requests (prevents OOM on 16GB GPUs)
|
|
70
139
|
|
|
71
|
-
Verify
|
|
140
|
+
Verify either backend is running:
|
|
72
141
|
```bash
|
|
73
142
|
curl http://localhost:8000/v1/models
|
|
74
143
|
```
|
|
75
144
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
# ~/.drydock/config.toml
|
|
80
|
-
[models.gemma4]
|
|
81
|
-
name = "gemma4"
|
|
82
|
-
provider = "generic-openai"
|
|
83
|
-
alias = "gemma4"
|
|
84
|
-
temperature = 0.2
|
|
85
|
-
thinking = "high"
|
|
86
|
-
|
|
87
|
-
[providers.generic-openai]
|
|
88
|
-
api_base = "http://localhost:8000/v1"
|
|
89
|
-
api_style = "openai"
|
|
90
|
-
```
|
|
145
|
+
For vLLM, drydock config is the same as the llama.cpp block above,
|
|
146
|
+
except `temperature = 0.2` is fine — the `--jinja` requirement only
|
|
147
|
+
applies to llama.cpp.
|
|
91
148
|
|
|
92
149
|
## Install
|
|
93
150
|
|
|
@@ -3,6 +3,35 @@
|
|
|
3
3
|
Autonomous Claude Code review ticks while the user is away. Each tick appended
|
|
4
4
|
chronologically. Cron-driven every 30 min from `/data3/drydock/scripts/autonomous_review.sh`.
|
|
5
5
|
|
|
6
|
+
## 2026-05-05 13:00 UTC tick
|
|
7
|
+
- Stress: 380/1658 (PID 2755890 alive, ~17h elapsed); write rate 48% last 100 prompts, 36% overall (84 SKIPs all "TUI did not accept after 3 retries"; SKIPs cluster after TUI recycles — harness-side timing, not a drydock bug); RECYCLE-TUI fires frequently but stress progresses
|
|
8
|
+
- vLLM 400s: 0 last 30 min (recovered from 10:30 regression); gemma4 Docker healthy; balancer PID 2462362 on :8001 healthy; 0 open GH issues
|
|
9
|
+
- Dispatch queue: harness=37077 entries; top last 200: thinking_stall 148, search_replace:not_found_loop 28, bash_generic 14, hallucinated_name 6 — all addressed by commits in v2.7.40–v2.7.42; retrieval=74 (0 actionable — all already ingested)
|
|
10
|
+
- Investigated: lower write rate vs prior run (36% vs 74%) traced to shorter prompts (sha1 hash, sin, cos etc.) getting text-only model responses + session resets resetting context; not a drydock source bug; TUI focus restoration code confirmed present in _handle_agent_loop_turn finally block
|
|
11
|
+
- Action this tick: no fix committed — all patterns addressed by recent commits; stress alive and progressing; retrieval drain ran (0 new ingests)
|
|
12
|
+
|
|
13
|
+
## 2026-05-05 12:00 UTC tick
|
|
14
|
+
- Stress: 366/1658 (PID 2755890 alive, ~16h elapsed); write rate 46% last 100 prompts (prompts 265-366 are all "Add a --XXX CLI flag" — low write rate reflects model treating flag infrastructure as already done); SKIP rate 88/366 = 24% total, improving (5 SKIPs in current 350-399 window vs 25 in 300-349 peak)
|
|
15
|
+
- vLLM 400s: 0 last 30 min (recovered from 69/30min regression noted at 10:30); gemma4 Docker healthy; balancer PID 2462362 on :8001 healthy (resume.md had stale PID 1230765); admiral_probe PID 4075121 on :8878 healthy
|
|
16
|
+
- GH issues: 0 open
|
|
17
|
+
- Dispatch queue: harness=36547 (today: thinking_stall 4459, search_replace:not_found 486, bash_generic 384, hallucinated_name 106, heredoc_loop 58, dedup 58 — all addressed by commits in last 24h); retrieval=74 (0 actionable)
|
|
18
|
+
- Current session active (PID 2915395): model in read_file loop (8+ identical reads after search_replace returned ALREADY CORRECT) — advisory NOTE fires at count 5, Gemma 4 ignoring per known limitation; harness will RECYCLE-TUI if session stalls; no drydock source change warranted
|
|
19
|
+
- Action this tick: no fix committed — all patterns addressed by v2.7.42 and prior; vLLM 400s self-resolved; stress alive and progressing; retrieval drain ran (0 new ingests)
|
|
20
|
+
|
|
21
|
+
## 2026-05-05 10:30 UTC tick
|
|
22
|
+
- Stress: 357/1658 (PID 2755890 alive, 15h27m elapsed); write rate 45% last 100; SKIP rate 75/357 (21%), 38 SKIPs in last ~200 prompts — v2.7.42 input-focus fix deployed but SKIPs persist; 67 RECYCLE-TUI events
|
|
23
|
+
- vLLM 400s: 69 in last 30 min, 298 in last 2h — REGRESSION; error is JSONDecodeError at char 11 ("Unterminated string") in request body; emergency compaction handles the 400s but degrades write rate; balancer at :8001 healthy (PID 2462362), secondary backend 192.168.50.21:8000 returns llama.cpp format (incompatible) causing every failover to 500
|
|
24
|
+
- GH issues: 0 open
|
|
25
|
+
- Dispatch queue: harness=36,266 (top patterns last 24h: thinking_stall 10,613; bash_generic 1,448; search_replace:not_found 1,127; hallucinated_name 309; all have prior commits); retrieval=74 (0 actionable — all already ingested)
|
|
26
|
+
- Action this tick: no fix committed — vLLM 400 regression investigated but root cause unclear (JSONDecodeError at exactly char 11 in every case suggests systematic issue, possibly Content-Length truncation or special char escaping); retrieval drain ran (0 new ingests); stress alive and progressing; will continue monitoring next tick.
|
|
27
|
+
|
|
28
|
+
## 2026-05-05 08:40 UTC tick
|
|
29
|
+
- Stress: 350/1658 (PID 2755890 alive, 14h58m elapsed); write rate 44% last 100; SKIP rate elevated — 73/350 total (21%), spike at prompts 300-349 (54%) then recovering after FORCE-RESET; session_20260505_083349 active with 21 msgs growing
|
|
30
|
+
- vLLM 400s: 0; gemma4 Docker healthy; llm_balancer healthy on :8001 (PID 2462362); stress_watcher running (PID 2759636)
|
|
31
|
+
- GH issues: 0 open
|
|
32
|
+
- Dispatch queue: harness=35,981 (top patterns: thinking_stall 17355, bash_generic 10076, hallucinated_name 4074, search_replace:not_found 3306 — all addressed by commits in last 24h; hallucinated_name confirmed suppressed via _IGNORE_TOOLS in format.py); retrieval=74 (0 new this tick, all already ingested)
|
|
33
|
+
- Action this tick: no fix committed — investigated SKIP spike at 300-349; consistent with context-bloat causing >120s agent turns; v2.7.42 focus-restore fix (68342fc) deployed and correct; FORCE-RESET at prompt ~340 recovered the run; no drydock source change warranted this tick.
|
|
34
|
+
|
|
6
35
|
## 2026-05-05 06:38 UTC tick
|
|
7
36
|
- Stress: 323/1658 (PID 2755890 alive, 12h28m elapsed); done=268, skip=53 (16%); at [323] with fresh RECYCLE (new TUI PID 2883300); babysitter log confirms steady progress from 273→322 since 04:00 UTC
|
|
8
37
|
- vLLM 400s: 0; gemma4 Docker healthy; llm_balancer healthy on :8001 (PID 2462362)
|
|
@@ -1878,6 +1907,15 @@ restarted, cron self-match bug fixed in this same session).
|
|
|
1878
1907
|
- Dispatch queue: harness=34857 total (top today: thinking_stall=3124, loop:bash_generic=276, search_replace:not_found_loop=320, tool:hallucinated_name=61 — all addressed by v2.7.41 commits); retrieval=74 (0 actionable, all current)
|
|
1879
1908
|
- Action this tick: committed fix(tui): restore input focus after agent turn completes. The finally block in _run_agent_task() never called _focus_current_bottom_app() — after _refresh_windowing_from_history() remounted message widgets, keyboard focus could shift away from the chat input. Root cause of the ~19% SKIP rate (harness SKIPs when TUI doesn't accept typed prompts). Fix: one-line call_after_refresh(_focus_current_bottom_app) after the windowing refresh. Ships at next auto-release (12:00 UTC) as v2.7.42.
|
|
1880
1909
|
|
|
1910
|
+
## 2026-05-05 07:33 UTC tick
|
|
1911
|
+
- Stress: 339/1658 (20% done, PID 2755890, alive ~14h)
|
|
1912
|
+
- Write rate: 44% last 100 prompts (CLI-flag prompts; many complete with 0 file writes — metric is valid)
|
|
1913
|
+
- Admiral last 30 min: 2 interventions (empty_after_tool:task, empty_after_tool:bash)
|
|
1914
|
+
- vLLM 400s: 0
|
|
1915
|
+
- GH issues: 0 open
|
|
1916
|
+
- Dispatch queue: harness=35413 total (top: thinking_stall=16908, loop:bash_generic=10040, tool:hallucinated_name=4059, search_replace:not_found_loop=3248 — all addressed by recent commits); retrieval=74 (0 actionable)
|
|
1917
|
+
- Action this tick: triggered manual auto_release to ship v2.7.42 (TUI focus fix) 4.5h ahead of next scheduled cron (12:00 UTC). The focus fix was committed at 01:34 CDT this tick but hadn't been deployed; stress harness SKIP rate (~19%) is directly caused by keyboard focus not being restored after each agent turn. v2.7.42 now installed in user env; next TUI recycles will run the fixed version.
|
|
1918
|
+
|
|
1881
1919
|
## 2026-05-05 07:02 UTC tick
|
|
1882
1920
|
- Stress: 333/1658 (harness PID 2755890, elapsed 13h29m, alive)
|
|
1883
1921
|
- Write rate: 54% last 50 prompts (CLI-flag prompts; many complete with 0 writes — expected)
|
|
@@ -1886,3 +1924,21 @@ restarted, cron self-match bug fixed in this same session).
|
|
|
1886
1924
|
- GH issues: 0 open
|
|
1887
1925
|
- Dispatch queue: harness=35137 total (13,444 in last 24h, top: thinking_stall=16686, loop:bash_generic=10022, tool:hallucinated_name=4053, search_replace:not_found_loop=3224 — all addressed by recent commits); retrieval=74 (0 actionable)
|
|
1888
1926
|
- Action this tick: no new bugs found. All top dispatch patterns have been addressed by v2.7.41 commits (focus fix, stall fallback, bash heredoc, dedup listing, search_replace not-found). Stress skip rate is 18.6% cumulative but the input focus fix (68342fc) deployed at midnight CDT 2h ago — too soon to assess impact. Harness self-healing via FORCE-RESET+RECYCLE; currently retrying prompt 333. No action taken.
|
|
1927
|
+
|
|
1928
|
+
## 2026-05-05 08:28 UTC tick
|
|
1929
|
+
- Stress: 680/1658 (41% done, PID 2755890, alive, session active on prompt 680)
|
|
1930
|
+
- Write rate: 32% last 100 prompts (down from 44%; reflects 80-error burst during SKIPs at 677-679)
|
|
1931
|
+
- SKIP rate: 8.5% cumulative (58/680) — improved from ~19% prior to v2.7.42 TUI focus fix; fix is working
|
|
1932
|
+
- vLLM 400s: 80 in a burst earlier this tick (JSONDecodeError at line 1 col 12), now 0 in last 10 min; burst appears linked to consecutive SKIP cascade at 677-679 triggering aggressive context compaction + session reset, not a persisting regression; balancer healthy (pid 2462362 on :8001)
|
|
1933
|
+
- GH issues: 0 open
|
|
1934
|
+
- Dispatch queue: harness=35693 total (thinking_stall=17130, loop:bash_generic=10058, tool:hallucinated_name=4065, search_replace:not_found_loop=3276 — all addressed by recent commits; hallucinated_name already suppressed via _IGNORE_TOOLS); retrieval=74 (0 actionable, all current)
|
|
1935
|
+
- Action this tick: no fix committed. Retrieval drain: 0 projects (all 74 entries already ingested). No unaddressed actionable bug found in source. Infrastructure healthy.
|
|
1936
|
+
|
|
1937
|
+
## 2026-05-05 10:02 UTC tick
|
|
1938
|
+
- Stress: 373/1658 (22.5%), PID 2755890 alive (16h elapsed); babysitter latest tick 10:00 UTC shows done=291 skip=81 recycle=71 idx=372 — run is progressing normally
|
|
1939
|
+
- Write rate: 47% last 100 prompts (down from 74% peak; "Add a --flag CLI flag" prompts often produce 0 writes because model says flag already exists)
|
|
1940
|
+
- Admiral last 30 min: 1 fire (retry_after_error:search_replace at 09:56 — model behavior, not a drydock bug; search_replace loop-breaker is working)
|
|
1941
|
+
- vLLM 400s: 0
|
|
1942
|
+
- GH issues: 0 open
|
|
1943
|
+
- Dispatch queue: harness=36816 entries (top: thinking_stall, search_replace:not_found_loop, loop:bash_generic — all addressed by recent commits); retrieval=74 (0 actionable, all current); steering=N/A
|
|
1944
|
+
- Action this tick: no fix committed. Retrieval drain: 0 new ingests. All dispatch patterns covered. TUI log mtime appeared stale (05:02 CDT = 10:02 UTC, timezone confusion — it's current). Infrastructure healthy.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2897827
|
|
File without changes
|