drydock-cli 2.8.49__tar.gz → 2.8.50__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.8.50/.auto_release.lock +1 -0
- drydock_cli-2.8.50/.drydock/graphrag.sqlite +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/CLAUDE.md +45 -41
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/PKG-INFO +1 -1
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/agent_loop.py +30 -11
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/retrieve.py +9 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/pyproject.toml +1 -1
- drydock_cli-2.8.50/scripts/_archived_eval_harness/README.md +38 -0
- drydock_cli-2.8.49/scripts/hle_eval.py → drydock_cli-2.8.50/scripts/_archived_eval_harness/hle_eval.py.deprecated +1 -1
- drydock_cli-2.8.50/tests/backend/__init__.py +0 -0
- drydock_cli-2.8.50/tests/cli/textual_ui/__init__.py +0 -0
- drydock_cli-2.8.50/tests/mock/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/trip_log.md +91 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/uv.lock +15 -1
- drydock_cli-2.8.49/.auto_release.lock +0 -1
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.gitignore +0 -0
- /drydock_cli-2.8.49/.pause_stress → /drydock_cli-2.8.50/.pause_hle_babysitter +0 -0
- /drydock_cli-2.8.49/drydock/acp/__init__.py → /drydock_cli-2.8.50/.pause_hle_burndown +0 -0
- /drydock_cli-2.8.49/drydock/acp/tools/__init__.py → /drydock_cli-2.8.50/.pause_hle_burndown_keepalive +0 -0
- /drydock_cli-2.8.49/drydock/cli/__init__.py → /drydock_cli-2.8.50/.pause_stress +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.python-version +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.typos.toml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.vscode/extensions.json +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.vscode/launch.json +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/.vscode/settings.json +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/AGENTS.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/Admiral.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/CHANGELOG.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/DEEP_NOIR_PRD.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/DEPLOYMENT.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/DRYDOCK.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/HLE_PRD.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/JETSON_BENCH.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/LICENSE +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/MODEL_SHORTCOMINGS.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/NOTICE +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/README.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/SOVEREIGN_PRD.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/TRIAGE_v1.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/action.yml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/README.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results1.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results13.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results14.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results15.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results16.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results17.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results18.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results19.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results2.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results20.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results3.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results4.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results5.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results6.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results7.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results8.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results9.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/baseline_history/results_evolved_v1.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/README.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/acp-setup.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/BASELINE_412.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/Drydock_rebrand.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/PRD.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/drydock_terms.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/archive/resume.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/__main__.py +0 -0
- {drydock_cli-2.8.49/drydock/cli/autocompletion → drydock_cli-2.8.50/drydock/acp}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.8.49/drydock/cli/textual_ui → drydock_cli-2.8.50/drydock/acp/tools}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/detectors.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/detectors_proposed.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/history.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/interventions.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/llm_analyzer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/metrics.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/opus_escalator.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/persistence.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/policy.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/proposer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/stager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/task_classifier.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/tuning.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/validator.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/admiral/worker.py +0 -0
- {drydock_cli-2.8.49/drydock/cli/textual_ui/notifications/adapters → drydock_cli-2.8.50/drydock/cli}/__init__.py +0 -0
- {drydock_cli-2.8.49/drydock/cli/textual_ui/notifications/ports → drydock_cli-2.8.50/drydock/cli/autocompletion}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/fix_windows_path.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.8.49/drydock/cli/textual_ui/widgets → drydock_cli-2.8.50/drydock/cli/textual_ui}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.8.49/drydock/core/autocompletion → drydock_cli-2.8.50/drydock/cli/textual_ui/notifications/adapters}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.8.49/drydock/core/llm → drydock_cli-2.8.50/drydock/cli/textual_ui/notifications/ports}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.8.49/drydock/core/telemetry → drydock_cli-2.8.50/drydock/cli/textual_ui/widgets}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/auto_solve.py +0 -0
- {drydock_cli-2.8.49/drydock/core/tools/builtins/prompts → drydock_cli-2.8.50/drydock/core/autocompletion}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/checkpoint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/classifier/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/classifier/__main__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/classifier/classifier.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/classifier/dispatcher.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/classifier/rules.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/classifier/signal.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/_dotenv.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/doctor.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/local_detect.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/config/migrate.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/constraint_extract.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/constraint_hint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/context_recovery.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/goal.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.8.49/drydock/skills → drydock_cli-2.8.50/drydock/core/llm}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/logger.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/paths/_drydock_home.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/slug.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/steering_hook.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.8.49/tests/backend → drydock_cli-2.8.50/drydock/core/telemetry}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/algebra_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/chemistry_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/count_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/logic_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/math_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/memory_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/number_theory_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prolog_tool.py +0 -0
- {drydock_cli-2.8.49/tests/cli/textual_ui → drydock_cli-2.8.50/drydock/core/tools/builtins/prompts}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/set_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/solve_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/stats_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/units_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/verify_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/types.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/core/utils.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/curiosity/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/curiosity/__main__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/curiosity/gap_detector.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/curiosity/item.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/curiosity/queue.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/curiosity/surprise.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/graphrag/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/graphrag/__main__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/graphrag/code_indexer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/graphrag/retriever.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/graphrag/storage.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/graphrag/text_indexer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/screens/choice.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/screens/local_model.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.8.49/tests/mock → drydock_cli-2.8.50/drydock/skills}/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/audit-tests/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/constraint-reasoning/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/logic/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/logic/assets/cheat_sheet_full.txt +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/prove/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/strong-tests/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/__main__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/applier.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/config.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/registry.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/sandbox.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/sidecar/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/sidecar/header_parser.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/sidecar/hooks.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/sidecar/loader.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/sidecar/server.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/train/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/train/capture.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/train/compute_vector.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/train/extract_pairs.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/train/scan_sessions.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/steering/vectors.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock/whats_new.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/drydock-acp.spec +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/flake.lock +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/flake.nix +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/outlook_draft_assistant.tar.gz +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/README.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/config_base.toml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/config_best.toml +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/deep_noir/pairs/empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/deep_noir/pairs/scan_empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/domain_spec.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/experimenter.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/kernel.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/mini_prd.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/mini_prompts.txt +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/proposer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/research/results.tsv +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/resume.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/README.md +0 -0
- /drydock_cli-2.8.49/scripts/auto_solve_audit.py → /drydock_cli-2.8.50/scripts/_archived_eval_harness/auto_solve_audit.py.deprecated +0 -0
- /drydock_cli-2.8.49/scripts/hle_babysitter.sh → /drydock_cli-2.8.50/scripts/_archived_eval_harness/hle_babysitter.sh.deprecated +0 -0
- /drydock_cli-2.8.49/scripts/hle_burndown.sh → /drydock_cli-2.8.50/scripts/_archived_eval_harness/hle_burndown.sh.deprecated +0 -0
- /drydock_cli-2.8.49/scripts/hle_burndown_keepalive.sh → /drydock_cli-2.8.50/scripts/_archived_eval_harness/hle_burndown_keepalive.sh.deprecated +0 -0
- /drydock_cli-2.8.49/scripts/hle_burndown_status.py → /drydock_cli-2.8.50/scripts/_archived_eval_harness/hle_burndown_status.py.deprecated +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/admiral_probe.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/archive/auto_test_loop.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/archive/monitor_test_battery.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/archive/overnight_agents_test.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/archive/test_bank.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/archive/test_full.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/archive/test_smoke.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/archive/tui_test.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/audit_sampler.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/auto_generate_tests.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/autonomous_review.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/autonomous_review_prompt.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/backfill_hle_curiosity.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/backup.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/bench_inference.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/bump_version.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/classify_pulse.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/consume_retrieval_queue.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/curiosity_idle_cycle.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/dedupe_dispatch_queues.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/dispatch_report.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/drydock_status.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/fetch_arxiv_abstracts.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/gen_2000_prompts.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/hle_aggregate.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/hle_eval_seed.jsonl +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/llm_balancer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/notify_release.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/perf_baseline_when_idle.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/perf_sweep.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/poll_issues.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/queue_top.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/ralph_loop.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/rejudge_hle.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/research_babysitter.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/shakedown.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/shakedown_interactive.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/shakedown_suite.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/shakedown_variance.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/start_steering_sidecar.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_babysitter.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_prompts_50.txt +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_prompts_realuser.txt +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_prompts_tool_agent.txt +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_shakedown.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_telegram_status.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/stress_watcher.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/tool_usage_report.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/test_generic_adapter_sanitize.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/conftest.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/e2e/common.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/mock/utils.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/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.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_admiral.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_admiral_hallucinated_tool_filter.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_admiral_intervention_outcome.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_admiral_phase3.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_admiral_proposed.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_admiral_session_id.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_admiral_struggle_dedup.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_agents.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_algebra_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_api_error_recovery.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_auto_retrieve_soft_nudge.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_auto_solve.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_checkpoint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_chemistry_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_classifier.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_config_migration.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_constraint_extract.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_constraint_hint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_context_recovery.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_count_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_curiosity.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_dispatch_report.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_dispatcher.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_fake_tool_call_paren_syntax.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_goal.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_graphrag.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_graphrag_worked_examples.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_hallucinated_tool_suppression.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_hle_aggregate.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_hle_score_method_split.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_hle_typing.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_integration.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_issue_fixes.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_local_detect.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_logic_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_math_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_mcp_settings.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_memory_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_message_id.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_middleware.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_number_theory_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_prolog_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_read_file_not_found_listing.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_rejudge_hle.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_retrieval_consumer.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_retrieve_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_search_replace_args_not_truncated.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_set_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_smoke.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_solve_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_stats_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_steering.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_steering_capture.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_steering_compute_vector.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_steering_extract_pairs.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_steering_hook.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_steering_sidecar_chat_inputs.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_steering_sidecar_hooks.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_task_complete_nudge.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_truncate_args_valid_json.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_truncated_arg_path_hint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_truncated_search_replace_escalation.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_truncated_write_escalation.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_units_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_verify_tool.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_wall_of_text_rescue.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_workloads.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/test_write_file_missing_path.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_binary_grep_hint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_consec_empty_search.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_error_loop_breaker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_manager_gemma_derived_models.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_read_file_dedup_reembed.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_read_file_directory.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_read_file_limit_truncation.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_append_fallback.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_dir_path.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_empty_content.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_file_not_found.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_hard_stop.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_malformed_block.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_placeholder.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/tools/test_write_file_missing_path_hint.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/worked_examples/README.md +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/worked_examples/cli_subcommand_dispatch.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/worked_examples/lookup.json +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/worked_examples/sql_parser.py +0 -0
- {drydock_cli-2.8.49 → drydock_cli-2.8.50}/worked_examples/tree_walking_interpreter.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2480262
|
|
Binary file
|
|
@@ -43,57 +43,61 @@ Drydock is a local CLI coding agent (fork of mistral-vibe, Apache 2.0).
|
|
|
43
43
|
- **370 PRDs** at /data3/drydock_test_projects/ — the benchmark suite
|
|
44
44
|
- **Current version:** v2.8.27 on PyPI (auto-released every 6h from `main`)
|
|
45
45
|
- **Active continuous loops:** stress harness (hourly), autonomous_review
|
|
46
|
-
(30-min), classify_pulse (10-min), telegram_bot keepalive (2-min)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
46
|
+
(30-min), classify_pulse (10-min), telegram_bot keepalive (2-min).
|
|
47
|
+
HLE eval loops were removed 2026-05-17 per operator directive — see
|
|
48
|
+
the "NO CUSTOM EVAL HARNESSES" rule below.
|
|
49
|
+
- 🚨 **NO CUSTOM EVAL HARNESSES (2026-05-17).** The user has banned
|
|
50
|
+
bespoke evaluation infrastructure (HLE eval scripts, burndown
|
|
51
|
+
daemons, batch runners, judge-prompt pipelines, telemetry-aggregator
|
|
52
|
+
cron jobs, etc.). Even when such a harness drives the real TUI via
|
|
53
|
+
pexpect, the *concept* tempts the agent to fix harness-specific
|
|
54
|
+
issues (timeout tuning, env-var-gated behaviour, judge edge cases)
|
|
55
|
+
that don't help real users. Improving drydock comes from USING
|
|
56
|
+
drydock interactively as a real user does — the operator notices
|
|
57
|
+
pain, the agent fixes the pain. If you need a regression check,
|
|
58
|
+
write a unit test against the drydock library. If you need a
|
|
59
|
+
benchmark, run prompts through the TUI by hand and observe. Do
|
|
60
|
+
NOT spin up background eval daemons. Archived scripts at
|
|
61
|
+
`scripts/_archived_eval_harness/` — leave them archived.
|
|
62
|
+
|
|
63
|
+
## Current plan (2026-05-17)
|
|
64
|
+
|
|
65
|
+
Focus is on **TUI experience** — the operator uses drydock interactively;
|
|
66
|
+
the agent fixes what the operator hits. No HLE eval loops, no custom
|
|
67
|
+
benchmark daemons (see the "NO CUSTOM EVAL HARNESSES" rule above).
|
|
68
|
+
|
|
69
|
+
1. **TUI bugs the operator notices in real use** — error recovery
|
|
70
|
+
paths, slash commands, tool reliability. Recent ships: /undo,
|
|
71
|
+
/back, /goal, vision (--mmproj), recovery meta-fix.
|
|
72
|
+
|
|
73
|
+
2. **GraphRAG** — the auto-prefetch hook ships good chunks on trivia
|
|
74
|
+
but not on hard symbolic Math. Two concrete moves: lower
|
|
70
75
|
`QUALITY_THRESHOLD` (currently 8.0 in `agent_loop.py:3391`) once
|
|
71
|
-
we know the real score distribution, and
|
|
72
|
-
fallback (`/data3/arxiv_corpus/graphrag.sqlite`)
|
|
73
|
-
index returns nothing above threshold.
|
|
76
|
+
we know the real score distribution, and the arxiv-corpus
|
|
77
|
+
fallback (`/data3/arxiv_corpus/graphrag.sqlite`) is wired.
|
|
74
78
|
|
|
75
79
|
3. **Deep Noir** — sidecar/hooks/capture/train all coded; the
|
|
76
80
|
`apply_chat_template` API-drift fix shipped 2026-05-14 (f02aa4b).
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
`
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
Contrastive-pair extraction was fixed by **706f226 (2026-05-10)**:
|
|
82
|
+
admiral now records the live `agent_loop.session_id` (which IS the
|
|
83
|
+
short hash used by session dirs), and `extract_pairs._find_session_dir`
|
|
84
|
+
builds a `{meta.session_id → dir}` map from the on-disk
|
|
85
|
+
meta.json files. Both pieces work.
|
|
86
|
+
Real remaining issue: **admiral_state.json has ~3000 pre-fix
|
|
87
|
+
findings (recorded 2026-04-19 to 2026-05-10) whose UUIDs are
|
|
88
|
+
phantom — they don't resolve to any on-disk session_dir**.
|
|
89
|
+
`extract_pairs` correctly yields only the post-fix findings (~20
|
|
90
|
+
sessions across all categories as of 2026-05-17). The training
|
|
91
|
+
set will fill in as new findings accumulate. Pre-fix findings
|
|
92
|
+
are unrecoverable; consider GC'ing them out of admiral_state.json
|
|
93
|
+
so future audits aren't misleading.
|
|
88
94
|
|
|
89
95
|
Operator controls for the continuous loops:
|
|
90
96
|
|
|
91
97
|
```bash
|
|
92
|
-
touch /data3/drydock/.pause_hle_babysitter # pause hourly HLE cron
|
|
93
|
-
touch /data3/drydock/.pause_hle_burndown # pause back-to-back burndown daemon
|
|
94
|
-
touch /data3/drydock/.pause_hle_burndown_keepalive # disable burndown auto-resurrection
|
|
95
98
|
touch /data3/drydock_test_projects/.pause_watchdog
|
|
96
99
|
touch /data3/drydock/.pause_auto_release # pause 6h PyPI publish
|
|
100
|
+
touch /data3/drydock/.pause_stress # pause stress harness restarts
|
|
97
101
|
```
|
|
98
102
|
|
|
99
103
|
## Build & Test
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.50
|
|
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
|
|
@@ -1369,7 +1369,8 @@ class AgentLoop:
|
|
|
1369
1369
|
prev_tool_name = assistant_msg.tool_calls[-1].function.name if assistant_msg.tool_calls[-1].function else None
|
|
1370
1370
|
_readonly_tools = {"read_file", "grep", "glob", "ls", "pwd",
|
|
1371
1371
|
"ralph_repo_index", "ralph_file_summary",
|
|
1372
|
-
"retrieve", "search_files", "lsp"
|
|
1372
|
+
"retrieve", "search_files", "lsp",
|
|
1373
|
+
"web_search", "web_fetch"}
|
|
1373
1374
|
_write_tools = {"write_file", "search_replace"}
|
|
1374
1375
|
_prev_was_read = prev_tool_name in _readonly_tools
|
|
1375
1376
|
_prev_was_write = prev_tool_name in _write_tools
|
|
@@ -1471,10 +1472,12 @@ class AgentLoop:
|
|
|
1471
1472
|
)
|
|
1472
1473
|
elif _prev_was_read:
|
|
1473
1474
|
_tool_name_str = prev_tool_name or "read_file"
|
|
1475
|
+
_generic_suffix = os.environ.get("DRYDOCK_STOP_NOW_SUFFIX", "")
|
|
1474
1476
|
note = (
|
|
1475
1477
|
f"You called {_tool_name_str} but produced no output. "
|
|
1476
|
-
f"Now
|
|
1477
|
-
f"
|
|
1478
|
+
f"Now respond in text — write your answer or make changes. "
|
|
1479
|
+
f"Do NOT call {_tool_name_str} again."
|
|
1480
|
+
+ (f" {_generic_suffix}" if _generic_suffix else "")
|
|
1478
1481
|
)
|
|
1479
1482
|
elif _prev_write_success:
|
|
1480
1483
|
note = (
|
|
@@ -1534,11 +1537,12 @@ class AgentLoop:
|
|
|
1534
1537
|
)
|
|
1535
1538
|
elif _prev_was_read:
|
|
1536
1539
|
_tool_name_str = prev_tool_name or "read_file"
|
|
1540
|
+
_generic_suffix = os.environ.get("DRYDOCK_STOP_NOW_SUFFIX", "")
|
|
1537
1541
|
note = (
|
|
1538
1542
|
f"You sent an empty response after calling {_tool_name_str}. "
|
|
1539
|
-
f"
|
|
1540
|
-
f"
|
|
1541
|
-
f"
|
|
1543
|
+
f"Respond in text now — write your answer or apply what you read. "
|
|
1544
|
+
f"Do NOT call {_tool_name_str} again."
|
|
1545
|
+
+ (f" {_generic_suffix}" if _generic_suffix else "")
|
|
1542
1546
|
)
|
|
1543
1547
|
elif _prev_was_write:
|
|
1544
1548
|
_tool_name_str = prev_tool_name or "write_file"
|
|
@@ -1589,11 +1593,12 @@ class AgentLoop:
|
|
|
1589
1593
|
)
|
|
1590
1594
|
elif prev_tool_name in _readonly_tools:
|
|
1591
1595
|
_tool_name_str = prev_tool_name or "read_file"
|
|
1596
|
+
_generic_suffix = os.environ.get("DRYDOCK_STOP_NOW_SUFFIX", "")
|
|
1592
1597
|
note = (
|
|
1593
1598
|
f"THIRD empty response after {_tool_name_str}. "
|
|
1594
|
-
"Stop
|
|
1595
|
-
"the change, or respond in text explaining why you cannot proceed. "
|
|
1599
|
+
"Stop — respond in text with your analysis or best answer. "
|
|
1596
1600
|
f"Do NOT call {_tool_name_str} again."
|
|
1601
|
+
+ (f" {_generic_suffix}" if _generic_suffix else "")
|
|
1597
1602
|
)
|
|
1598
1603
|
elif _prev_was_write:
|
|
1599
1604
|
_tool_name_str = prev_tool_name or "write_file"
|
|
@@ -3642,9 +3647,23 @@ class AgentLoop:
|
|
|
3642
3647
|
# corpus at /data3/arxiv_corpus/graphrag.sqlite (1.18M chunks)
|
|
3643
3648
|
# has much better recall. The fallback path is operator-tunable
|
|
3644
3649
|
# via DRYDOCK_GRAPHRAG_FALLBACK_DB; set to empty to disable.
|
|
3645
|
-
|
|
3646
|
-
|
|
3647
|
-
|
|
3650
|
+
# Primary DB selection mirrors retrieve._resolve_db_path so the
|
|
3651
|
+
# auto-prefetch and the model-issued retrieve calls always agree
|
|
3652
|
+
# on which corpus to search:
|
|
3653
|
+
# 1. DRYDOCK_GRAPHRAG_DB env override
|
|
3654
|
+
# 2. <cwd>/.drydock/graphrag.sqlite (per-project index)
|
|
3655
|
+
# 3. ~/.drydock/graphrag.sqlite (home fallback)
|
|
3656
|
+
# Without #2, a user with a populated home DB never saw their
|
|
3657
|
+
# own project's chunks because home always won.
|
|
3658
|
+
env_db = os.environ.get("DRYDOCK_GRAPHRAG_DB")
|
|
3659
|
+
if env_db:
|
|
3660
|
+
primary_db = env_db
|
|
3661
|
+
else:
|
|
3662
|
+
project_db = Path.cwd() / ".drydock" / "graphrag.sqlite"
|
|
3663
|
+
if project_db.is_file():
|
|
3664
|
+
primary_db = str(project_db)
|
|
3665
|
+
else:
|
|
3666
|
+
primary_db = str(Path.home() / ".drydock" / "graphrag.sqlite")
|
|
3648
3667
|
fallback_default = "/data3/arxiv_corpus/graphrag.sqlite"
|
|
3649
3668
|
fallback_db_raw = os.environ.get(
|
|
3650
3669
|
"DRYDOCK_GRAPHRAG_FALLBACK_DB", fallback_default
|
|
@@ -78,6 +78,15 @@ def _resolve_db_path(arg: str) -> Path:
|
|
|
78
78
|
project_db = Path.cwd() / ".drydock" / "graphrag.sqlite"
|
|
79
79
|
if project_db.is_file():
|
|
80
80
|
return project_db
|
|
81
|
+
# If we're inside a real project that doesn't yet have its own index,
|
|
82
|
+
# PREFER to create a per-project index over falling back to the home
|
|
83
|
+
# index (which is contaminated with other projects' content and
|
|
84
|
+
# answers wrong queries about THIS project). The home index is only
|
|
85
|
+
# the right answer for ad-hoc use outside any project — e.g. when
|
|
86
|
+
# the user runs drydock from their home dir.
|
|
87
|
+
cwd = Path.cwd()
|
|
88
|
+
if _looks_like_project(cwd):
|
|
89
|
+
return project_db # will be auto-ingested by Retrieve.run
|
|
81
90
|
return Path.home() / ".drydock" / "graphrag.sqlite"
|
|
82
91
|
|
|
83
92
|
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Archived 2026-05-17 — DO NOT RESURRECT
|
|
2
|
+
|
|
3
|
+
These scripts implemented a custom HLE eval harness that drove drydock
|
|
4
|
+
via pexpect. The infrastructure was technically TUI-based (it spawned
|
|
5
|
+
the real `drydock` binary), but the user objected to the entire
|
|
6
|
+
*concept* of building bespoke evaluation infrastructure on the side:
|
|
7
|
+
|
|
8
|
+
> "STOP trying to create custom harnesses for evals. Improving drydock
|
|
9
|
+
> is what matters. And using drydock can't be headless, you have to
|
|
10
|
+
> actually use it like the user would."
|
|
11
|
+
|
|
12
|
+
The principle: **drydock improvements should come from USING drydock
|
|
13
|
+
as a real user would** — interactively, with the user noticing pain
|
|
14
|
+
points and the agent fixing them. A custom eval harness:
|
|
15
|
+
|
|
16
|
+
1. Tempts the agent to fix harness-specific issues (timeout tuning,
|
|
17
|
+
env-var-gated behavior, judge-prompt edge cases) that don't help
|
|
18
|
+
real users.
|
|
19
|
+
2. Introduces operational overhead (cron jobs, keepalive daemons,
|
|
20
|
+
telemetry pipelines) that's parallel to the actual product.
|
|
21
|
+
3. Distracts from the headline goal: make drydock better at what
|
|
22
|
+
real users do, not at what an eval suite measures.
|
|
23
|
+
|
|
24
|
+
If you (future Claude) are tempted to build a new HLE-style eval
|
|
25
|
+
harness, STOP. Read `~/.claude/projects/-data3-drydock/memory/
|
|
26
|
+
feedback_no_custom_eval_harness.md` first. The user has been very
|
|
27
|
+
clear on this and will push back hard.
|
|
28
|
+
|
|
29
|
+
What to do instead:
|
|
30
|
+
- Use the drydock TUI yourself (or watch the user use it) to find
|
|
31
|
+
real bugs.
|
|
32
|
+
- Read open GH issues at fbobe321/drydock for user-reported pain.
|
|
33
|
+
- Fix things that affect interactive UX: error recovery, slash
|
|
34
|
+
commands, tool reliability.
|
|
35
|
+
- If you really need a regression-style check, write a unit test
|
|
36
|
+
against the drydock library — not a long-running eval daemon.
|
|
37
|
+
|
|
38
|
+
Files preserved here for git history continuity; do not run them.
|
|
@@ -65,7 +65,7 @@ HF_TOKEN_FILE = Path.home() / ".config" / "drydock" / "hf_token"
|
|
|
65
65
|
# Coding-style PRDs in shakedown allow 600s for harder steps; QA should be
|
|
66
66
|
# faster since there's no file-writing iteration, but Gemma 4 thinking can
|
|
67
67
|
# still chew through several minutes on a hard question.
|
|
68
|
-
QUESTION_TIMEOUT =
|
|
68
|
+
QUESTION_TIMEOUT = 600 # 10 min per question — 480s left 3/196 recent cases killed mid-generation
|
|
69
69
|
IDLE_GRACE = 8.0 # seconds of no new messages before declaring done
|
|
70
70
|
|
|
71
71
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,86 @@
|
|
|
1
1
|
# Drydock Trip Log
|
|
2
2
|
|
|
3
|
+
## 2026-05-17 15:30 UTC tick
|
|
4
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
5
|
+
- HLE burndown: running (PID 2465533 engineering batch, slot 59, ~51 min elapsed), lifetime 115/848 = 13.6% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 8.3%, Chem 8.7%); babysitter skipping correctly while burndown active
|
|
6
|
+
- Write rate: N/A (stress paused)
|
|
7
|
+
- Admiral last 30 min: not checked (stress paused)
|
|
8
|
+
- vLLM 400s: 0 observed
|
|
9
|
+
- GH issues: 0 open
|
|
10
|
+
- Dispatch queue: harness=7 (all thinking_stall from 2026-05-15, already addressed by recent commits), retrieval=3 (0 actionable — all already ingested), steering=0, curiosity=2546 pending (top 3 are hle_failure/no-FINAL-ANSWER pattern, covered by commits a9f16ae/4909542/d500234)
|
|
11
|
+
- retrieval-drain: 0 projects ingested (nothing new)
|
|
12
|
+
- Model: Q3_K_M via llama.cpp :8000 healthy; balancer :8001 healthy
|
|
13
|
+
- Action this tick: no action — healthy; recent 24h commits are actively addressing HLE stall/FINAL-ANSWER pattern; curiosity top items already covered
|
|
14
|
+
|
|
15
|
+
## 2026-05-17 14:30 UTC tick
|
|
16
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
17
|
+
- HLE burndown: running (PID 2452616 chemistry batch in progress), lifetime 115/841 = 13.7% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 8.3%, Chem 8.7%, Other 18.2%, Engineering 4.7%, Hum/SS 14.3%); latest batch chemistry 1/10
|
|
18
|
+
- Write rate: N/A (stress paused)
|
|
19
|
+
- vLLM 400s: 0; llamacpp-gemma4 healthy; balancer on :8001 healthy
|
|
20
|
+
- GH issues: 0 open
|
|
21
|
+
- Dispatch queue: harness=7 (all thinking_stall, stale pre-fix), retrieval=3 (nothing actionable), curiosity=2934 total/2525 pending/406 consumed
|
|
22
|
+
- Action this tick: committed fix a9f16ae (addresses curiosity:01c0f4dc34d97142, :fbe7b3456bdbb0ca, :4ffd02384a890963) — stall-retry _prev_was_read notes at attempts 0 and 1 now append DRYDOCK_STOP_NOW_SUFFIX ("FINAL ANSWER: <answer>") which 4909542 only did for attempt 2; also neutralized coding-task wording ("write_file, search_replace") to context-neutral ("respond in text — write your answer or make changes"). No-op for coding sessions (suffix unset by default).
|
|
23
|
+
|
|
24
|
+
## 2026-05-17 14:00 UTC tick
|
|
25
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
26
|
+
- HLE burndown: running (PID 2452616, slot 58 chemistry), lifetime 114/837 = 13.6% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 8.3%, Chem 7.8%); recent batch Physics 20%
|
|
27
|
+
- Write rate: N/A (stress paused)
|
|
28
|
+
- Admiral last 30 min: N/A
|
|
29
|
+
- vLLM 400s: 0; llamacpp-gemma4 healthy (25h uptime)
|
|
30
|
+
- GH issues: 0 open
|
|
31
|
+
- Dispatch queue: harness=1305 total (8 in last 24h, thinking_stall, already addressed by v2.8.47+), retrieval=3 (nothing actionable), curiosity=2931 total (2524 pending, 403 consumed)
|
|
32
|
+
- Action this tick: consumed curiosity acf1a1892044a747 (thinking-budget timeout case — addressed by 2973dd1 QUESTION_TIMEOUT 480→600s). Investigated ongoing empty-pred failures in physics batch (3 questions produced pred='' in run_1779013132 after FINAL ANSWER fixes) — these are hard-QA questions where model likely times out during inference before producing output; pattern requires deeper session log analysis, leaving for next autonomous_review tick.
|
|
33
|
+
|
|
34
|
+
## 2026-05-17 13:30 UTC tick
|
|
35
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
36
|
+
- HLE burndown: running (PID 1742185, 3+ days elapsed), lifetime 114/832 = 13.7% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 8.3%, Chem 8.5%); recent batches: Humanities 30%, Physics 20%, Physics 10%
|
|
37
|
+
- Write rate: N/A (stress paused)
|
|
38
|
+
- vLLM 400s: 0 in last 30min (llamacpp-gemma4 Q3_K_M healthy on :8000, balancer :8001 up)
|
|
39
|
+
- GH issues: 0 open
|
|
40
|
+
- Dispatch queue: harness=8 (all historical thinking_stall, resolved v2.8.47), retrieval=3 (all recently ingested, 0 actionable), curiosity=2513 pending (409 hle_failure, 2107 unknown_term)
|
|
41
|
+
- Action this tick: consumed 3 stale hle_failure curiosity items (da424f73, 5c2ad87e, 4f4de190 — empty:no_final_answer cases addressed by d500234/4909542 stall-retry FINAL ANSWER suffix fixes); observed 1 new empty:no_response at 601s in Humanities batch (poetry question) — non-streaming HTTP timeout still hitting first-turn for some questions; no code change this tick as system otherwise healthy and autonomous_review just completed 13:00Z tick
|
|
42
|
+
|
|
43
|
+
## 2026-05-17 13:00 UTC tick
|
|
44
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
45
|
+
- HLE burndown: running (PID 2440503, 27min elapsed), lifetime 112/825 = 13.6% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 8.3%, Chem 8.5%); recent batches variable (0-50%)
|
|
46
|
+
- Write rate: N/A (stress paused)
|
|
47
|
+
- Admiral last 30 min: N/A (stress paused)
|
|
48
|
+
- vLLM 400s: N/A (llamacpp container, not vLLM)
|
|
49
|
+
- GH issues: 0 open
|
|
50
|
+
- Dispatch queue: harness=8 (all historical, thinking_stall resolved v2.8.47), retrieval=3 (all already ingested), curiosity=2504 pending
|
|
51
|
+
- Action this tick: consumed 3 stale pre-fix curiosity items (FINAL ANSWER + timeout artifacts addressed by d500234/4909542/2973dd1); no new bugs found; autonomous_review running concurrently at 13:00Z
|
|
52
|
+
|
|
53
|
+
## 2026-05-17 12:30 UTC tick
|
|
54
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
55
|
+
- HLE burndown: running slot 56 (PID 2425424, 69min elapsed, physics batch — Q10 in progress), lifetime 111/821 = 13.5% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 8.5%, Chem 8.5%, Other unchanged)
|
|
56
|
+
- Write rate: N/A (stress paused)
|
|
57
|
+
- vLLM 400s: 0 in last 30min, llamacpp-gemma4 healthy (Q3_K_M)
|
|
58
|
+
- GH issues: 0 open
|
|
59
|
+
- Dispatch queue: harness=8 (all stale thinking_stall, resolved v2.8.47); retrieval=0 actionable (3 entries, all recently ingested); curiosity=2488 pending — consumed 3 stale hle_failure artifacts (532e9d22, 77d0d52, 44f4d505 — hard theoretical questions: Tate-graph/μ-fixpoint, DomSet complexity, SU(N) structure constants; model capability gap, not addressable by prompt rules)
|
|
60
|
+
- 12:00Z autonomous_review tick hit $1 USD budget cap and exited early (exit=1)
|
|
61
|
+
- Action this tick: no code change — system nominal; consumed 3 curiosity items; retrieval drain 0 new ingestions
|
|
62
|
+
|
|
63
|
+
## 2026-05-17 12:00 UTC tick
|
|
64
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
65
|
+
- HLE burndown: running (PID 2425424, physics batch in progress), lifetime 110/817 = 13.5% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 7.5%, Chem 8.5%, Other 18.2%)
|
|
66
|
+
- Write rate: N/A (stress paused)
|
|
67
|
+
- Admiral: autonomous_review tick started at 12:00Z
|
|
68
|
+
- vLLM 400s: 0 in last 30min, model healthy
|
|
69
|
+
- GH issues: 0 open
|
|
70
|
+
- Dispatch queue: harness=9 (all thinking_stall, stale from 2026-05-16); retrieval=0 actionable; curiosity=2488 pending (hle_failure=407, unknown_term=2081)
|
|
71
|
+
- Action this tick: committed fix — QUESTION_TIMEOUT 480→600s in hle_eval.py; all 3 recent empty:no_final_answer cases elapsed exactly at deadline (model killed mid-generation); retrieval drain: 0 actionable; curiosity top item (threshold-sig scheme) marked consumed (42e0bdf8)
|
|
72
|
+
|
|
73
|
+
## 2026-05-17 11:30 UTC tick
|
|
74
|
+
- Stress: PAUSED (.pause_stress sentinel active)
|
|
75
|
+
- HLE burndown: running (PID 2425424, 08:50 elapsed, physics slot 56 active), lifetime 109/813 = 13.4% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Physics 6.3%, Chem 8.5%, Other 18.2%)
|
|
76
|
+
- Write rate: N/A (stress paused)
|
|
77
|
+
- Admiral last 30 min: autonomous_review tick started at 11:30Z
|
|
78
|
+
- vLLM 400s: 3 matches in docker grep (benign — reasoning-budget activation noise, Q3_K_M healthy, 23376 tok prompt for physics slot)
|
|
79
|
+
- GH issues: 0 open
|
|
80
|
+
- Dispatch queue: harness=9 (all stale, thinking_stall resolved by v2.8.47); retrieval=0 actionable; curiosity=2478 pending (top 3 are today's physics no_response failures — spinor/scalar field + Z-boson EW + virial series; model timed out at 480s with msg_count=1; not addressable by prompt changes)
|
|
81
|
+
- Retrieval drain: 0 projects (3 queue entries, all already ingested)
|
|
82
|
+
- Action this tick: no code change — system nominal; harness:thinking_stall pattern confirmed stale (last dispatch evidence says "fully resolved by v2.8.47"); top curiosity items are empty:no_response physics timeouts where model never starts within 480s, distinct from the empty:no_final_answer cases targeted by recent FINAL ANSWER suffix commits
|
|
83
|
+
|
|
3
84
|
## 2026-05-17 10:30 UTC tick
|
|
4
85
|
- Stress: PAUSED (.pause_stress sentinel active)
|
|
5
86
|
- HLE burndown: running (PID 2412661, physics batch active, 12min elapsed), lifetime 108/803 = 13.4% (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%, Chem 8.5%, Other 18.2%)
|
|
@@ -7365,3 +7446,13 @@ restarted, cron self-match bug fixed in this same session).
|
|
|
7365
7446
|
- Previous batch (23:52 UTC, 10 Math questions): 0/10 — all 480s timeouts on hard questions (fuzzy logic, semilattice functors, Boolean prime implicants); model outputs show reasoning fragments not clean FINAL ANSWER — capability gap, not a drydock bug
|
|
7366
7447
|
- Current batch (01:13 UTC): 2/4 correct so far (chess Q1 YES exact, Cauchy Q3 YES fuzzy) after recent stall-retry fixes; still running
|
|
7367
7448
|
- Action this tick: consumed curiosity:982cd07192229b9e (LSH-threshold model-used-tools-but-no-FINAL-ANSWER — addressed by 23f65dc + e20fb7b stall-retry guards); no code fix committed — system healthy, recent fixes still being evaluated by burndown daemon
|
|
7449
|
+
|
|
7450
|
+
## 2026-05-17 11:00 UTC tick
|
|
7451
|
+
- Stress: paused via .pause_stress sentinel (expected)
|
|
7452
|
+
- Write rate: N/A (stress paused)
|
|
7453
|
+
- Admiral last 30 min: N/A
|
|
7454
|
+
- vLLM 400s: 10 (within llamacpp normal range, no errors logged)
|
|
7455
|
+
- GH issues: 0 open
|
|
7456
|
+
- Dispatch queue: harness=9 (all stale thinking_stall, addressed by v2.8.47+v2.8.48), retrieval=0 actionable, curiosity=2468 pending (402 hle_failure, 2066 unknown_term)
|
|
7457
|
+
- HLE: lifetime 13.5% across 809 questions (Math 17.8%, CS/AI 6.8%, Bio/Med 13.2%); burndown daemon running (PID 2412661, physics batch)
|
|
7458
|
+
- Action this tick: committed fix (4909542) — readonly-tool stall-retry note was saying "call write_file or search_replace NOW" (wrong for HLE) and omitting DRYDOCK_STOP_NOW_SUFFIX; fixed to say "respond in text with analysis/best answer" and append the FINAL ANSWER suffix; consumed curiosity:87cf3274e4ba6912
|
|
@@ -326,7 +326,7 @@ wheels = [
|
|
|
326
326
|
|
|
327
327
|
[[package]]
|
|
328
328
|
name = "drydock-cli"
|
|
329
|
-
version = "2.8.
|
|
329
|
+
version = "2.8.49"
|
|
330
330
|
source = { editable = "." }
|
|
331
331
|
dependencies = [
|
|
332
332
|
{ name = "agent-client-protocol" },
|
|
@@ -347,6 +347,7 @@ dependencies = [
|
|
|
347
347
|
{ name = "pydantic-settings" },
|
|
348
348
|
{ name = "pypdf" },
|
|
349
349
|
{ name = "pyperclip" },
|
|
350
|
+
{ name = "pytholog" },
|
|
350
351
|
{ name = "pyyaml" },
|
|
351
352
|
{ name = "rich" },
|
|
352
353
|
{ name = "textual" },
|
|
@@ -400,6 +401,7 @@ requires-dist = [
|
|
|
400
401
|
{ name = "pydantic-settings", specifier = ">=2.12.0" },
|
|
401
402
|
{ name = "pypdf", specifier = ">=4.0.0" },
|
|
402
403
|
{ name = "pyperclip", specifier = ">=1.11.0" },
|
|
404
|
+
{ name = "pytholog", specifier = ">=2.4.1" },
|
|
403
405
|
{ name = "pyyaml", specifier = ">=6.0.0" },
|
|
404
406
|
{ name = "rich", specifier = ">=14.0.0" },
|
|
405
407
|
{ name = "textual", specifier = ">=7.4.0" },
|
|
@@ -1422,6 +1424,18 @@ wheels = [
|
|
|
1422
1424
|
{ url = "https://files.pythonhosted.org/packages/ca/31/d4e37e9e550c2b92a9cbc2e4d0b7420a27224968580b5a447f420847c975/pytest_xdist-3.8.0-py3-none-any.whl", hash = "sha256:202ca578cfeb7370784a8c33d6d05bc6e13b4f25b5053c30a152269fd10f0b88", size = 46396, upload-time = "2025-07-01T13:30:56.632Z" },
|
|
1423
1425
|
]
|
|
1424
1426
|
|
|
1427
|
+
[[package]]
|
|
1428
|
+
name = "pytholog"
|
|
1429
|
+
version = "2.4.1"
|
|
1430
|
+
source = { registry = "https://pypi.org/simple" }
|
|
1431
|
+
dependencies = [
|
|
1432
|
+
{ name = "more-itertools" },
|
|
1433
|
+
]
|
|
1434
|
+
sdist = { url = "https://files.pythonhosted.org/packages/01/87/cffd13adb88483ac677ad2d3bbde3156790cf71db8e9436ac66c2fb8ede9/pytholog-2.4.1.tar.gz", hash = "sha256:ef9b379dd21f755ee5e097e80ce1475e5581eb07d014157e1a76295faeded39f", size = 24680, upload-time = "2020-11-16T02:28:11.867Z" }
|
|
1435
|
+
wheels = [
|
|
1436
|
+
{ url = "https://files.pythonhosted.org/packages/6f/d2/f432427a58986ce8ea9f9d2ac6b35dd9657e523dcc562048c19491b4980b/pytholog-2.4.1-py3-none-any.whl", hash = "sha256:b726af28476df5935d8561ce964b7f7e1ba17e9d070b8c9b3da3fe993458893d", size = 16630, upload-time = "2020-11-16T02:28:10.243Z" },
|
|
1437
|
+
]
|
|
1438
|
+
|
|
1425
1439
|
[[package]]
|
|
1426
1440
|
name = "python-dateutil"
|
|
1427
1441
|
version = "2.9.0.post0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2420795
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|