drydock-cli 2.8.57__tar.gz → 2.8.59__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.59/.auto_release.lock +1 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/PKG-INFO +1 -1
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/agent_loop.py +13 -1
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/session/session_logger.py +35 -10
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/mcp_resources.py +7 -3
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/pyproject.toml +1 -1
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/shakedown_interactive.py +21 -3
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_shakedown.py +8 -1
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/trip_log.md +170 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/uv.lock +1 -1
- drydock_cli-2.8.57/.auto_release.lock +0 -1
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.drydock/graphrag.sqlite +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.gitignore +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.pause_hle_babysitter +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.pause_hle_burndown +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.pause_hle_burndown_keepalive +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.python-version +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.typos.toml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.vscode/extensions.json +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.vscode/launch.json +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/.vscode/settings.json +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/AGENTS.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/Admiral.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/CHANGELOG.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/CLAUDE.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/DEEP_NOIR_PRD.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/DEPLOYMENT.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/DRYDOCK.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/HLE_PRD.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/JETSON_BENCH.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/LICENSE +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/MODEL_SHORTCOMINGS.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/NOTICE +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/README.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/SOVEREIGN_PRD.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/TRIAGE_v1.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/action.yml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/README.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results1.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results13.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results14.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results15.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results16.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results17.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results18.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results19.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results2.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results20.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results3.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results4.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results5.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results6.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results7.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results8.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results9.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/baseline_history/results_evolved_v1.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/README.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/acp-setup.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/BASELINE_412.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/Drydock_rebrand.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/PRD.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/drydock_terms.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/archive/resume.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/__main__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/detectors.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/detectors_proposed.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/history.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/interventions.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/llm_analyzer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/metrics.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/opus_escalator.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/persistence.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/policy.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/proposer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/stager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/task_classifier.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/tuning.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/validator.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/admiral/worker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/fix_windows_path.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/auto_solve.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/checkpoint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/classifier/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/classifier/__main__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/classifier/classifier.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/classifier/dispatcher.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/classifier/rules.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/classifier/signal.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/_dotenv.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/doctor.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/local_detect.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/config/migrate.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/constraint_extract.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/constraint_hint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/context_recovery.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/goal.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/logger.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/paths/_drydock_home.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/slug.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/steering_hook.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/algebra_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/chemistry_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/count_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/logic_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/math_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/memory_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/number_theory_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prolog_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/retrieve.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/set_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/solve_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/stats_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/units_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/verify_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/types.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/core/utils.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/curiosity/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/curiosity/__main__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/curiosity/gap_detector.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/curiosity/item.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/curiosity/queue.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/curiosity/surprise.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/graphrag/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/graphrag/__main__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/graphrag/code_indexer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/graphrag/retriever.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/graphrag/storage.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/graphrag/text_indexer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/choice.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/local_model.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/audit-tests/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/constraint-reasoning/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/logic/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/logic/assets/cheat_sheet_full.txt +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/prove/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/strong-tests/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/__main__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/applier.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/config.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/registry.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/sandbox.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/sidecar/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/sidecar/header_parser.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/sidecar/hooks.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/sidecar/loader.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/sidecar/server.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/train/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/train/capture.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/train/compute_vector.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/train/extract_pairs.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/train/scan_sessions.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/steering/vectors.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock/whats_new.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/drydock-acp.spec +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/flake.lock +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/flake.nix +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/outlook_draft_assistant.tar.gz +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/README.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/config_base.toml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/config_best.toml +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/deep_noir/pairs/empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/deep_noir/pairs/scan_empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/domain_spec.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/experimenter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/kernel.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/mini_prd.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/mini_prompts.txt +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/proposer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/research/results.tsv +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/resume.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/README.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/README.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/auto_solve_audit.py.deprecated +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_babysitter.sh.deprecated +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_burndown.sh.deprecated +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_burndown_keepalive.sh.deprecated +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_burndown_status.py.deprecated +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_eval.py.deprecated +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/admiral_probe.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/archive/auto_test_loop.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/archive/monitor_test_battery.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/archive/overnight_agents_test.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/archive/test_bank.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/archive/test_full.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/archive/test_smoke.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/archive/tui_test.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/audit_sampler.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/auto_generate_tests.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/autonomous_review.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/autonomous_review_prompt.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/backfill_hle_curiosity.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/backup.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/bench_inference.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/bump_version.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/classify_pulse.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/consume_retrieval_queue.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/curiosity_idle_cycle.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/dedupe_dispatch_queues.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/dispatch_report.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/drydock_status.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/fetch_arxiv_abstracts.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/gen_2000_prompts.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/hle_aggregate.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/hle_eval_seed.jsonl +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/llm_balancer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/notify_release.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/perf_baseline_when_idle.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/perf_sweep.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/poll_issues.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/queue_top.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/ralph_loop.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/rejudge_hle.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/research_babysitter.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/shakedown.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/shakedown_suite.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/shakedown_variance.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/start_steering_sidecar.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_babysitter.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_prompts_50.txt +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_prompts_realuser.txt +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_prompts_tool_agent.txt +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_telegram_status.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/stress_watcher.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/tool_usage_report.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/test_generic_adapter_sanitize.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/conftest.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/e2e/common.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/mock/utils.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/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.57 → drydock_cli-2.8.59}/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.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_admiral.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_admiral_hallucinated_tool_filter.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_admiral_intervention_outcome.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_admiral_phase3.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_admiral_proposed.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_admiral_session_id.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_admiral_struggle_dedup.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_agents.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_algebra_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_api_error_recovery.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_approval_modal_stray_keys.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_auto_retrieve_soft_nudge.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_auto_solve.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_checkpoint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_chemistry_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_classifier.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_config_migration.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_constraint_extract.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_constraint_hint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_context_recovery.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_count_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_curiosity.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_dispatch_report.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_dispatcher.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_fake_tool_call_paren_syntax.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_goal.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_graphrag.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_graphrag_worked_examples.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_hallucinated_tool_suppression.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_hle_aggregate.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_hle_score_method_split.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_hle_typing.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_integration.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_issue_fixes.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_local_detect.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_logic_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_math_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_mcp_settings.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_memory_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_message_id.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_middleware.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_number_theory_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_prolog_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_read_file_not_found_listing.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_rejudge_hle.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_retrieval_consumer.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_retrieve_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_search_replace_args_not_truncated.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_session_log_event.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_set_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_smoke.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_solve_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_stats_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_steering.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_steering_capture.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_steering_compute_vector.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_steering_extract_pairs.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_steering_hook.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_steering_sidecar_chat_inputs.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_steering_sidecar_hooks.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_task_complete_nudge.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_truncate_args_valid_json.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_truncated_arg_path_hint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_truncated_search_replace_escalation.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_truncated_write_escalation.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_units_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_verify_tool.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_wall_of_text_rescue.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_workloads.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/test_write_file_missing_path.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_binary_grep_hint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_consec_empty_search.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_error_loop_breaker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_manager_gemma_derived_models.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_read_file_dedup_reembed.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_read_file_directory.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_read_file_limit_truncation.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_append_fallback.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_dir_path.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_empty_content.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_file_not_found.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_hard_stop.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_malformed_block.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_placeholder.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/tools/test_write_file_missing_path_hint.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/worked_examples/README.md +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/worked_examples/cli_subcommand_dispatch.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/worked_examples/lookup.json +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/worked_examples/sql_parser.py +0 -0
- {drydock_cli-2.8.57 → drydock_cli-2.8.59}/worked_examples/tree_walking_interpreter.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2716549
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.59
|
|
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
|
|
@@ -1143,11 +1143,14 @@ class AgentLoop:
|
|
|
1143
1143
|
elif ("context length" in error_str.lower()
|
|
1144
1144
|
or "maximum context" in error_str.lower()
|
|
1145
1145
|
or "400 bad request" in error_str.lower()
|
|
1146
|
+
or "400: bad request" in error_str.lower()
|
|
1146
1147
|
or "status: 400" in error_str.lower()
|
|
1147
1148
|
or "exceeds the available context" in error_str.lower()
|
|
1148
1149
|
or "error code: 400" in error_str.lower()
|
|
1150
|
+
or "both backends failed" in error_str.lower()
|
|
1149
1151
|
or "500 internal server error" in error_str.lower()
|
|
1150
1152
|
or "status: 500" in error_str.lower()
|
|
1153
|
+
or "error code: 500" in error_str.lower()
|
|
1151
1154
|
or "llm backend error" in error_str.lower()):
|
|
1152
1155
|
# Context limit or malformed request — aggressive recovery
|
|
1153
1156
|
# Step 0 (added 2026-05-09): if the error looks like a
|
|
@@ -3373,7 +3376,8 @@ class AgentLoop:
|
|
|
3373
3376
|
'total_count: 0', 'retrieved 0 todos',
|
|
3374
3377
|
'no todos', '0 tasks', 'no tasks',
|
|
3375
3378
|
'no results', 'no matches', '0 matches',
|
|
3376
|
-
'no relevant information found'
|
|
3379
|
+
'no relevant information found',
|
|
3380
|
+
'<tool_error>', 'tool_error'):
|
|
3377
3381
|
if p in s:
|
|
3378
3382
|
return True
|
|
3379
3383
|
return False
|
|
@@ -3497,6 +3501,14 @@ class AgentLoop:
|
|
|
3497
3501
|
len(sigs) >= REPEAT_WARNING_THRESHOLD
|
|
3498
3502
|
and all(s == sigs[-1] for s in sigs[-REPEAT_WARNING_THRESHOLD:])
|
|
3499
3503
|
):
|
|
3504
|
+
if last_tool in ("bash", "run_command"):
|
|
3505
|
+
# Bash identical-call loops (e.g. repeated import checks) are
|
|
3506
|
+
# never legitimate — escalate to FORCE_STOP (text-only for 1
|
|
3507
|
+
# turn) so the model must summarise instead of looping.
|
|
3508
|
+
# Temperature bump alone doesn't break these; the model needs
|
|
3509
|
+
# to be unable to call bash.
|
|
3510
|
+
self._hot_tool_path = None
|
|
3511
|
+
return "FORCE_STOP"
|
|
3500
3512
|
return f"WARNING|{last_tool}"
|
|
3501
3513
|
|
|
3502
3514
|
# Check 2: Same tool called N+ times consecutively with different args
|
|
@@ -53,6 +53,12 @@ class SessionLogger:
|
|
|
53
53
|
self.save_dir.mkdir(parents=True, exist_ok=True)
|
|
54
54
|
self.session_dir = self.save_folder
|
|
55
55
|
self.session_metadata = self._initialize_session_metadata()
|
|
56
|
+
# Publish current session dir at init too (not just on reset)
|
|
57
|
+
# so external watchers can find the very first session.
|
|
58
|
+
try:
|
|
59
|
+
self._publish_current_session()
|
|
60
|
+
except Exception: # noqa: BLE001
|
|
61
|
+
pass
|
|
56
62
|
|
|
57
63
|
@property
|
|
58
64
|
def save_folder(self) -> Path:
|
|
@@ -327,16 +333,15 @@ class SessionLogger:
|
|
|
327
333
|
Materializes the new session_dir on disk immediately so external
|
|
328
334
|
watchers (drydock-using tools, dashboards, the stress harness)
|
|
329
335
|
can discover the new session BEFORE the first message gets
|
|
330
|
-
persisted.
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
a watcher polling
|
|
338
|
-
|
|
339
|
-
miss messages routed to the new session.
|
|
336
|
+
persisted.
|
|
337
|
+
|
|
338
|
+
Also publishes the new session_dir path to
|
|
339
|
+
~/.drydock/current_session.txt — any external tool that wants to
|
|
340
|
+
know "which drydock session is active right now" can read this
|
|
341
|
+
single file instead of doing a heuristic mtime-sorted search of
|
|
342
|
+
all ~3k+ historical session dirs. Solves the post-/clear race
|
|
343
|
+
where a watcher polling between reset_session and the OS
|
|
344
|
+
filesystem flush would cache the OLD dir as "newest".
|
|
340
345
|
"""
|
|
341
346
|
if not self.enabled:
|
|
342
347
|
return
|
|
@@ -351,6 +356,8 @@ class SessionLogger:
|
|
|
351
356
|
# discoverable session dir immediately, not after the first
|
|
352
357
|
# message lands.
|
|
353
358
|
(self.session_dir / MESSAGES_FILENAME).touch(exist_ok=True)
|
|
359
|
+
# Publish the active session_dir for external watchers.
|
|
360
|
+
self._publish_current_session()
|
|
354
361
|
self.log_event({
|
|
355
362
|
"event": "session_reset",
|
|
356
363
|
"session_id": session_id,
|
|
@@ -358,6 +365,24 @@ class SessionLogger:
|
|
|
358
365
|
except Exception: # noqa: BLE001 — never block on disk
|
|
359
366
|
pass
|
|
360
367
|
|
|
368
|
+
def _publish_current_session(self) -> None:
|
|
369
|
+
"""Write the active session_dir path to ~/.drydock/current_session.txt
|
|
370
|
+
so external watchers don't have to mtime-scan the whole history.
|
|
371
|
+
|
|
372
|
+
Atomic via write-then-rename. Fail-silent — publishing is an
|
|
373
|
+
observability convenience, never block the session on it.
|
|
374
|
+
"""
|
|
375
|
+
if self.session_dir is None:
|
|
376
|
+
return
|
|
377
|
+
try:
|
|
378
|
+
pub_path = Path.home() / ".drydock" / "current_session.txt"
|
|
379
|
+
pub_path.parent.mkdir(parents=True, exist_ok=True)
|
|
380
|
+
tmp_path = pub_path.with_suffix(".txt.tmp")
|
|
381
|
+
tmp_path.write_text(str(self.session_dir) + "\n")
|
|
382
|
+
tmp_path.replace(pub_path)
|
|
383
|
+
except Exception: # noqa: BLE001
|
|
384
|
+
pass
|
|
385
|
+
|
|
361
386
|
def resume_existing_session(self, session_id: str, session_dir: Path) -> None:
|
|
362
387
|
if not self.enabled:
|
|
363
388
|
return
|
|
@@ -152,7 +152,10 @@ class ReadMcpResource(
|
|
|
152
152
|
servers = config.mcp_servers or []
|
|
153
153
|
|
|
154
154
|
if not servers:
|
|
155
|
-
raise ToolError(
|
|
155
|
+
raise ToolError(
|
|
156
|
+
"No MCP servers configured. "
|
|
157
|
+
"For local files use read_file; for shell commands use bash."
|
|
158
|
+
)
|
|
156
159
|
|
|
157
160
|
from drydock.core.tools.mcp.tools import read_resource_http, read_resource_stdio
|
|
158
161
|
from drydock.core.config import MCPStdio, MCPHttp
|
|
@@ -188,7 +191,8 @@ class ReadMcpResource(
|
|
|
188
191
|
last_error = e
|
|
189
192
|
continue
|
|
190
193
|
|
|
194
|
+
hint = " Use read_file for local paths instead." if args.uri.startswith("file://") else ""
|
|
191
195
|
raise ToolError(
|
|
192
|
-
f"Could not read resource '{args.uri}' from any MCP server. "
|
|
193
|
-
f"Last error: {last_error}"
|
|
196
|
+
f"Could not read resource '{args.uri}' from any configured MCP server. "
|
|
197
|
+
f"Last error: {last_error}.{hint}"
|
|
194
198
|
)
|
|
@@ -1386,9 +1386,27 @@ class SessionWatcher:
|
|
|
1386
1386
|
def find_session(self) -> Path | None:
|
|
1387
1387
|
if self.session_dir is not None:
|
|
1388
1388
|
return self.session_dir
|
|
1389
|
-
#
|
|
1390
|
-
#
|
|
1391
|
-
#
|
|
1389
|
+
# Fast path (added 2026-05-17 with v2.8.58): drydock now
|
|
1390
|
+
# publishes the active session_dir to ~/.drydock/current_session.txt
|
|
1391
|
+
# at session init and on every reset_session. This avoids the
|
|
1392
|
+
# post-/clear race where mtime-scan returned the stale OLD dir
|
|
1393
|
+
# because reset_session's mkdir hadn't flushed yet.
|
|
1394
|
+
pub_path = Path.home() / ".drydock" / "current_session.txt"
|
|
1395
|
+
try:
|
|
1396
|
+
published = pub_path.read_text().strip()
|
|
1397
|
+
if published:
|
|
1398
|
+
p = Path(published)
|
|
1399
|
+
# Only accept the published path if it's recent enough —
|
|
1400
|
+
# protects against a leftover file from a previous run.
|
|
1401
|
+
if p.is_dir() and p.stat().st_mtime >= self.since - 5:
|
|
1402
|
+
self.session_dir = p
|
|
1403
|
+
return p
|
|
1404
|
+
except (FileNotFoundError, OSError):
|
|
1405
|
+
pass
|
|
1406
|
+
# Fallback: meta.json is only written at session EXIT (CLAUDE.md
|
|
1407
|
+
# learning #37). For active sessions we fall back to: new dir
|
|
1408
|
+
# (mtime > since) that has messages.jsonl. meta.json match is
|
|
1409
|
+
# preferred when available.
|
|
1392
1410
|
fallback: Path | None = None
|
|
1393
1411
|
for entry in sorted(SESSION_ROOT.iterdir(), reverse=True):
|
|
1394
1412
|
try:
|
|
@@ -268,7 +268,14 @@ def _env_float(name: str, default: float) -> float:
|
|
|
268
268
|
_ANSI_ESCAPE_RE = re.compile(r"\x1b\[[0-9;?]*[a-zA-Z]")
|
|
269
269
|
_RAW_MARKDOWN_PATTERNS = [
|
|
270
270
|
re.compile(r"\*\*\w[^*]{1,80}\*\*"), # **bold words**
|
|
271
|
-
|
|
271
|
+
# `^##\s+\w` — REQUIRE 2+ `#` for the heading pattern. The earlier
|
|
272
|
+
# `^#{1,6}` matched Python code comments like `# Instantiate GCS
|
|
273
|
+
# backend` inside code blocks the model emits, causing systematic
|
|
274
|
+
# false positives (raw_md=10+ on code-heavy prompts). Real markdown
|
|
275
|
+
# H1 is rare in conversational replies — the model uses **bold** or
|
|
276
|
+
# `## H2` for emphasis/sections — so requiring 2+ #s drops the
|
|
277
|
+
# false-positive rate without missing real leaks.
|
|
278
|
+
re.compile(r"(?m)^#{2,6}\s+\w"), # ##heading (2+ #s)
|
|
272
279
|
re.compile(r"\[[^\]]{1,40}\]\([^)]{1,80}\)"), # [link](url)
|
|
273
280
|
]
|
|
274
281
|
|
|
@@ -1,5 +1,138 @@
|
|
|
1
1
|
# Drydock Trip Log
|
|
2
2
|
|
|
3
|
+
## 2026-05-18 04:00 UTC tick
|
|
4
|
+
- Stress: 793/1658, 164 done, 0 skip, 0 timeout (PID 2666472, 1h49m uptime, RSS=618MB)
|
|
5
|
+
- Write rate: normal (sessions completing, no stalls)
|
|
6
|
+
- Admiral last 30 min: 0 new fires (harness:bash_generic last at 2026-05-17T23:50, thinking_stall at 18:40)
|
|
7
|
+
- vLLM 400s: 0 new (llama.cpp on :8000 healthy, Q3_K_M confirmed)
|
|
8
|
+
- GH issues: 0 open
|
|
9
|
+
- Dispatch queue: harness=9 total (6 thinking_stall + 3 bash_generic, all addressed by existing commits), retrieval=0 actionable (all already ingested), curiosity=2690 pending (mostly unknown_term + hle_failure; HLE paused per operator)
|
|
10
|
+
- Action this tick: no fix — system healthy; retrieval-drain 0 actionable; bash_generic loop was isolated incident (one import-check loop in tool_agent session, existing FORCE_STOP detection handled it, model resumed after mute which is expected advisory-only behavior)
|
|
11
|
+
|
|
12
|
+
## 2026-05-18 03:00 UTC tick
|
|
13
|
+
- Stress: PID 2666472 alive (49+ min, cycling through PRDs normally — API: OpenAPI generation at tick time)
|
|
14
|
+
- Write rate: sessions completing (session_025001 ran 126 messages on tool_agent/MinIO PRD)
|
|
15
|
+
- Admiral last 30 min: 0 new fires (bash_generic last at 23:50, thinking_stall last at 18:40)
|
|
16
|
+
- vLLM 400s: 6 context-overflow errors (33388 > 32768 tokens; emergency compaction handled; session continued)
|
|
17
|
+
- GH issues: 0 open
|
|
18
|
+
- Dispatch queue: harness=9 (6 thinking_stall + 3 bash_generic, both patterns already addressed by commits 1191431 / source), retrieval=0 actionable, curiosity=2674 pending (all hle_failure/unknown_term; HLE babysitter paused per operator directive)
|
|
19
|
+
- Action this tick: no fix — system healthy; 2 post-v2.8.58 fixes (1191431, 77275c2) in source pending next auto-release at ~05:00 UTC; retrieval-drain 0 actionable; curiosity queue all HLE-pattern (paused)
|
|
20
|
+
|
|
21
|
+
## 2026-05-18 02:30 UTC tick
|
|
22
|
+
- Stress: PID 2666472 (babysitter restarted, now at step 629/1658, tool_agent PRD, healthy)
|
|
23
|
+
- Write rate: N/A (session cycling normally)
|
|
24
|
+
- Admiral last 30 min: thinking_stall last at 18:40, bash_generic 3x at 23:50 (addressed by 1191431)
|
|
25
|
+
- vLLM 400s: 0 context errors in last 30m (1bcd5d1 search_replace truncation fix holding)
|
|
26
|
+
- GH issues: 0 open
|
|
27
|
+
- Dispatch queue: harness=9 (all addressed), retrieval=0 actionable, curiosity=2665 pending (409 hle_failure paused, 2254 unknown_term noise)
|
|
28
|
+
- Action this tick: no action — system healthy; all dispatch patterns addressed by recent commits; curiosity queue is HLE/unknown_term noise (babysitter paused per operator directive); retrieval-drain: 0 projects ingested
|
|
29
|
+
|
|
30
|
+
## 2026-05-18 02:00 UTC tick
|
|
31
|
+
- Stress: PID 2501045 alive (9h+), at prompt 620/1658 (storage backend cycle, +0 writes normal for context-less follow-on prompts)
|
|
32
|
+
- Write rate: 0 writes/prompt (expected post-session-reset for storage backend prompts without prior context)
|
|
33
|
+
- Admiral last 30 min: thinking_stall fired once, outcome=unstuck (working correctly)
|
|
34
|
+
- llamacpp 400s: 5 context overflow errors (33668 > 32768 token limit) — multiple concurrent sessions each failing once; emergency compaction truncates and recovers; no drydock bug
|
|
35
|
+
- GH issues: 0 open
|
|
36
|
+
- Dispatch queue: harness=10 (thinking_stall + bash_generic), retrieval=0 actionable, curiosity=2665 pending (all hle_failure/unknown_term — babysitter paused)
|
|
37
|
+
- Sentinels: hle_babysitter, hle_burndown, hle_burndown_keepalive, vllm_failover, watchdog all paused
|
|
38
|
+
- Action this tick: no fix committed — last tick (01:30) shipped 1191431 (bash_generic loop-break via tool-error detection); retrieval drain: 0 actionable; curiosity top 3 all HLE-failure with babysitter paused — no action taken; model+balancer healthy
|
|
39
|
+
|
|
40
|
+
## 2026-05-18 01:30 UTC tick
|
|
41
|
+
- Stress: PID 2501045 alive (8h34m on tool_agent PRD step 38+, sessions cycling every ~15 min — healthy)
|
|
42
|
+
- Write rate: N/A
|
|
43
|
+
- Admiral last 30 min: 3 bash_generic fires at 23:50 (model repeating import-check bash call; addressed by commit 1191431 last tick)
|
|
44
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M on :8000, balancer on :8001 both healthy)
|
|
45
|
+
- GH issues: 0 open
|
|
46
|
+
- Dispatch queue: harness=1312 total (17 thinking_stall + 3 bash_generic in last 20; bash_generic addressed; no new patterns since 23:50), retrieval=3 (all stale, already ingested), curiosity=2665 pending (409 hle_failure, 2254 unknown_term — HLE paused per directive)
|
|
47
|
+
- Action this tick: no action — system healthy; retrieval-drain: 0 actionable; top curiosity items are hle_failure (babysitter paused) and unknown_term noise; bash_generic pattern already addressed by 1191431; autonomous_review started at 01:30 UTC
|
|
48
|
+
|
|
49
|
+
## 2026-05-18 01:00 UTC tick
|
|
50
|
+
- Stress: 562/1658 (tool_agent storage backends, PID 2501045, 9h elapsed, healthy)
|
|
51
|
+
- Write rate: N/A (storage-backend add prompts produce mostly text responses)
|
|
52
|
+
- Admiral last 30 min: N/A
|
|
53
|
+
- vLLM 400s: 6 log lines in 30m (normal llamacpp slot-checkpoint output, not errors)
|
|
54
|
+
- GH issues: 0 open
|
|
55
|
+
- Dispatch queue: harness=11 (8 thinking_stall informational, 3 bash_generic from 23:48 loop — all handled by existing mechanisms; intervention on bash_generic at 23:48 failed but FORCE_STOP at 5 runs covers it), retrieval=0 actionable, curiosity=494 pending (88 hle_failure paused, 405 unknown_term noise)
|
|
56
|
+
- Action this tick: no action — system healthy. 00:35 UTC autonomous_review shipped `_looks_empty` tool_error match fix (v2.8.58, already released). Bash_generic loop pattern reviewed; existing 5-run repetition loop-breaker in bash.py covers import-check loops. No new actionable bugs.
|
|
57
|
+
|
|
58
|
+
## 2026-05-18 00:00 UTC tick
|
|
59
|
+
- Stress: 486/1658 (tool_agent storage backend prompts, PID 2501045, 12h elapsed)
|
|
60
|
+
- Write rate: 14% (7/50 last steps had write_file calls — storage backend adds expected to be low)
|
|
61
|
+
- Admiral last 30 min: 22 fires (23:xx UTC window)
|
|
62
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M clean)
|
|
63
|
+
- GH issues: 0 open
|
|
64
|
+
- Dispatch queue: harness=11 (3 new loop:bash_generic at 23:48 from single session, outcome=failed then FORCE_STOP took over; 8 stale thinking_stall), retrieval=0 actionable, curiosity=2664 pending (HLE babysitter paused per sentinel)
|
|
65
|
+
- Action this tick: no action — system healthy. loop:bash_generic pattern examined; existing 3-consecutive-identical FORCE_STOP in agent_loop.py is catching it correctly. HLE curiosity items not actionable (babysitter paused). Retrieval drain: 0 ingested.
|
|
66
|
+
|
|
67
|
+
## 2026-05-17 23:30 UTC tick
|
|
68
|
+
- Stress: PID 2501045 running (tool_agent PRD, 6h34m elapsed, healthy); new sessions created at 23:13, 23:15, 23:24 UTC — progressing normally
|
|
69
|
+
- Write rate: N/A (no session log linked to stress pid)
|
|
70
|
+
- Admiral last 30 min: N/A
|
|
71
|
+
- vLLM 400s: 0 (44 grep hits are informational slot-update lines, not errors)
|
|
72
|
+
- GH issues: 0 open
|
|
73
|
+
- Dispatch queue: harness=8 (thinking_stall, stale — already addressed), retrieval=0 actionable (3 queue entries, all recently ingested), curiosity=2664 pending (409 hle_failure paused per operator directive, 2254 unknown_term noise)
|
|
74
|
+
- Action this tick: no action — system healthy; autonomous_review.sh started its 23:30 tick; top curiosity items are hle_failure (HLE babysitter paused per CLAUDE.md 2026-05-17 directive) and unknown_term noise not worth acting on
|
|
75
|
+
|
|
76
|
+
## 2026-05-17 22:30 UTC tick
|
|
77
|
+
- Stress: PID 2501045 running 5h37m, stress_shakedown.py on tool_agent PRD (--resume-from-step 38), 181 sessions today; current session 48ba8dd6 writing plugin files (secret_scanning_tool.py, pii_redaction_tool.py) — healthy
|
|
78
|
+
- Write rate: N/A (tool log shows writes in current session, exploration in prior)
|
|
79
|
+
- Admiral last 30 min: N/A (HLE paused)
|
|
80
|
+
- vLLM 400s: ~102 log lines in 6h (normal for llamacpp, not error class)
|
|
81
|
+
- GH issues: 0 open
|
|
82
|
+
- Dispatch queue: harness=8 (all thinking_stall, no new patterns), retrieval=0 actionable (all already ingested), curiosity=2664 pending (409 hle_failure w/ HLE paused, 2254 unknown_term noise — top items are math capability gaps, not prompt or infra bugs)
|
|
83
|
+
- Action this tick: no code change — system stable; all queued harness patterns addressed by recent commits; autonomous_review started at 22:30; curiosity items are HLE capability gaps not actionable while babysitter paused
|
|
84
|
+
|
|
85
|
+
## 2026-05-17 22:00 UTC tick
|
|
86
|
+
- Stress: PID 2501045 running 5h+, tool_agent suite (step 38 resume), session 214835 active at 106 messages — healthy
|
|
87
|
+
- vLLM 400s: 0 (model Q3_K_M, llamacpp-gemma4 healthy 33h, 62 tok/s)
|
|
88
|
+
- GH issues: 0 open
|
|
89
|
+
- Dispatch queue: harness=1309 (thinking_stall only, admiral nudge self-resolves per log), retrieval=3 drained (1 project ingested: 403_tool_agent), curiosity=2660 pending (HLE loops paused per directive — not actionable)
|
|
90
|
+
- Action this tick: retrieval-drain: 1 project ingested; no source fix needed — system healthy
|
|
91
|
+
|
|
92
|
+
## 2026-05-17 21:30 UTC tick
|
|
93
|
+
- Stress: PID 2501045 running 4h34m, tool_agent stress_shakedown.py resuming from step 38 — active and healthy
|
|
94
|
+
- llamacpp 400s: 0
|
|
95
|
+
- GH issues: 0 open
|
|
96
|
+
- Dispatch queue: harness=9 (all thinking_stall, admiral nudge resolving — latest log shows "unstuck"), retrieval=0 actionable, curiosity=2659 pending (2249 unknown_term, 409 hle_failure, 1 evidence_conflict; HLE paused per directive)
|
|
97
|
+
- Model: Q3_K_M on llamacpp-gemma4 (:8000), balancer on :8001 — both healthy, 0 errors
|
|
98
|
+
- Action this tick: no action — system fully healthy, no queued patterns unaddressed by recent commits
|
|
99
|
+
|
|
100
|
+
## 2026-05-17 21:00 UTC tick
|
|
101
|
+
- Stress: ~680/1658 (PID 2501045, ~4h05m elapsed, tool_agent suite; consecutive SKIPs on API-shape prompts normal, FORCE-RESET recovering)
|
|
102
|
+
- Write rate: tracking (no aggregated figure — recent prompts are API-heavy, SKIP-prone)
|
|
103
|
+
- llamacpp 400s: 0
|
|
104
|
+
- GH issues: 0 open
|
|
105
|
+
- Dispatch queue: harness=9 in last 24h (all thinking_stall, existing nudge resolves them per log evidence), retrieval=0 actionable, curiosity=2655 pending (all hle_failure/unknown_term; HLE paused per directive)
|
|
106
|
+
- Model: Q3_K_M on llamacpp-gemma4 (:8000), balancer on :8001 (PID 380535) — both healthy
|
|
107
|
+
- Action this tick: no action — system healthy, no new bugs, retrieval-drain: 0 ingested
|
|
108
|
+
|
|
109
|
+
## 2026-05-17 20:30 UTC tick
|
|
110
|
+
- Stress: 279/1658 (PID 2501045, ~3h36m elapsed, tool_agent suite, 195 done / 241 steps = ~81% write rate, 0 timeouts, 3 recycles)
|
|
111
|
+
- Write rate: ~81% (done/attempted since restart at step 38)
|
|
112
|
+
- Admiral last 30 min: 1019 total findings; recent-window check skipped (schema traversal error)
|
|
113
|
+
- llamacpp 400s: 0 blocking 400s; 6 minor slot-management lines in last 30m (normal)
|
|
114
|
+
- GH issues: 0 open
|
|
115
|
+
- Dispatch queue: harness=1309 total (9 in last 24h, all thinking_stall — existing nudge logic covers), retrieval=0 actionable, curiosity=2655 pending (409 hle_failure paused, 2245 unknown_term noise)
|
|
116
|
+
- Action this tick: no action — previous tick (20:00 UTC) already committed 332057d; system healthy; no new bugs found; retrieval-drain: 0 ingested (all already recent)
|
|
117
|
+
|
|
118
|
+
## 2026-05-17 20:00 UTC tick
|
|
119
|
+
- Stress: 238/1658 (PID 2501045, ~3h04m elapsed, tool_agent suite, running cleanly with 3 TUI recycles)
|
|
120
|
+
- Write rate: N/A (no session write-rate metric available for this run)
|
|
121
|
+
- Admiral last 30 min: N/A
|
|
122
|
+
- vLLM 400s: 51 errors in last 60m from docker logs (mix of slot updates and JSON parse errors, none blocking)
|
|
123
|
+
- GH issues: 0 open
|
|
124
|
+
- Dispatch queue: harness=9 (all thinking_stall, already fixed), retrieval=0 actionable, curiosity=588 pending (473 unknown_term noise, 114 hle_failure paused, 1 evidence_conflict)
|
|
125
|
+
- Action this tick: committed fix 332057d — added "error code: 500" to the 500-error recovery branch in agent_loop.py; llama.cpp returns "Error code: 500 - {..." not "500 internal server error", so the tool-call drop + truncation advice path was silently bypassed for all JSON-parse-error 500s; the bad tool call was re-sent unchanged on every retry; auto_release will ship at next CDT tick
|
|
126
|
+
|
|
127
|
+
## 2026-05-17 19:30 UTC tick
|
|
128
|
+
- Stress: PID 2501045, ~02:35 elapsed, tool_agent suite step ~250+/1658, running cleanly
|
|
129
|
+
- Write rate: N/A
|
|
130
|
+
- Admiral last 30 min: 3 harness:thinking_stall fires at 18:20, 1 at 18:40 (all informational — nudge-inject path working as designed)
|
|
131
|
+
- llamacpp 400s: 6 minor errors in container logs (none JSONDecode/400-class)
|
|
132
|
+
- GH issues: 0 open
|
|
133
|
+
- Dispatch queue: harness=1309 (9 in last 24h, all thinking_stall resolved), retrieval=0 actionable (drain: 0 ingested), curiosity=2646 pending (top: hle_failure banned, unknown_term noise, evidence_conflict stale)
|
|
134
|
+
- Action this tick: no action — system healthy; model Q3_K_M + balancer :8001 both up; stress advancing; HLE paused per directive; no actionable bugs found
|
|
135
|
+
|
|
3
136
|
## 2026-05-17 19:00 UTC tick
|
|
4
137
|
- Stress: 192/1658 (PID 2501045, 02:04 elapsed, tool_agent suite, 154 done / 0 skip / 0 timeout since restart at 16:56 UTC)
|
|
5
138
|
- Write rate: low (~2/92 steps show writes — normal for informational prompts on an existing package)
|
|
@@ -7519,3 +7652,40 @@ restarted, cron self-match bug fixed in this same session).
|
|
|
7519
7652
|
- GH issues: 0 open
|
|
7520
7653
|
- Dispatch queue: harness=7 (all stale thinking_stall, resolved), retrieval=0 actionable, curiosity=2548 pending (409 hle_failure paused, 2139 unknown_term noise)
|
|
7521
7654
|
- Action this tick: committed fix 1bcd5d1 — removed search_replace exclusion from _truncate_old_tool_results(); old search_replace args (SEARCH/REPLACE blocks with full file content) were accumulating indefinitely past KEEP_RECENT=4 and pushing context over the 32768-token llama.cpp limit in long sessions with 20+ edits; truncated to JSON stub same as write_file args. auto_release will ship at next CDT tick.
|
|
7655
|
+
|
|
7656
|
+
## 2026-05-17 23:00 UTC tick
|
|
7657
|
+
- Stress: PID 2501045 (tool_agent, step 38+, 6h+ elapsed, healthy)
|
|
7658
|
+
- Write rate: N/A (no session log for current run)
|
|
7659
|
+
- Admiral last 30 min: N/A
|
|
7660
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M, no errors in last 30m)
|
|
7661
|
+
- GH issues: 0 open
|
|
7662
|
+
- Dispatch queue: harness=8 (all thinking_stall, stale — already addressed in agent_loop.py), retrieval=0 actionable, curiosity=2664 pending (409 hle_failure, 2254 unknown_term — HLE babysitter paused per operator directive)
|
|
7663
|
+
- Action this tick: no action — system healthy; retrieval-drain: 0 projects ingested; thinking_stall dispatch pattern already handled in source; top curiosity items are hle_failure (paused) and unknown_term noise; autonomous_review confirmed healthy at 22:30 UTC same findings
|
|
7664
|
+
|
|
7665
|
+
## 2026-05-18 00:30 UTC tick
|
|
7666
|
+
- Stress: PID 2501045 alive (7h+ on tool_agent PRD, step 38+, sessions cycling normally)
|
|
7667
|
+
- Write rate: session dirs updating ~every 10-15 min
|
|
7668
|
+
- Admiral last 30 min: 3 bash_generic fires at 23:50, thinking_stall last at 18:40
|
|
7669
|
+
- vLLM 400s: 0 (model on Q3_K_M at :8000, balancer at :8001 healthy)
|
|
7670
|
+
- GH issues: 0 open
|
|
7671
|
+
- Dispatch queue: harness=11, retrieval=0 actionable, curiosity=2664 pending
|
|
7672
|
+
- Sentinels: hle_babysitter, hle_burndown, hle_burndown_keepalive, vllm_failover, watchdog all paused
|
|
7673
|
+
- Action this tick: committed fix — _looks_empty now matches <tool_error> so Check 0 loop detection fires after 3 repeated failing tool calls (was 8 via Check 1); also improved read_mcp_resource error messages to suggest read_file/bash when file:// URI fails with no MCP servers configured. Addresses pattern harness:loop:bash_generic. Retrieval drain: 0 actionable (already ingested). All 72 loop detection tests pass.
|
|
7674
|
+
|
|
7675
|
+
## 2026-05-18 03:30 UTC tick
|
|
7676
|
+
- Stress: 749/1658
|
|
7677
|
+
- Write rate: N/A (current prompts are API knowledge questions with 0 writes expected)
|
|
7678
|
+
- Admiral last 30 min: 0 fires
|
|
7679
|
+
- vLLM 400s: 47 in 30 min (all context-overflow: 34K–35K token requests against 32K ctx)
|
|
7680
|
+
- GH issues: 0 open
|
|
7681
|
+
- Dispatch queue: harness=9 pending (thinking_stall×6 pre-fix, bash_generic×3 addressed by 1191431), retrieval=0 actionable, curiosity=2681 pending (mostly unknown_term/hle_failure, HLE paused)
|
|
7682
|
+
- Action this tick: committed fix 64587fa — context-overflow recovery was silently failing because the llm_balancer wraps backend 400s as "HTTP Error 400: Bad Request" (with colon), but the recovery condition checked for "400 bad request" (no colon). Added "400: bad request" and "both backends failed" to the elif. All other services healthy.
|
|
7683
|
+
|
|
7684
|
+
## 2026-05-18 04:30 UTC tick
|
|
7685
|
+
- Stress: PID 2666472 alive (2h19m uptime)
|
|
7686
|
+
- Write rate: N/A (stress harness running)
|
|
7687
|
+
- Admiral last 30 min: 3 fires (harness:loop:bash_generic, 2026-05-17T23:50)
|
|
7688
|
+
- vLLM 400s: N/A (llama.cpp on :8000, balancer on :8001 — both healthy)
|
|
7689
|
+
- GH issues: no output (gh command returned empty)
|
|
7690
|
+
- Dispatch queue: harness=9, retrieval=0 actionable, curiosity=2694 pending (unknown_term dominant)
|
|
7691
|
+
- Action this tick: committed fix — escalate bash identical-call WARNING to FORCE_STOP (addresses pattern harness:loop:bash_generic). Model was running `python3 -c "from tool_agent.storage.factory import get_storag..."` 3+ times after import check passed; WARNING path only bumped temperature which the model ignored. 4+ identical bash calls now force text-only for 1 turn. All 72 loop-detection tests pass.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2543523
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|