drydock-cli 2.8.60__tar.gz → 2.8.61__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.61/.auto_release.lock +1 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/PKG-INFO +1 -1
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/agent_loop.py +23 -8
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/pyproject.toml +1 -1
- drydock_cli-2.8.61/tests/test_tool_stop_injected_scope.py +58 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/trip_log.md +140 -0
- drydock_cli-2.8.60/.auto_release.lock +0 -1
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.drydock/graphrag.sqlite +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.gitignore +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.pause_hle_babysitter +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.pause_hle_burndown +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.pause_hle_burndown_keepalive +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.python-version +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.typos.toml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.vscode/extensions.json +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.vscode/launch.json +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/.vscode/settings.json +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/AGENTS.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/Admiral.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/CHANGELOG.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/CLAUDE.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/DEEP_NOIR_PRD.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/DEPLOYMENT.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/DRYDOCK.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/HLE_PRD.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/JETSON_BENCH.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/LICENSE +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/MODEL_SHORTCOMINGS.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/NOTICE +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/README.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/SOVEREIGN_PRD.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/TRIAGE_v1.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/action.yml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/README.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results1.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results13.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results14.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results15.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results16.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results17.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results18.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results19.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results2.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results20.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results3.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results4.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results5.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results6.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results7.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results8.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results9.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/baseline_history/results_evolved_v1.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/README.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/acp-setup.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/BASELINE_412.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/Drydock_rebrand.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/PRD.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/drydock_terms.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/archive/resume.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/__main__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/detectors.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/detectors_proposed.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/history.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/interventions.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/llm_analyzer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/metrics.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/opus_escalator.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/persistence.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/policy.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/proposer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/stager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/task_classifier.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/tuning.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/validator.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/admiral/worker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/fix_windows_path.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/auto_solve.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/checkpoint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/classifier/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/classifier/__main__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/classifier/classifier.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/classifier/dispatcher.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/classifier/rules.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/classifier/signal.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/_dotenv.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/doctor.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/local_detect.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/config/migrate.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/constraint_extract.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/constraint_hint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/context_recovery.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/goal.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/logger.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/paths/_drydock_home.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/slug.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/steering_hook.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/algebra_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/chemistry_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/count_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/logic_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/math_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/mcp_resources.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/memory_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/number_theory_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prolog_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/retrieve.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/set_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/solve_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/stats_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/units_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/verify_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/types.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/core/utils.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/curiosity/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/curiosity/__main__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/curiosity/gap_detector.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/curiosity/item.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/curiosity/queue.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/curiosity/surprise.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/graphrag/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/graphrag/__main__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/graphrag/code_indexer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/graphrag/retriever.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/graphrag/storage.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/graphrag/text_indexer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/screens/choice.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/screens/local_model.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/audit-tests/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/constraint-reasoning/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/logic/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/logic/assets/cheat_sheet_full.txt +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/prove/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/strong-tests/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/__main__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/applier.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/config.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/registry.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/sandbox.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/sidecar/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/sidecar/header_parser.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/sidecar/hooks.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/sidecar/loader.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/sidecar/server.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/train/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/train/capture.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/train/compute_vector.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/train/extract_pairs.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/train/scan_sessions.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/steering/vectors.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock/whats_new.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/drydock-acp.spec +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/flake.lock +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/flake.nix +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/outlook_draft_assistant.tar.gz +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/README.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/config_base.toml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/config_best.toml +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/deep_noir/pairs/empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/deep_noir/pairs/scan_empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/domain_spec.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/experimenter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/kernel.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/mini_prd.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/mini_prompts.txt +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/proposer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/research/results.tsv +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/resume.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/README.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/_archived_eval_harness/README.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/_archived_eval_harness/auto_solve_audit.py.deprecated +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/_archived_eval_harness/hle_babysitter.sh.deprecated +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/_archived_eval_harness/hle_burndown.sh.deprecated +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/_archived_eval_harness/hle_burndown_keepalive.sh.deprecated +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/_archived_eval_harness/hle_burndown_status.py.deprecated +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/_archived_eval_harness/hle_eval.py.deprecated +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/admiral_probe.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/archive/auto_test_loop.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/archive/monitor_test_battery.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/archive/overnight_agents_test.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/archive/test_bank.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/archive/test_full.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/archive/test_smoke.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/archive/tui_test.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/audit_sampler.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/auto_generate_tests.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/autonomous_review.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/autonomous_review_prompt.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/backfill_hle_curiosity.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/backup.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/bench_inference.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/bump_version.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/classify_pulse.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/consume_retrieval_queue.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/curiosity_idle_cycle.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/dedupe_dispatch_queues.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/dispatch_report.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/drydock_status.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/fetch_arxiv_abstracts.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/gen_2000_prompts.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/hle_aggregate.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/hle_eval_seed.jsonl +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/llm_balancer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/notify_release.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/perf_baseline_when_idle.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/perf_sweep.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/poll_issues.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/queue_top.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/ralph_loop.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/rejudge_hle.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/research_babysitter.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/shakedown.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/shakedown_interactive.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/shakedown_suite.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/shakedown_variance.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/start_steering_sidecar.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_babysitter.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_prompts_50.txt +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_prompts_realuser.txt +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_prompts_tool_agent.txt +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_shakedown.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_telegram_status.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/stress_watcher.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/tool_usage_report.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/test_generic_adapter_sanitize.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/conftest.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/e2e/common.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/mock/utils.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/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.60 → drydock_cli-2.8.61}/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.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_admiral.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_admiral_hallucinated_tool_filter.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_admiral_intervention_outcome.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_admiral_phase3.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_admiral_proposed.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_admiral_session_id.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_admiral_struggle_dedup.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_agents.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_algebra_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_api_error_recovery.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_approval_modal_stray_keys.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_auto_retrieve_soft_nudge.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_auto_solve.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_checkpoint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_chemistry_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_classifier.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_config_migration.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_constraint_extract.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_constraint_hint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_context_recovery.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_count_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_curiosity.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_dispatch_report.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_dispatcher.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_fake_tool_call_paren_syntax.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_goal.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_graphrag.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_graphrag_worked_examples.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_hallucinated_tool_suppression.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_hle_aggregate.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_hle_score_method_split.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_hle_typing.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_integration.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_issue_fixes.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_local_detect.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_logic_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_math_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_mcp_settings.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_memory_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_message_id.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_middleware.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_number_theory_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_prolog_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_read_file_not_found_listing.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_rejudge_hle.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_retrieval_consumer.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_retrieve_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_search_replace_args_not_truncated.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_session_log_event.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_set_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_smoke.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_solve_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_stats_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_steering.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_steering_capture.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_steering_compute_vector.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_steering_extract_pairs.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_steering_hook.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_steering_sidecar_chat_inputs.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_steering_sidecar_hooks.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_task_complete_nudge.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_truncate_args_valid_json.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_truncated_arg_path_hint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_truncated_search_replace_escalation.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_truncated_write_escalation.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_units_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_verify_tool.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_wall_of_text_rescue.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_workloads.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/test_write_file_missing_path.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_binary_grep_hint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_consec_empty_search.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_error_loop_breaker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_manager_gemma_derived_models.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_read_file_dedup_reembed.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_read_file_directory.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_read_file_limit_truncation.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_append_fallback.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_dir_path.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_empty_content.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_file_not_found.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_hard_stop.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_malformed_block.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_placeholder.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/tools/test_write_file_missing_path_hint.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/uv.lock +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/worked_examples/README.md +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/worked_examples/cli_subcommand_dispatch.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/worked_examples/lookup.json +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/worked_examples/sql_parser.py +0 -0
- {drydock_cli-2.8.60 → drydock_cli-2.8.61}/worked_examples/tree_walking_interpreter.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3062158
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.61
|
|
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
|
|
@@ -901,7 +901,11 @@ class AgentLoop:
|
|
|
901
901
|
_prompt_start = time.perf_counter()
|
|
902
902
|
_time_stop_injected = False
|
|
903
903
|
_time_stop_escalated = False
|
|
904
|
-
_tool_stop_injected
|
|
904
|
+
# Promoted to self._tool_stop_injected so _perform_llm_turn
|
|
905
|
+
# (a separate method, different scope) can read+write it.
|
|
906
|
+
# The four read sites at lines ~1459/1538/1594/1661 live in
|
|
907
|
+
# _perform_llm_turn and were raising NameError previously.
|
|
908
|
+
self._tool_stop_injected = False
|
|
905
909
|
logger.warning("[TIMING] entering conversation while loop")
|
|
906
910
|
while not should_break_loop:
|
|
907
911
|
# Drain any user messages typed while the agent was working.
|
|
@@ -987,9 +991,9 @@ class AgentLoop:
|
|
|
987
991
|
+ (f" {_stop_suffix}" if _stop_suffix else "")
|
|
988
992
|
)
|
|
989
993
|
if (TOOL_STOP_AFTER > 0
|
|
990
|
-
and not _tool_stop_injected
|
|
994
|
+
and not self._tool_stop_injected
|
|
991
995
|
and tool_turns >= TOOL_STOP_AFTER):
|
|
992
|
-
_tool_stop_injected = True
|
|
996
|
+
self._tool_stop_injected = True
|
|
993
997
|
_stop_suffix = os.environ.get("DRYDOCK_STOP_NOW_SUFFIX", "")
|
|
994
998
|
self._inject_system_note(
|
|
995
999
|
f"You have used {tool_turns} tool calls. "
|
|
@@ -999,7 +1003,7 @@ class AgentLoop:
|
|
|
999
1003
|
+ (f" {_stop_suffix}" if _stop_suffix else "")
|
|
1000
1004
|
)
|
|
1001
1005
|
elif (TOOL_STOP_AFTER > 0
|
|
1002
|
-
and _tool_stop_injected
|
|
1006
|
+
and self._tool_stop_injected
|
|
1003
1007
|
and tool_turns > TOOL_STOP_AFTER):
|
|
1004
1008
|
# Model called another tool after the stop note — force
|
|
1005
1009
|
# text-only on the next LLM call so it must emit an answer.
|
|
@@ -1456,7 +1460,7 @@ class AgentLoop:
|
|
|
1456
1460
|
and bool(_prev_tool_result.strip())
|
|
1457
1461
|
)
|
|
1458
1462
|
if _stall_attempt == 0:
|
|
1459
|
-
if _tool_stop_injected:
|
|
1463
|
+
if self._tool_stop_injected:
|
|
1460
1464
|
_fa_suffix = os.environ.get(
|
|
1461
1465
|
"DRYDOCK_STOP_NOW_SUFFIX",
|
|
1462
1466
|
"End with 'FINAL ANSWER: <answer>'.",
|
|
@@ -1535,7 +1539,7 @@ class AgentLoop:
|
|
|
1535
1539
|
+ (f" {_generic_suffix}" if _generic_suffix else "")
|
|
1536
1540
|
)
|
|
1537
1541
|
elif _stall_attempt == 1:
|
|
1538
|
-
if _tool_stop_injected:
|
|
1542
|
+
if self._tool_stop_injected:
|
|
1539
1543
|
_fa_suffix = os.environ.get(
|
|
1540
1544
|
"DRYDOCK_STOP_NOW_SUFFIX",
|
|
1541
1545
|
"End with 'FINAL ANSWER: <answer>'.",
|
|
@@ -1591,7 +1595,7 @@ class AgentLoop:
|
|
|
1591
1595
|
+ (f" {_generic_suffix}" if _generic_suffix else "")
|
|
1592
1596
|
)
|
|
1593
1597
|
else:
|
|
1594
|
-
if _tool_stop_injected:
|
|
1598
|
+
if self._tool_stop_injected:
|
|
1595
1599
|
_fa_suffix = os.environ.get(
|
|
1596
1600
|
"DRYDOCK_STOP_NOW_SUFFIX",
|
|
1597
1601
|
"End with 'FINAL ANSWER: <answer>'.",
|
|
@@ -1658,7 +1662,7 @@ class AgentLoop:
|
|
|
1658
1662
|
# (cleared) at the previous LLM call boundary, so without
|
|
1659
1663
|
# this the stall-retry call gets tool_choice="auto" and the
|
|
1660
1664
|
# model loops back to calling tools instead of answering.
|
|
1661
|
-
if _tool_stop_injected:
|
|
1665
|
+
if self._tool_stop_injected:
|
|
1662
1666
|
self._hle_force_text_only = True
|
|
1663
1667
|
# Loop back to re-call the LLM.
|
|
1664
1668
|
continue
|
|
@@ -4439,6 +4443,11 @@ or replace freely; future sessions will respect your edits._
|
|
|
4439
4443
|
def _reset_session(self) -> None:
|
|
4440
4444
|
self.session_id = str(uuid4())
|
|
4441
4445
|
self.session_logger.reset_session(self.session_id)
|
|
4446
|
+
# Defensive init — _perform_llm_turn reads this in 4 places;
|
|
4447
|
+
# if a code path calls into the LLM turn before
|
|
4448
|
+
# _conversation_loop sets the local, we'd hit NameError.
|
|
4449
|
+
# Observed in user TUI 2026-05-18.
|
|
4450
|
+
self._tool_stop_injected = False
|
|
4442
4451
|
|
|
4443
4452
|
def set_approval_callback(self, callback: ApprovalCallback) -> None:
|
|
4444
4453
|
self.approval_callback = callback
|
|
@@ -4636,6 +4645,12 @@ or replace freely; future sessions will respect your edits._
|
|
|
4636
4645
|
# /compact since the goal is session-scoped and a fresh session
|
|
4637
4646
|
# shouldn't inherit the prior pursuit.
|
|
4638
4647
|
self.goal = None
|
|
4648
|
+
# Defensive init for _tool_stop_injected — _perform_llm_turn
|
|
4649
|
+
# references this at multiple sites; if a session-level reset
|
|
4650
|
+
# path calls into the LLM turn before _conversation_loop's
|
|
4651
|
+
# init line, we'd hit NameError. Observed in user's actual TUI
|
|
4652
|
+
# 2026-05-18 with the slides project.
|
|
4653
|
+
self._tool_stop_injected = False
|
|
4639
4654
|
|
|
4640
4655
|
async def compact(self) -> str:
|
|
4641
4656
|
try:
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"""Regression test for the NameError that crashed real user TUI sessions.
|
|
2
|
+
|
|
3
|
+
Bug observed 2026-05-18: user typing into drydock TUI got
|
|
4
|
+
`Error: name '_tool_stop_injected' is not defined` because
|
|
5
|
+
`_perform_llm_turn` referenced `_tool_stop_injected` as if it were
|
|
6
|
+
a closure variable from `_conversation_loop`, but it's actually a
|
|
7
|
+
local variable in a different method's scope. Python NameError when
|
|
8
|
+
the read site fired.
|
|
9
|
+
|
|
10
|
+
Fix: promote to `self._tool_stop_injected` so both methods see it,
|
|
11
|
+
with defensive init in `_reset_session`.
|
|
12
|
+
"""
|
|
13
|
+
from __future__ import annotations
|
|
14
|
+
|
|
15
|
+
import inspect
|
|
16
|
+
|
|
17
|
+
from drydock.core.agent_loop import AgentLoop
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def test_perform_llm_turn_uses_self_for_tool_stop_injected():
|
|
21
|
+
"""All references inside _perform_llm_turn must use `self.` —
|
|
22
|
+
bare `_tool_stop_injected` would NameError because that name
|
|
23
|
+
is bound in `_conversation_loop`, a different method's scope."""
|
|
24
|
+
src = inspect.getsource(AgentLoop._perform_llm_turn)
|
|
25
|
+
bare_refs = src.count("_tool_stop_injected")
|
|
26
|
+
self_refs = src.count("self._tool_stop_injected")
|
|
27
|
+
assert bare_refs > 0, "expected _tool_stop_injected references in _perform_llm_turn"
|
|
28
|
+
assert bare_refs == self_refs, (
|
|
29
|
+
f"_perform_llm_turn has {bare_refs} _tool_stop_injected refs "
|
|
30
|
+
f"but only {self_refs} are self.-prefixed — would NameError on the rest"
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def test_conversation_loop_writes_self_tool_stop_injected():
|
|
35
|
+
"""_conversation_loop should also use the self. attribute (both for
|
|
36
|
+
initialization at the top of the prompt and for read/write inside
|
|
37
|
+
the loop body), so the value persists across method boundaries."""
|
|
38
|
+
src = inspect.getsource(AgentLoop._conversation_loop)
|
|
39
|
+
# The init line should set self._tool_stop_injected (not bare local)
|
|
40
|
+
assert "self._tool_stop_injected = False" in src, (
|
|
41
|
+
"_conversation_loop must init self._tool_stop_injected"
|
|
42
|
+
)
|
|
43
|
+
# Any remaining bare reference would be a footgun for future refactors
|
|
44
|
+
# (someone moves a block out and hits NameError).
|
|
45
|
+
bare = src.count("_tool_stop_injected") - src.count("self._tool_stop_injected")
|
|
46
|
+
# The comment line "# Promoted to self._tool_stop_injected" contains
|
|
47
|
+
# the substring once without `self.` prefix; allow that one.
|
|
48
|
+
assert bare <= 1, f"unexpected {bare} bare _tool_stop_injected refs in _conversation_loop"
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def test_reset_session_initializes_tool_stop_injected():
|
|
52
|
+
"""Defensive init in _reset_session prevents NameError if
|
|
53
|
+
_perform_llm_turn is ever called before _conversation_loop's
|
|
54
|
+
own init line (e.g. via a session-resume code path)."""
|
|
55
|
+
src = inspect.getsource(AgentLoop._reset_session)
|
|
56
|
+
assert "_tool_stop_injected" in src, (
|
|
57
|
+
"_reset_session must initialize self._tool_stop_injected"
|
|
58
|
+
)
|
|
@@ -1,5 +1,110 @@
|
|
|
1
1
|
# Drydock Trip Log
|
|
2
2
|
|
|
3
|
+
## 2026-05-19 00:30 UTC tick
|
|
4
|
+
- Stress: 630/1658 prompts, 573 accepted / 14 skipped (2.2% SKIP), 7 writes, ~3h elapsed on tool_agent 2000-prompt set.
|
|
5
|
+
- Write rate: ~4% (7 writes / 176 msgs at prompt 630).
|
|
6
|
+
- Admiral last 30 min: 0 fires.
|
|
7
|
+
- vLLM 400s: 0 real HTTP errors (llamacpp-gemma4 healthy on Q3_K_M; "400" in logs = token counts, not errors).
|
|
8
|
+
- GH issues: 0 open.
|
|
9
|
+
- Dispatch queue: harness=21 (thinking_stall×18 + search_replace:not_found_loop×3 — both show ":: unstuck", existing handling working), retrieval=3 entries all already ingested, steering=0, curiosity=2844 pending (all HLE failures + unknown_term; HLE sentinel paused — not actionable).
|
|
10
|
+
- Action this tick: no action — system healthy. Retrieval drain ran (0 new ingests). Autonomous review last exited 0 at 00:02 UTC. No queued patterns requiring source fix.
|
|
11
|
+
|
|
12
|
+
## 2026-05-19 00:00 UTC tick
|
|
13
|
+
- Stress: PID 3006519 alive, 250/1658 prompts (15%), 249 accepted / 1 skipped, 5 writes (~2% write rate), ~9000s elapsed on tool_agent 2000-prompt set.
|
|
14
|
+
- vLLM 400s: 0 real errors (llamacpp-gemma4 healthy on Q3_K_M; balancer on :8001 healthy).
|
|
15
|
+
- GH issues: 0 open.
|
|
16
|
+
- Dispatch queue: harness=18 (thinking_stall×15 + search_replace:not_found_loop×3 — both buckets show "unstuck" outcomes, admiral handling correctly), retrieval=0 actionable, curiosity=2840 pending (top 3 items all HLE failures; HLE babysitter paused by sentinel — not actionable per CLAUDE.md ban).
|
|
17
|
+
- Action this tick: no action — system healthy. Retrieval drain ran (0 ingested). All harness patterns resolved by existing admiral interventions (v2.8.59/v2.8.60). Autonomous review last exited 0 at 23:32 UTC.
|
|
18
|
+
|
|
19
|
+
## 2026-05-18 23:30 UTC tick
|
|
20
|
+
- Stress: PID 3006519 alive, 1h58m elapsed (stress_shakedown on 403_tool_agent, 2000-prompt set, --resume ongoing).
|
|
21
|
+
- Write rate: n/a (mid-run, no completed-cycle count yet).
|
|
22
|
+
- Admiral last 30 min: 9 thinking_stall fires in 24h window — operational noise, inline retry handles them.
|
|
23
|
+
- vLLM 400s: 0 real errors (llamacpp-gemma4 Up 2 days healthy; balancer pid=2842264 on :8001 healthy).
|
|
24
|
+
- GH issues: 0 open.
|
|
25
|
+
- Dispatch queue: harness=12 (thinking_stall×9 informational, bash_generic×3 stale/addressed by 83a2400), retrieval=3 all already-ingested (drain: 0 actionable), curiosity=2830 pending (hle_failure×409 dominant — HLE babysitter paused by sentinel, not actionable).
|
|
26
|
+
- Action this tick: no action — system healthy. All queued patterns already addressed. Curiosity top items are HLE failures (babysitter paused). Retrieval drain ran, 0 ingested.
|
|
27
|
+
|
|
28
|
+
## 2026-05-18 23:00 UTC tick
|
|
29
|
+
- Stress: PID 3006519, 1h28m elapsed, at idx=167/1658 in new cycle (current section: multimedia general-knowledge prompts, 0 writes expected — normal).
|
|
30
|
+
- Write rate: ~62% (prior full cycle, 1026/1658 accepted).
|
|
31
|
+
- Admiral last 30 min: thinking_stall fired and resolved "unstuck" at 22:49 UTC — inline retry handler working. No new patterns.
|
|
32
|
+
- vLLM 400s: 0. llamacpp-gemma4 Q3_K_M on :8000 healthy. Balancer :8001 healthy.
|
|
33
|
+
- GH issues: 0 open.
|
|
34
|
+
- Dispatch queue: harness=12 (thinking_stall×9 — handled by inline retry; bash_generic×3 — addressed by 83a2400), retrieval=0 actionable, curiosity=2783 pending (all hle_failure; HLE babysitter paused by sentinel — not actionable).
|
|
35
|
+
- Action this tick: retrieval drain ran (0 actionable). No code changes — system healthy, all queued patterns addressed by v2.8.59/v2.8.60.
|
|
36
|
+
|
|
37
|
+
## 2026-05-18 22:00 UTC tick
|
|
38
|
+
- Stress: Previous full cycle completed 1026/1658 done, 3 skip, 0 timeout, 1 recycle. New cycle PID 3006519 running 28min, idx=50/1658, 49 done, 0 skip — healthy start.
|
|
39
|
+
- Write rate: ~62% (prior cycle).
|
|
40
|
+
- Admiral last 30 min: autonomous_review started 22:00 UTC (exit=0 at 21:32).
|
|
41
|
+
- vLLM 400s: 0. llamacpp-gemma4 Q3_K_M healthy (Up 2 days). Balancer :8001 forwarding.
|
|
42
|
+
- GH issues: 0 open.
|
|
43
|
+
- Dispatch queue: harness=11 (thinking_stall×8 — handled by inline retry, low SKIP confirms recovery; bash_generic×3 — already addressed by 83a2400/v2.8.59), retrieval=0 actionable, curiosity=2771 pending (409 hle_failure; HLE babysitter paused by sentinel).
|
|
44
|
+
- Action this tick: no code changes — all queued patterns addressed, stress healthy, services up.
|
|
45
|
+
|
|
46
|
+
## 2026-05-18 21:31 UTC tick
|
|
47
|
+
- Stress: Previous cycle COMPLETE (1658/1658, done=1026, skip=3, recycle=1, 61.9% write rate). Fresh cycle started — PID 3006519, log /tmp/stress_2000_v10_restart_1779139920.log.
|
|
48
|
+
- Write rate: N/A (new cycle just launched).
|
|
49
|
+
- Admiral last 30 min: previous autonomous_review tick (21:00 UTC) confirmed 4× struggle interventions working as designed.
|
|
50
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M on :8000 healthy; balancer :8001 healthy).
|
|
51
|
+
- GH issues: 0 open.
|
|
52
|
+
- Dispatch queue: harness=6 (thinking_stall×3 resolved, bash_generic×3 addressed by v2.8.59), retrieval=3 (0 actionable), curiosity=2759 pending (mostly hle_failure; HLE babysitter paused by sentinel).
|
|
53
|
+
- Action this tick: started fresh 1658-prompt stress cycle (prior cycle fully completed). No code changes — system healthy, all queued patterns already addressed.
|
|
54
|
+
|
|
55
|
+
## 2026-05-18 21:00 UTC tick
|
|
56
|
+
- Stress: COMPLETE — confirmed dead (PID 2666472, alive=0, idx=1658/1658, done=1026, skip=3, timeout=0, recycle=1). Babysitter sent Telegram notification at 21:00 UTC. No restart queued — run finished naturally.
|
|
57
|
+
- Write rate: 61.9% (1026/1658 accepted).
|
|
58
|
+
- Admiral last 30 min: 0 new fires (dispatch shows thinking_stall resolved as "unstuck" at 19:39 UTC — existing nudge code working).
|
|
59
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M on :8000 healthy; balancer :8001 healthy).
|
|
60
|
+
- GH issues: 0 open.
|
|
61
|
+
- Dispatch queue: harness=6 (thinking_stall×3 resolved, bash_generic×3 addressed by 83a2400 in v2.8.59), retrieval=3 entries (0 actionable, all recently ingested), curiosity=3 pending (hle_failure×2 + evidence_conflict×1; HLE babysitter paused by sentinel — not actionable).
|
|
62
|
+
- Action this tick: no action — healthy. Stress run complete. All queued patterns addressed by v2.8.59/v2.8.60 commits. Retrieval drain ran (0 actionable). Curiosity HLE failures require babysitter sentinel lift (operator decision on return).
|
|
63
|
+
|
|
64
|
+
## 2026-05-18 20:30 UTC tick
|
|
65
|
+
- Stress: COMPLETE — 1658/1658 finished at 15:19 UTC (elapsed 65297s/1088m). Accepted=1026, skipped=3, timeout=0. Write rate ~62% (1026/1658). PID 2666472 exited cleanly; babysitter will restart a fresh cycle on next hourly tick.
|
|
66
|
+
- Admiral last 30 min: struggle:none nudge fires at 20-41 calls without write (stress end-of-run sessions doing heavy reads); interventions eventually effective (model unstuck at 19:35 after 4 escalating nudges including force_stop at 38-41 calls). Empty_after_tool:read_file resolved at 19:39. Normal behavior.
|
|
67
|
+
- vLLM 400s: 2 context-overflow 400s in last 30 min (32K token limit, handled by emergency compaction path; balancer error-body fix 79971a9 in place).
|
|
68
|
+
- GH issues: 0 open.
|
|
69
|
+
- Dispatch queue: harness=1315 total (6 new in 24h: thinking_stall×3 resolved, bash_generic×3 from 2026-05-17 addressed by 83a2400); retrieval=3 entries, 0 actionable (all ingested); curiosity=2759 pending (hle_failure dominant, HLE babysitter paused; evidence_conflict×6 are stress-test artifact false-positives from cross-session file references).
|
|
70
|
+
- Action this tick: no code changes — stress run complete, system healthy, no actionable dispatch patterns.
|
|
71
|
+
|
|
72
|
+
## 2026-05-18 20:00 UTC tick
|
|
73
|
+
- Stress: 1639/1658 (PID 2666472, 17h50m uptime) — near completion, cycling final "Integrate:" prompts without anomalies.
|
|
74
|
+
- Write rate: n/a (short integration prompts completing in <20 min each, no SKIP flags observed).
|
|
75
|
+
- Admiral last 30 min: 2 thinking_stall fires (empty_after_tool:read_file), both "unstuck" — nudge code effective.
|
|
76
|
+
- vLLM 400s/500s: 24 error-keyword lines in last 30 min: mix of context-overflow 400s (33-34K tokens vs 32K limit) and JSON-truncation 500s (tool call args too large). Both paths handled by recovery at agent_loop.py:1143–1262 (balancer error-body fix 79971a9 landed, so "missing closing quote" detection now reachable).
|
|
77
|
+
- GH issues: 0 open.
|
|
78
|
+
- Dispatch queue: harness=6 in 24h (thinking_stall×3 + bash_generic×3, all addressed by 83a2400/4b095b1 in v2.8.59–60); retrieval=3 entries, all recently ingested (drain: 0 actionable); curiosity=2757 pending (hle_failure×409 dominant, HLE babysitter paused; 6 evidence_conflict items are stress-test reset artifacts — model references prior-session files after directory wipe, not a code bug).
|
|
79
|
+
- Action this tick: no code changes — system healthy, stress run almost complete.
|
|
80
|
+
|
|
81
|
+
## 2026-05-18 19:30 UTC tick
|
|
82
|
+
- Stress: ~1573/1658 (PID 2666472, 17h22m uptime, 853 CPU-min consumed), still cycling on tool_agent prompts.
|
|
83
|
+
- Write rate: n/a (short "Integrate:" prompts completing normally, no anomalies).
|
|
84
|
+
- Admiral last 30 min: 2 thinking_stall fires (empty_after_tool:read_file) — already handled by stall-nudge code at agent_loop.py:1490.
|
|
85
|
+
- vLLM 400s: 27 log lines with "error" in last 30 min (benign mix of normal log noise + minor parse issues; recovery code in place).
|
|
86
|
+
- GH issues: 0 open.
|
|
87
|
+
- Dispatch queue: harness=5 in 24h (thinking_stall×2 informational + bash_generic×3, all addressed by 83a2400 in v2.8.59); retrieval=3 entries, all recently ingested (drain: 0 actionable); curiosity=2757 pending (hle_failure×409 dominant, HLE babysitter paused by sentinel — top 3 items are hard-math no-FINAL-ANSWER cases, not actionable this tick).
|
|
88
|
+
- Action this tick: no action — system healthy. All dispatch patterns already fixed. Retrieval drain: 0 actionable. Autonomous_review tick running concurrently (started 19:30:01).
|
|
89
|
+
|
|
90
|
+
## 2026-05-18 19:00 UTC tick
|
|
91
|
+
- Stress: ~1555+/1658 (PID 2666472, 16h50m uptime). Sessions completing every 12-20 min; most recent session started 18:56 UTC with 20 messages in flight.
|
|
92
|
+
- Write rate: normal (sessions cycling regularly, no stalls observed).
|
|
93
|
+
- Admiral last 30 min: 0 new fires. 39 errors logged by llamacpp-gemma4 in last 30 min — all JSON parse failures ("Failed to parse tool call arguments") and one context overflow (33771 > 32768 tokens). Both covered by existing recovery code at agent_loop.py:1172 (500 + bad_call_indicators path).
|
|
94
|
+
- vLLM 400s: 0 (llamacpp-native 500s only, handled). Model: Q3_K_M on :8000. Balancer: :8001 up.
|
|
95
|
+
- GH issues: 0 open.
|
|
96
|
+
- Dispatch queue: harness=3 (bash_generic×3, addressed by 83a2400 in v2.8.59); retrieval=3, 0 actionable (all recently ingested); steering queue absent; curiosity=2755 pending (hle_failure×409, unknown_term×2340 — HLE babysitter paused by sentinel, curiosity items not actionable this tick).
|
|
97
|
+
- Action this tick: no code changes — system healthy. All queued patterns addressed. Retrieval drain: 0 new ingestions. Curiosity: 2755 pending, no actionable item (top 3 are hle_failure suggesting force-FINAL-ANSWER, but rule already in gemma4.md line 5; HLE eval is paused).
|
|
98
|
+
|
|
99
|
+
## 2026-05-18 17:30 UTC tick
|
|
100
|
+
- Stress: idx=1495/1658 (PID 2666472, ~15.5h uptime). Babysitter at 17:00 UTC: done=822, skip=3, timeout=0, recycle=1. 94 prompts processed in last hour = 100% write rate. On track to complete ~19:00 UTC.
|
|
101
|
+
- Write rate: 100% (94 done / 94 attempts in 17:00–17:00 window; 0 skips in last hour).
|
|
102
|
+
- Admiral last 30 min: 0 new fires. Previous ticks confirm struggle detector + force_stop propagation (4b095b1) functioning.
|
|
103
|
+
- vLLM 400s: 0. llamacpp-gemma4 Q3_K_M on :8000 healthy; balancer :8001 pid=2842264 healthy.
|
|
104
|
+
- GH issues: 0 open.
|
|
105
|
+
- Dispatch queue: harness=7 total in 24h (thinking_stall×4 + bash_generic×3, all addressed by 83a2400/4b095b1 shipped in v2.8.59); retrieval=3 total, 0 actionable (all already ingested); curiosity=2746 pending (hle_failure×409 dominant, HLE babysitter paused by sentinel).
|
|
106
|
+
- Action this tick: no action — system healthy. All queued patterns addressed by recent commits. Retrieval drain: 0 actionable entries. Curiosity queue: HLE items not actionable (babysitter paused per sentinel).
|
|
107
|
+
|
|
3
108
|
## 2026-05-18 16:30 UTC tick
|
|
4
109
|
- Stress: idx=1420+/1658 (PID 2666472, ~14.5h uptime) — healthy and progressing fast (~11 steps/min on Perf: prompts).
|
|
5
110
|
- Write rate: 0 writes on Perf: prompt category (model giving text advice, not editing). 0 writes is expected for advisory prompts; force_stop at 30 tool calls handles any read-only loops.
|
|
@@ -7897,3 +8002,38 @@ restarted, cron self-match bug fixed in this same session).
|
|
|
7897
8002
|
- GH issues: 0 open.
|
|
7898
8003
|
- Dispatch queue: harness=7 (thinking_stall×4 informational, bash_generic×3 all addressed by 83a2400+4b095b1 in last 24h), retrieval=0 actionable, curiosity=3 pending (hle_failure×2 + unknown_term×1; HLE babysitter paused by sentinel — not actionable).
|
|
7899
8004
|
- Action this tick: no action — all queued patterns addressed by commits already shipped in v2.8.59. System healthy.
|
|
8005
|
+
|
|
8006
|
+
## 2026-05-18 17:00 UTC tick
|
|
8007
|
+
- Stress: PID 2666472, 14h50m uptime, running stress_shakedown on 403_tool_agent (--resume-from-step 629).
|
|
8008
|
+
- Write rate: n/a.
|
|
8009
|
+
- Admiral last 30 min: 0 new fires.
|
|
8010
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M on :8000; balancer :8001 pid=2842264 healthy).
|
|
8011
|
+
- GH issues: 0 open.
|
|
8012
|
+
- Dispatch queue: harness=7 in 24h (all addressed by 83a2400/4b095b1 in v2.8.59); retrieval=0 actionable; curiosity=2745 pending (hle_failure×409 dominant, HLE babysitter paused by sentinel — not actionable).
|
|
8013
|
+
- Action this tick: no action — system healthy. Previous tick (16:30 autonomous_review) confirmed same. Retrieval drain: 0 actionable entries.
|
|
8014
|
+
|
|
8015
|
+
## 2026-05-18 18:00 UTC tick
|
|
8016
|
+
- Stress: idx=1522/1658 (91.8%), PID 2666472 running 15h49m, 3 SKIPs in 893 prompts (0.34% rate), healthy.
|
|
8017
|
+
- Write rate: n/a (TUI log tracking; current batch "Integrate:" prompts completing in 1 msg, +0 writes — expected).
|
|
8018
|
+
- Admiral last 30 min: 0 new fires (harness patterns from 17:18 UTC already resolved by force_stop propagation).
|
|
8019
|
+
- vLLM 400s: 1 (llamacpp-gemma4 Q3_K_M on :8000; balancer :8001 healthy).
|
|
8020
|
+
- GH issues: 0 open.
|
|
8021
|
+
- Dispatch queue: harness=7 (thinking_stall informational, bash_generic addressed by 83a2400 in v2.8.59), retrieval=3 entries all already-ingested (drain: 0 actionable), curiosity=2749 pending (hle_failure×409 + unknown_term×2334; HLE babysitter paused by sentinel — not actionable this tick).
|
|
8022
|
+
- Action this tick: no action — system healthy. Stress run on track to complete within 1-2h. All dispatch patterns already fixed in v2.8.59/v2.8.60. Retrieved drain ran, 0 actionable. Curiosity top items are hard-math HLE timeouts requiring human review of babysitter sentinel.
|
|
8023
|
+
|
|
8024
|
+
## 2026-05-18 18:30 UTC tick
|
|
8025
|
+
- Stress: idx=1548/1658 (93.4%), PID 2666472 running 16h19m, 3 SKIPs + 1 FORCE-RESET total in run, healthy pace on "Integrate:" prompts.
|
|
8026
|
+
- Write rate: n/a (short "Integrate:" prompts completing in 1-17 msgs, +0-3 writes each — expected).
|
|
8027
|
+
- Admiral last 30 min: 0 new fires.
|
|
8028
|
+
- vLLM 400s: 3 benign log entries (llamacpp-gemma4 Q3_K_M on :8000; balancer :8001 healthy).
|
|
8029
|
+
- GH issues: 0 open.
|
|
8030
|
+
- Dispatch queue: harness=4 in 24h (thinking_stall×1 informational + bash_generic×3 all addressed by 83a2400 in v2.8.59), retrieval=0 actionable, curiosity=2750 pending (hle_failure×409 + unknown_term×2335; HLE babysitter paused by sentinel — top 3 items are hard-math no-FINAL-ANSWER cases, not actionable without babysitter).
|
|
8031
|
+
- Action this tick: no action — system healthy. Stress run on track to complete within ~1h. All dispatch patterns fixed in v2.8.59/v2.8.60. Retrieval drain: 0 actionable.
|
|
8032
|
+
|
|
8033
|
+
## 2026-05-18 22:30 UTC tick
|
|
8034
|
+
- Stress: PID 3006519 alive (~59 min), ~8 sessions since restart, write rate ~62% (5/8 with write_file)
|
|
8035
|
+
- Admiral last 30 min: 5 thinking_stall fires at 21:50 UTC (handled by inline retry — expected), 0 bash_generic new
|
|
8036
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Up 2 days, healthy)
|
|
8037
|
+
- GH issues: 0 open
|
|
8038
|
+
- Dispatch queue: harness=8 thinking_stall + 3 bash_generic (stale, 2026-05-03 evidence; addressed by 83a2400), retrieval=0 actionable, curiosity=2783 pending (top 3 are hle_failure — HLE ban applies, no action)
|
|
8039
|
+
- Action this tick: no action — healthy. Thinking_stall signals are operational noise (inline retry handles them). Bash_generic evidence predates the 83a2400 FORCE_STOP fix. Retrieval drain: 0 ingested.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2928182
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|