drydock-cli 2.8.58__tar.gz → 2.8.60__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.60/.auto_release.lock +1 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/PKG-INFO +1 -1
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/detectors.py +4 -2
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/interventions.py +6 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/worker.py +1 -1
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/agent_loop.py +12 -1
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/mcp_resources.py +7 -3
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/pyproject.toml +1 -1
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/llm_balancer.py +39 -3
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_shakedown.py +8 -1
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/trip_log.md +342 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/uv.lock +1 -1
- drydock_cli-2.8.58/.auto_release.lock +0 -1
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.drydock/graphrag.sqlite +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/CODEOWNERS +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/workflows/build-and-upload.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/workflows/ci.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/workflows/issue-labeler.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.github/workflows/release.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.gitignore +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.pause_hle_babysitter +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.pause_hle_burndown +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.pause_hle_burndown_keepalive +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.pre-commit-config.yaml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.python-version +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.typos.toml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.vscode/extensions.json +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.vscode/launch.json +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/.vscode/settings.json +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/AGENTS.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/Admiral.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/CHANGELOG.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/CLAUDE.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/CONTRIBUTING.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/DEEP_NOIR_PRD.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/DEPLOYMENT.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/DRYDOCK.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/HLE_PRD.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/JETSON_BENCH.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/LICENSE +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/MODEL_SHORTCOMINGS.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/NOTICE +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/README.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/SOVEREIGN_PRD.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/TRIAGE_v1.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/action.yml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/README.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results1.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results13.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results14.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results15.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results16.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results17.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results18.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results19.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results2.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results20.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results3.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results4.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results5.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results6.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results7.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results8.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results9.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/baseline_history/results_evolved_v1.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/distribution/zed/LICENSE +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/distribution/zed/extension.toml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/distribution/zed/icons/mistral_vibe.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/README.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/acp-setup.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/BASELINE_412.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/Drydock_rebrand.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/PRD.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/drydock_terms.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/archive/resume.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/docs/proxy-setup.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/__main__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/acp_agent_loop.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/acp_logger.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/entrypoint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/base.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/tools/session_update.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/acp/utils.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/detectors_proposed.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/history.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/llm_analyzer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/metrics.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/opus_escalator.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/persistence.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/policy.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/proposer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/stager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/task_classifier.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/tuning.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/admiral/validator.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/autocompletion/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/autocompletion/base.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/autocompletion/path_completion.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/autocompletion/slash_command.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/cli.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/clipboard.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/commands.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/entrypoint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/fix_windows_path.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/history_manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/terminal_setup.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/app.tcss +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/external_editor.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/compact.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/loading.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/messages.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/tools.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/windowing/history.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/textual_ui/windowing/state.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/update.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/cli/update_notifier/whats_new.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/agents/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/agents/manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/agents/models.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/auth/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/auth/crypto.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/auth/github.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/auto_solve.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/completers.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/file_indexer/store.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/fuzzy.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/path_prompt.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/build_orchestrator.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/checkpoint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/classifier/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/classifier/__main__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/classifier/classifier.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/classifier/dispatcher.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/classifier/rules.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/classifier/signal.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/_dotenv.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/_settings.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/doctor.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/harness_files/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/harness_files/_harness_manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/harness_files/_paths.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/local_detect.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/config/migrate.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/constraint_extract.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/constraint_hint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/consultant.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/context_recovery.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/drydock_states.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/goal.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/hooks.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/backend/anthropic.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/backend/base.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/backend/factory.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/backend/generic.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/backend/mistral.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/backend/vertex.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/exceptions.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/format.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/message_utils.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/llm/types.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/logger.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/middleware.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/output_formatters.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/paths/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/paths/_drydock_home.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/paths/_local_config_walk.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/paths/conventions.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/plan_session.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/plugins.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/programmatic.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/builder.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/cli.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/compact.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/dangerous_directory.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/diagnostic.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/explore.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/gemma4.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/planner.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/project_context.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/prompts/tests.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/proxy_setup.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/session/agent_memory.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/session/checkpoints.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/session/session_loader.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/session/session_logger.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/session/session_migration.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/session/state_file.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/session_checker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/skills/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/skills/manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/skills/models.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/skills/parser.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/slug.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/steering_hook.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/system_prompt.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/telemetry/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/telemetry/send.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/teleport/errors.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/teleport/git.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/teleport/nuage.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/teleport/teleport.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/teleport/types.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/base.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/_task_manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/algebra_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/ask_user_question.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/bash.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/chemistry_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/count_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/cron.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/glob_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/grep.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/invoke_skill.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/logic_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/lsp.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/math_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/memory_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/notebook_edit.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/number_theory_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/powershell.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prolog_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/bash.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/cron.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/glob.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/grep.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/task.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/todo.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/read_file.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/retrieve.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/search_replace.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/set_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/solve_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/stats_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/task.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/todo.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/tool_search.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/units_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/verify_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/webfetch.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/websearch.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/worktree.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/builtins/write_file.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/injection_guard.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/mcp/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/mcp/registry.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/mcp/tools.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/mcp_sampling.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/ui.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/tools/utils.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/trusted_folders.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/types.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/core/utils.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/curiosity/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/curiosity/__main__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/curiosity/gap_detector.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/curiosity/item.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/curiosity/queue.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/curiosity/surprise.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/graphrag/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/graphrag/__main__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/graphrag/code_indexer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/graphrag/retriever.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/graphrag/storage.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/graphrag/text_indexer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/base.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/onboarding.tcss +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/screens/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/screens/api_key.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/screens/choice.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/screens/local_model.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/onboarding/screens/welcome.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/api-design/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/audit-tests/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/batch/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/commit-code/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/constraint-reasoning/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/context-summary/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/create-presentation/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/deep-research/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/deploy/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/diff-review/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/doc-gen/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/explain-code/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/explore-code/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/fix-issue/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/git-ops/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/init-project/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/investigate/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/logic/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/logic/assets/cheat_sheet_full.txt +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/loop/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/migrate/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/perf-analyze/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/plan-impl/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/pr-review/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/prove/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/refactor/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/regex-help/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/review/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/security-review/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/ship/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/simplify/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/strong-tests/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/skills/test-verify/SKILL.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/__main__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/applier.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/config.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/registry.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/sandbox.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/sidecar/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/sidecar/header_parser.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/sidecar/hooks.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/sidecar/loader.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/sidecar/server.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/train/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/train/capture.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/train/compute_vector.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/train/extract_pairs.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/train/scan_sessions.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/steering/vectors.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock/whats_new.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/drydock-acp.spec +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/flake.lock +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/flake.nix +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/outlook_draft_assistant.tar.gz +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/README.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/config_base.toml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/config_best.toml +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/deep_noir/pairs/empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/deep_noir/pairs/scan_empty_after_bash.jsonl +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/domain_spec.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/experimenter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/kernel.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/mini_prd.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/mini_prompts.txt +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/proposer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/research/results.tsv +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/resume.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/README.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/_archived_eval_harness/README.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/_archived_eval_harness/auto_solve_audit.py.deprecated +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/_archived_eval_harness/hle_babysitter.sh.deprecated +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/_archived_eval_harness/hle_burndown.sh.deprecated +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/_archived_eval_harness/hle_burndown_keepalive.sh.deprecated +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/_archived_eval_harness/hle_burndown_status.py.deprecated +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/_archived_eval_harness/hle_eval.py.deprecated +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/admiral_probe.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/archive/auto_test_loop.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/archive/monitor_test_battery.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/archive/overnight_agents_test.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/archive/test_bank.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/archive/test_full.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/archive/test_smoke.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/archive/tui_test.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/audit_sampler.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/auto_generate_tests.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/auto_release.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/autonomous_review.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/autonomous_review_prompt.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/backfill_hle_curiosity.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/backup.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/bench_inference.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/bump_version.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/classify_pulse.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/consume_retrieval_queue.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/curiosity_idle_cycle.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/dedupe_dispatch_queues.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/deploy_to_github.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/dispatch_report.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/drydock_status.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/fetch_arxiv_abstracts.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/gen_2000_prompts.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/hle_aggregate.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/hle_eval_seed.jsonl +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/notify_release.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/perf_baseline_when_idle.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/perf_sweep.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/poll_issues.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/publish_to_pypi.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/queue_top.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/ralph_loop.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/rejudge_hle.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/research_babysitter.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/shakedown.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/shakedown_interactive.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/shakedown_suite.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/shakedown_variance.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/start_steering_sidecar.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_babysitter.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_prompts_50.txt +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_prompts_realuser.txt +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_prompts_tool_agent.txt +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_telegram_status.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/stress_watcher.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/telegram_bot.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/tool_usage_report.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/scripts/vllm_failover.sh +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/conftest.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_acp.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_agent_thought.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_bash.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_compact_session_updates.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_content.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_initialize.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_list_sessions.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_load_session.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_multi_session.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_new_session.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_proxy_setup_acp.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_read_file.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_search_replace.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_set_config_option.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_set_mode.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_set_model.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_tool_call_session_update.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_utils.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/acp/test_write_file.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_file_indexer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_fuzzy.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_path_completer_recursive.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_path_completion_controller.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_slash_command_controller.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/data/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/data/fireworks.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/data/mistral.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/test_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/test_backend.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/test_generic_adapter_sanitize.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/test_reasoning_adapter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_bell_notifications.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_braille_renderer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_clipboard.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_commands.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_copy_shortcuts.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_external_editor.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_no_markup_static.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_question_app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_spinner.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_switching_mode.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_ui_clipboard_notifications.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_ui_session_resume.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/test_ui_skill_dispatch.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/textual_ui/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/cli/textual_ui/test_session_picker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/conftest.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_agents.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_auth_crypto.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_auth_github.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_config_load_dotenv.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_config_paths.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_config_resolution.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_file_logging.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_plan_session.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_proxy_setup.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_slug.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_telemetry_send.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_teleport_git.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_teleport_nuage.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_teleport_service.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_trusted_folders.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/core/test_utils.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/e2e/common.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/e2e/conftest.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/e2e/mock_server.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/e2e/test_cli_tui_onboarding.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/e2e/test_cli_tui_streaming.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/fixtures/doc_qa_system_prd.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/mock/__init__.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/mock/mock_backend_factory.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/mock/mock_entrypoint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/mock/utils.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/onboarding/test_run_onboarding.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/onboarding/test_ui_onboarding.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/session/test_session_loader.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/session/test_session_logger.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/session/test_session_migration.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/skills/conftest.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/skills/test_manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/skills/test_models.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/skills/test_parser.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/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.58 → drydock_cli-2.8.60}/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.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/base_snapshot_test_app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/conftest.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/snap_compare.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/stubs/fake_backend.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/stubs/fake_client.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/stubs/fake_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_admiral.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_admiral_hallucinated_tool_filter.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_admiral_intervention_outcome.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_admiral_phase3.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_admiral_proposed.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_admiral_session_id.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_admiral_struggle_dedup.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_agent_auto_compact.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_agent_backend.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_agent_observer_streaming.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_agent_stats.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_agent_tasks.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_agent_tool_call.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_agents.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_algebra_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_api_error_recovery.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_approval_modal_stray_keys.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_auto_retrieve_soft_nudge.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_auto_solve.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_bank_build.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_bank_debug.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_bank_multiagent.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_bank_prd.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_bank_prd_extended.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_bank_tools.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_bank_update.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_build_projects.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_checkpoint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_chemistry_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_classifier.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_cli_programmatic_preload.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_config_migration.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_constraint_extract.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_constraint_hint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_context_recovery.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_count_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_curiosity.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_current_bugs.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_dispatch_report.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_dispatcher.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_drydock_regression.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_drydock_tasks.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_fake_tool_call_paren_syntax.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_full_regression.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_goal.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_graphrag.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_graphrag_worked_examples.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_hallucinated_tool_suppression.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_history_manager.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_hle_aggregate.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_hle_score_method_split.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_hle_typing.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_integration.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_issue_fixes.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_linear_algebra_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_local_detect.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_logic_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_loop_detection.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_math_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_mcp_settings.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_memory_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_message_id.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_message_merging.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_middleware.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_multi_agent.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_number_theory_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_prolog_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_read_file_not_found_listing.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_real_failures.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_real_issues.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_real_workflow.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_reasoning_content.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_rejudge_hle.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_retrieval_consumer.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_retrieve_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_search_replace_args_not_truncated.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_session_log_event.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_set_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_smoke.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_solve_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_stats_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_steering.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_steering_capture.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_steering_compute_vector.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_steering_extract_pairs.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_steering_hook.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_steering_sidecar_chat_inputs.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_steering_sidecar_hooks.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_system_prompt.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_tagged_text.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_task_complete_nudge.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_tool_args.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_truncate_args_valid_json.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_truncated_arg_path_hint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_truncated_search_replace_escalation.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_truncated_write_escalation.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_ui_external_editor.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_ui_input_history.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_units_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_user_issues.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_verify_tool.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_wall_of_text_rescue.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_workloads.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/test_write_file_missing_path.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/testbank_helpers.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_ask_user_question.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_binary_grep_hint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_consec_empty_search.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_error_loop_breaker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_exit_plan_mode.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_grep.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_invoke_context.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_manager_gemma_derived_models.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_manager_get_tool_config.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_mcp.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_mcp_sampling.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_read_file_dedup_reembed.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_read_file_directory.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_read_file_limit_truncation.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_append_fallback.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_dir_path.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_empty_content.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_file_not_found.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_hard_stop.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_malformed_block.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_placeholder.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_task.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_ui_bash_execution.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_webfetch.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_websearch.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/tools/test_write_file_missing_path_hint.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/test_do_update.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/test_github_update_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/test_ui_update_notification.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/test_update_use_case.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/tests/update_notifier/test_whats_new.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/worked_examples/README.md +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/worked_examples/cli_subcommand_dispatch.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/worked_examples/lookup.json +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/worked_examples/sql_parser.py +0 -0
- {drydock_cli-2.8.58 → drydock_cli-2.8.60}/worked_examples/tree_walking_interpreter.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
2928182
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drydock-cli
|
|
3
|
-
Version: 2.8.
|
|
3
|
+
Version: 2.8.60
|
|
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
|
|
@@ -19,6 +19,7 @@ WRITE_TOOLS: frozenset[str] = frozenset({"write_file", "search_replace", "edit_f
|
|
|
19
19
|
class Finding:
|
|
20
20
|
code: str # stable ID used for dedup, e.g. "loop:write_file:/p/x.py"
|
|
21
21
|
directive: str # text to inject into the conversation
|
|
22
|
+
force_stop: bool = False # True → interventions.apply also sets FORCE_STOP on the loop
|
|
22
23
|
|
|
23
24
|
|
|
24
25
|
def _tool_sig(tc) -> str: # ToolCall — keep loose to avoid circular import
|
|
@@ -90,7 +91,8 @@ def detect_struggle(messages: Sequence[LLMMessage], threshold: int = 20) -> Find
|
|
|
90
91
|
# Previously included the count, which caused 33 identical interventions
|
|
91
92
|
# in a single session (each with a unique key that bypassed dedup).
|
|
92
93
|
code = f"struggle:{last_write_tool or 'none'}"
|
|
93
|
-
|
|
94
|
+
severe = calls_since_write >= 30
|
|
95
|
+
if severe:
|
|
94
96
|
if last_write_tool is None:
|
|
95
97
|
directive = (
|
|
96
98
|
f"Admiral: you have made {calls_since_write} tool calls without "
|
|
@@ -115,7 +117,7 @@ def detect_struggle(messages: Sequence[LLMMessage], threshold: int = 20) -> Find
|
|
|
115
117
|
f"Admiral: you have made {calls_since_write} tool calls without "
|
|
116
118
|
f"writing or editing any file. {hint}"
|
|
117
119
|
)
|
|
118
|
-
return Finding(code=code, directive=directive)
|
|
120
|
+
return Finding(code=code, directive=directive, force_stop=severe)
|
|
119
121
|
|
|
120
122
|
|
|
121
123
|
def run_all(messages: Sequence[LLMMessage]) -> list[Finding]:
|
|
@@ -19,3 +19,9 @@ def apply(agent_loop: AgentLoop, finding: Finding) -> None:
|
|
|
19
19
|
"""Inject the finding's directive into the live conversation."""
|
|
20
20
|
agent_loop._inject_system_note(finding.directive)
|
|
21
21
|
history.append("intervention", f"{finding.code} :: {finding.directive[:160]}")
|
|
22
|
+
if finding.force_stop:
|
|
23
|
+
# Severe struggle (≥30 read-only calls) — advisory alone doesn't break
|
|
24
|
+
# the loop. Set FORCE_STOP so the next LLM call uses tool_choice=none,
|
|
25
|
+
# forcing the model to emit text rather than keep exploring.
|
|
26
|
+
agent_loop._loop_detected = True
|
|
27
|
+
agent_loop._loop_signal = "FORCE_STOP"
|
|
@@ -160,7 +160,7 @@ class AdmiralWorker:
|
|
|
160
160
|
"directive-source",
|
|
161
161
|
f"{finding.code} :: source={source}",
|
|
162
162
|
)
|
|
163
|
-
finding_with_text = type(finding)(code=finding.code, directive=directive)
|
|
163
|
+
finding_with_text = type(finding)(code=finding.code, directive=directive, force_stop=finding.force_stop)
|
|
164
164
|
interventions.apply(self.agent_loop, finding_with_text)
|
|
165
165
|
|
|
166
166
|
# Watch for re-fires within the fail window to classify this
|
|
@@ -1143,9 +1143,11 @@ class AgentLoop:
|
|
|
1143
1143
|
elif ("context length" in error_str.lower()
|
|
1144
1144
|
or "maximum context" in error_str.lower()
|
|
1145
1145
|
or "400 bad request" in error_str.lower()
|
|
1146
|
+
or "400: bad request" in error_str.lower()
|
|
1146
1147
|
or "status: 400" in error_str.lower()
|
|
1147
1148
|
or "exceeds the available context" in error_str.lower()
|
|
1148
1149
|
or "error code: 400" in error_str.lower()
|
|
1150
|
+
or "both backends failed" in error_str.lower()
|
|
1149
1151
|
or "500 internal server error" in error_str.lower()
|
|
1150
1152
|
or "status: 500" in error_str.lower()
|
|
1151
1153
|
or "error code: 500" in error_str.lower()
|
|
@@ -3374,7 +3376,8 @@ class AgentLoop:
|
|
|
3374
3376
|
'total_count: 0', 'retrieved 0 todos',
|
|
3375
3377
|
'no todos', '0 tasks', 'no tasks',
|
|
3376
3378
|
'no results', 'no matches', '0 matches',
|
|
3377
|
-
'no relevant information found'
|
|
3379
|
+
'no relevant information found',
|
|
3380
|
+
'<tool_error>', 'tool_error'):
|
|
3378
3381
|
if p in s:
|
|
3379
3382
|
return True
|
|
3380
3383
|
return False
|
|
@@ -3498,6 +3501,14 @@ class AgentLoop:
|
|
|
3498
3501
|
len(sigs) >= REPEAT_WARNING_THRESHOLD
|
|
3499
3502
|
and all(s == sigs[-1] for s in sigs[-REPEAT_WARNING_THRESHOLD:])
|
|
3500
3503
|
):
|
|
3504
|
+
if last_tool in ("bash", "run_command"):
|
|
3505
|
+
# Bash identical-call loops (e.g. repeated import checks) are
|
|
3506
|
+
# never legitimate — escalate to FORCE_STOP (text-only for 1
|
|
3507
|
+
# turn) so the model must summarise instead of looping.
|
|
3508
|
+
# Temperature bump alone doesn't break these; the model needs
|
|
3509
|
+
# to be unable to call bash.
|
|
3510
|
+
self._hot_tool_path = None
|
|
3511
|
+
return "FORCE_STOP"
|
|
3501
3512
|
return f"WARNING|{last_tool}"
|
|
3502
3513
|
|
|
3503
3514
|
# Check 2: Same tool called N+ times consecutively with different args
|
|
@@ -152,7 +152,10 @@ class ReadMcpResource(
|
|
|
152
152
|
servers = config.mcp_servers or []
|
|
153
153
|
|
|
154
154
|
if not servers:
|
|
155
|
-
raise ToolError(
|
|
155
|
+
raise ToolError(
|
|
156
|
+
"No MCP servers configured. "
|
|
157
|
+
"For local files use read_file; for shell commands use bash."
|
|
158
|
+
)
|
|
156
159
|
|
|
157
160
|
from drydock.core.tools.mcp.tools import read_resource_http, read_resource_stdio
|
|
158
161
|
from drydock.core.config import MCPStdio, MCPHttp
|
|
@@ -188,7 +191,8 @@ class ReadMcpResource(
|
|
|
188
191
|
last_error = e
|
|
189
192
|
continue
|
|
190
193
|
|
|
194
|
+
hint = " Use read_file for local paths instead." if args.uri.startswith("file://") else ""
|
|
191
195
|
raise ToolError(
|
|
192
|
-
f"Could not read resource '{args.uri}' from any MCP server. "
|
|
193
|
-
f"Last error: {last_error}"
|
|
196
|
+
f"Could not read resource '{args.uri}' from any configured MCP server. "
|
|
197
|
+
f"Last error: {last_error}.{hint}"
|
|
194
198
|
)
|
|
@@ -22,6 +22,7 @@ import http.server
|
|
|
22
22
|
import socket
|
|
23
23
|
import sys
|
|
24
24
|
import threading
|
|
25
|
+
import urllib.error
|
|
25
26
|
import urllib.request
|
|
26
27
|
|
|
27
28
|
BACKENDS = [
|
|
@@ -86,12 +87,34 @@ class ProxyHandler(http.server.BaseHTTPRequestHandler):
|
|
|
86
87
|
return
|
|
87
88
|
except _CLIENT_DROP_ERRORS:
|
|
88
89
|
return # client gave up, no need to failover
|
|
90
|
+
except urllib.error.HTTPError as http_err:
|
|
91
|
+
# Backend returned a valid HTTP error (4xx/5xx). Forward the
|
|
92
|
+
# original response body so drydock can parse the detailed error
|
|
93
|
+
# message (e.g. "Failed to parse tool call arguments as JSON:
|
|
94
|
+
# missing closing quote"). Failovering to an identical backend
|
|
95
|
+
# would return the same error and strips the body, breaking
|
|
96
|
+
# drydock's bad-tool-call recovery.
|
|
97
|
+
try:
|
|
98
|
+
err_body = http_err.read()
|
|
99
|
+
self.send_response(http_err.code)
|
|
100
|
+
for key, val in http_err.headers.items():
|
|
101
|
+
if key.lower() not in ('transfer-encoding', 'connection'):
|
|
102
|
+
self.send_header(key, val)
|
|
103
|
+
self.end_headers()
|
|
104
|
+
self.wfile.write(err_body)
|
|
105
|
+
except _CLIENT_DROP_ERRORS:
|
|
106
|
+
pass
|
|
107
|
+
except Exception:
|
|
108
|
+
_safe_send_error(self, http_err.code, str(http_err))
|
|
109
|
+
return
|
|
89
110
|
except Exception as e:
|
|
90
111
|
primary_err = e
|
|
91
112
|
|
|
92
|
-
# Failover: try the next backend in rotation.
|
|
93
|
-
#
|
|
94
|
-
#
|
|
113
|
+
# Failover: try the next backend in rotation. Only reached for true
|
|
114
|
+
# network errors (connection refused, timeout) — not HTTP 4xx/5xx.
|
|
115
|
+
# (Was hardcoded to `1 - idx` which only works for 2-backend pools;
|
|
116
|
+
# with 3+ pool entries that became BACKENDS[-1] = same backend at
|
|
117
|
+
# idx 2 → loop.)
|
|
95
118
|
other = BACKENDS[(idx + 1) % len(BACKENDS)]
|
|
96
119
|
url = f"{other}{self.path}"
|
|
97
120
|
req = urllib.request.Request(url, data=body, method='POST')
|
|
@@ -105,6 +128,19 @@ class ProxyHandler(http.server.BaseHTTPRequestHandler):
|
|
|
105
128
|
self.send_header(key, val)
|
|
106
129
|
self.end_headers()
|
|
107
130
|
self.wfile.write(data)
|
|
131
|
+
except urllib.error.HTTPError as http_err2:
|
|
132
|
+
try:
|
|
133
|
+
err_body = http_err2.read()
|
|
134
|
+
self.send_response(http_err2.code)
|
|
135
|
+
for key, val in http_err2.headers.items():
|
|
136
|
+
if key.lower() not in ('transfer-encoding', 'connection'):
|
|
137
|
+
self.send_header(key, val)
|
|
138
|
+
self.end_headers()
|
|
139
|
+
self.wfile.write(err_body)
|
|
140
|
+
except _CLIENT_DROP_ERRORS:
|
|
141
|
+
pass
|
|
142
|
+
except Exception:
|
|
143
|
+
_safe_send_error(self, http_err2.code, str(http_err2))
|
|
108
144
|
except _CLIENT_DROP_ERRORS:
|
|
109
145
|
return
|
|
110
146
|
except Exception as e2:
|
|
@@ -268,7 +268,14 @@ def _env_float(name: str, default: float) -> float:
|
|
|
268
268
|
_ANSI_ESCAPE_RE = re.compile(r"\x1b\[[0-9;?]*[a-zA-Z]")
|
|
269
269
|
_RAW_MARKDOWN_PATTERNS = [
|
|
270
270
|
re.compile(r"\*\*\w[^*]{1,80}\*\*"), # **bold words**
|
|
271
|
-
|
|
271
|
+
# `^##\s+\w` — REQUIRE 2+ `#` for the heading pattern. The earlier
|
|
272
|
+
# `^#{1,6}` matched Python code comments like `# Instantiate GCS
|
|
273
|
+
# backend` inside code blocks the model emits, causing systematic
|
|
274
|
+
# false positives (raw_md=10+ on code-heavy prompts). Real markdown
|
|
275
|
+
# H1 is rare in conversational replies — the model uses **bold** or
|
|
276
|
+
# `## H2` for emphasis/sections — so requiring 2+ #s drops the
|
|
277
|
+
# false-positive rate without missing real leaks.
|
|
278
|
+
re.compile(r"(?m)^#{2,6}\s+\w"), # ##heading (2+ #s)
|
|
272
279
|
re.compile(r"\[[^\]]{1,40}\]\([^)]{1,80}\)"), # [link](url)
|
|
273
280
|
]
|
|
274
281
|
|
|
@@ -1,5 +1,283 @@
|
|
|
1
1
|
# Drydock Trip Log
|
|
2
2
|
|
|
3
|
+
## 2026-05-18 16:30 UTC tick
|
|
4
|
+
- Stress: idx=1420+/1658 (PID 2666472, ~14.5h uptime) — healthy and progressing fast (~11 steps/min on Perf: prompts).
|
|
5
|
+
- 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.
|
|
6
|
+
- Admiral last 30 min: struggle:none fired 4× (16:13, 16:14, 16:31, 16:32) all failed at 20-24 calls — working as designed; force_stop threshold is 30 (4b095b1).
|
|
7
|
+
- vLLM 400s: balancer logged transient 500/400 cascade at start of 16:30 autonomous_review tick (romulus backend down), recovered automatically — llamacpp-gemma4 Q3_K_M healthy on :8000, balancer :8001 running with 1 backend.
|
|
8
|
+
- GH issues: 0 open.
|
|
9
|
+
- Dispatch queue: harness=7 (thinking_stall×4 informational, bash_generic×3 addressed by 83a2400+4b095b1), retrieval=0 actionable (all ingested), curiosity=2745 pending (hle_failure+unknown_term dominant; HLE babysitter paused by sentinel).
|
|
10
|
+
- Action this tick: no code change. All queued patterns addressed by commits in v2.8.59. Balancer 500 cascade was transient/self-healed. System healthy.
|
|
11
|
+
|
|
12
|
+
## 2026-05-18 15:30 UTC tick
|
|
13
|
+
- Stress: PID 2666472, resumed-from-step 629, 13h+ uptime — healthy (tool_agent suite, active).
|
|
14
|
+
- Write rate: N/A (stress harness running; model at ~64 tok/s Q3).
|
|
15
|
+
- Admiral last 30 min: struggle:search_replace 3×advisory (20-25 calls, outcome "failed" — advisory only, FORCE_STOP wires at 30+); struggle:none 2×advisory, last outcome "unstuck" at 15:27 (4b095b1 FORCE_STOP wiring effective).
|
|
16
|
+
- vLLM 400s: 2 minor errors in llama.cpp container (non-fatal); balancer :8001 and model :8000 both up.
|
|
17
|
+
- GH issues: 0 open.
|
|
18
|
+
- Dispatch queue: harness=7 (thinking_stall×4 + bash_generic×3, all addressed by commits in v2.8.59); retrieval=0 actionable; curiosity=2745 pending (hle_failure+unknown_term dominant; HLE babysitter paused by sentinel). 5 evidence_conflict items inspected — session-level noise (model claimed completion before file existed), no discrete code fix warranted.
|
|
19
|
+
- Action this tick: no code change. All dispatch patterns addressed by v2.8.59 commits. FORCE_STOP wiring from 4b095b1 confirmed effective (struggle:none resolved "unstuck" at 15:27). System healthy.
|
|
20
|
+
|
|
21
|
+
## 2026-05-18 15:00 UTC tick
|
|
22
|
+
- Stress: 629+/2000 (resumed run), PID 2666472 uptime 12h49m, tool_agent suite actively writing storage backends; session logs show normal tool-call flow, no loops observed
|
|
23
|
+
- Write rate: ~64 tok/s (Q3 model)
|
|
24
|
+
- Admiral last 30 min: 0 new fires
|
|
25
|
+
- vLLM 400s: 1 minor error in last 30 min
|
|
26
|
+
- GH issues: 0 open
|
|
27
|
+
- Dispatch queue: harness=7 (4 thinking_stall last at 2026-05-17T18:40, 3 bash_generic last at 2026-05-17T23:50 — both patterns addressed by recent commits 83a2400/4b095b1 in v2.8.59), retrieval=0 actionable, curiosity=2744 pending (HLE paused, not actionable)
|
|
28
|
+
- Balancer: PID 2842264 correctly holds :8001, proxying to :8000
|
|
29
|
+
- Sentinels: HLE babysitter + burndown + vLLM failover + watchdog all paused (user-set, not touched)
|
|
30
|
+
- Action this tick: no fix needed — system healthy, all recent dispatch patterns addressed by v2.8.59 commits; retrieval drain ran (0 actionable); curiosity top-3 are HLE failures (HLE paused, skipped)
|
|
31
|
+
|
|
32
|
+
## 2026-05-18 14:30 UTC tick
|
|
33
|
+
- Stress: 1276+/1658, PID 2666472 (~12h); session at prompt 1276 actively writing tool_agent storage backends; last complete: done=757 skip=35 timeout=0 (skip rate 4.4%, down from 33% pre-May-17)
|
|
34
|
+
- Write rate: ~62 tok/s (model), session at 1276 shows raw_md=2 on "Perf: coalesce parallel reads" prompt — advisory, not a bug
|
|
35
|
+
- Admiral last 30 min: no interventions logged; empty_after_tool:bash at 18:11 UTC yesterday was resolved (unstuck)
|
|
36
|
+
- vLLM 400s: 0; model at 62 tok/s, no actual errors in llamacpp-gemma4 logs (55 grep hits were false positives from "update:" lines)
|
|
37
|
+
- GH issues: 0 open
|
|
38
|
+
- Dispatch queue: harness=7 pending (thinking_stall×4, bash_generic×3) — all historical, addressed by 83a2400/4b095b1; retrieval=0 actionable; curiosity=4 evidence_conflict pending (model false-claim patterns in storage-backend PRDs, not directly fixable with a code change) + 2744 pending mostly hle_failure (paused)
|
|
39
|
+
- Action this tick: no fix committed — system healthy, all patterns addressed, model/balancer running clean
|
|
40
|
+
|
|
41
|
+
## 2026-05-18 14:00 UTC tick
|
|
42
|
+
- Stress: 1263/1658 (76%), PID 2666472 (11h49m); done=630, skip=3, timeout=0, RSS=1640MB (dropped from 2954MB after session recycle)
|
|
43
|
+
- Write rate: not computed this tick (harness stdout not captured to accessible log after 09:01 UTC)
|
|
44
|
+
- Admiral last 30 min: 0 docker errors; 0 vLLM errors
|
|
45
|
+
- vLLM 400s: 0
|
|
46
|
+
- GH issues: 0 open
|
|
47
|
+
- Dispatch queue: harness=7 (thinking_stall×4 last seen 2026-05-17T18:40, bash_generic×3 last seen 2026-05-17T23:50 — both addressed by 83a2400 / 4b095b1); retrieval=0 actionable; curiosity top-3 all hle_failure (paused per .pause_hle_babysitter sentinel)
|
|
48
|
+
- Action this tick: no fix committed — system healthy. All active patterns addressed by recent commits. Balancer (PID 2842264) and model (Q3_K_M.gguf on :8000) confirmed healthy.
|
|
49
|
+
|
|
50
|
+
## 2026-05-18 13:30 UTC tick
|
|
51
|
+
- Stress: 1249/1658 (75%), PID 2666472 (running 16h+); 4 failures (3 SKIPs + 1 FORCE-RESET) out of 617 completed = 0.6% skip rate; current batch is Doc: prompts (1-message responses, fast throughput)
|
|
52
|
+
- Write rate: 29/617 prompts with writes (4.7% — deflated by Doc/discussion tasks with no expected file output)
|
|
53
|
+
- Admiral last 30 min: 0 docker errors; 0 vLLM 400s
|
|
54
|
+
- vLLM 400s: 0
|
|
55
|
+
- GH issues: 0 open
|
|
56
|
+
- Dispatch queue: harness=7 (thinking_stall×4 last seen 2026-05-17T18:40, bash_generic×3 last seen 2026-05-17T23:50 — both addressed by recent commits); retrieval=0 actionable (3 entries all recently ingested); curiosity=2742 pending (dominated by unknown_term + hle_failure; HLE paused per operator sentinel)
|
|
57
|
+
- Action this tick: no fix committed — system healthy. All harness patterns addressed. Retrieval drain: 0 new ingest. Curiosity top-3 all hle_failure (babysitter paused). Autonomous review log shows last two ticks also found nothing actionable; most recent fix was 79971a9 (balancer HTTP error forwarding) at 12:00 UTC.
|
|
58
|
+
|
|
59
|
+
## 2026-05-18 13:00 UTC tick
|
|
60
|
+
- Stress: 680/1658 (PID 2666472, running; last completed run: done=757 skip=35 timeout=0, write rate ~96%)
|
|
61
|
+
- Write rate: ~96% (from last complete run)
|
|
62
|
+
- Admiral last 30 min: 0 fires
|
|
63
|
+
- vLLM 400s: 0
|
|
64
|
+
- GH issues: 0 open
|
|
65
|
+
- Dispatch queue: harness=7 (2 patterns: thinking_stall informational, bash_generic addressed by 83a2400 in last 24h), retrieval=0 actionable, curiosity=2739 pending (HLE paused)
|
|
66
|
+
- Action this tick: no fix committed — system healthy. All harness dispatch patterns addressed by recent commits. Retrieval drain: 0 new ingest. Curiosity top-3 all hle_failure; HLE babysitter paused per operator sentinel.
|
|
67
|
+
|
|
68
|
+
## 2026-05-18 12:30 UTC tick
|
|
69
|
+
- Stress: 680/1658 (PID 2666472, 10h19m uptime, tool_agent prompts, ~3 SKIPs from API port-bind prompts resolved by FORCE-RESET)
|
|
70
|
+
- Write rate: N/A (log format does not report rate directly)
|
|
71
|
+
- Admiral last 30 min: 0 docker errors on llamacpp-gemma4; model on Q3_K_M.gguf; balancer healthy on :8001 (PID 2842259 from last tick fix)
|
|
72
|
+
- vLLM 400s: 0 in last 30m
|
|
73
|
+
- GH issues: 0 open
|
|
74
|
+
- Dispatch queue: harness=1312 total (7 in last 24h: thinking_stall×4=ongoing noise, bash_generic×3=addressed by 83a2400), retrieval=3 entries all recently ingested, curiosity=2737 pending (HLE paused per sentinels; top items are hle_failure, not actionable)
|
|
75
|
+
- Action this tick: no fix committed. System healthy. Recent commits (83a2400 bash_generic→FORCE_STOP, 4b095b1 admiral force_stop propagation, 79971a9 balancer HTTP error forwarding) are shipping well. Thinking_stall classifier still sees 4 events/24h but existing inline-retry fix is in place; rate is background noise, not an actionable regression. Retrieval drain ran: 0 new ingest (all 3 entries recently ingested). Curiosity top-3 all hle_failure; HLE is paused per operator directive.
|
|
76
|
+
|
|
77
|
+
## 2026-05-18 12:00 UTC tick
|
|
78
|
+
- Stress: 629+/~2000 (PID 2666472, 9h49m uptime, tool_agent prompts)
|
|
79
|
+
- Write rate: N/A
|
|
80
|
+
- Admiral last 30 min: llamacpp returning 500 "Failed to parse tool call arguments as JSON: missing closing quote" when search_replace args are too large — balancer was stripping the detailed error body, causing drydock's bad-tool-call recovery to miss it and loop on the same broken tool call
|
|
81
|
+
- vLLM 400s: 6+ context-overflow 400s; 17 JSON-parse 500s (all from large search_replace blocks)
|
|
82
|
+
- GH issues: 0 open
|
|
83
|
+
- Dispatch queue: harness=7 (thinking_stall×4=informational, bash_generic×3=addressed by 83a2400), retrieval=3 entries but 0 actionable, curiosity=2732 pending (HLE paused)
|
|
84
|
+
- Action this tick: committed fix(balancer): forward HTTP error responses instead of stripping body (79971a9). The balancer was catching urllib.error.HTTPError as a generic Exception, forwarding only "HTTP Error 500: Internal Server Error" in a 502 — stripping the JSON body with the actual error. Drydock's bad-tool-call drop never fired; same broken message was resent in a loop. Fix: catch HTTPError explicitly and forward original status+body. Balancer restarted (PID 2842259), verified forwarding on :8001.
|
|
85
|
+
|
|
86
|
+
## 2026-05-18 10:30 UTC tick
|
|
87
|
+
- Stress: 629+/~2000 (PID 2666472, 8h19m uptime, tool_agent prompts); sessions active (latest session_20260518_101002)
|
|
88
|
+
- Write rate: N/A (no report in logs this window)
|
|
89
|
+
- Admiral last 30 min: balancer returning 502 (both backends 400) from context overflow in stress sessions; recovery fix 64587fa already shipped
|
|
90
|
+
- vLLM 400s: 6 errors in last 30 min (context overflow, expected under load)
|
|
91
|
+
- GH issues: 0 open
|
|
92
|
+
- Dispatch queue: harness=7 (thinking_stall×4=informational+working, bash_generic×3=addressed by 83a2400 today), retrieval=0 actionable (all up-to-date), curiosity=2724 pending (HLE paused — not actioning)
|
|
93
|
+
- Action this tick: retrieval-drain: 0 actionable; no code committed — all active patterns addressed by v2.8.59 commits; harness:loop:bash_generic escalation fix (83a2400) shipped today covers the queued bash loop evidence; system healthy
|
|
94
|
+
|
|
95
|
+
## 2026-05-18 10:00 UTC tick
|
|
96
|
+
- Stress: 680/1658 (PID 2666472, 7h49m uptime); at session reset, WebSocket/SSE prompts
|
|
97
|
+
- Write rate: 62 writes / 620 accepted = 10% (cumulative; API-discussion prompts deflate this)
|
|
98
|
+
- Admiral last 30 min: empty_after_tool:bash nudge fired and unstuck (working)
|
|
99
|
+
- vLLM 400s: 69 in last 30 min — all "request exceeds available context size (32768 tokens)"; recovery catching them but not always reducing below 32K limit (emergency compact stops at `len > 20` guard, misses sessions already at 6 msgs). Fix needed: lower guard from 20 to 4, add last-2 fallback. Also: startup script should use `-c 65536` (16 GB VRAM free; current 32K too small for drydock preamble + tools). See lines 1214-1225 agent_loop.py.
|
|
100
|
+
- GH issues: 0 open
|
|
101
|
+
- Dispatch queue: harness=14, retrieval=3 (all consumed), curiosity=2720 pending (HLE eval banned — not actioning)
|
|
102
|
+
- Action this tick: investigated context overflow root cause; retrieval-drain: 0 projects ingested (all up-to-date); no code committed — budget exhausted mid-analysis. Fixes needed: (1) agent_loop.py line 1215 guard 20→4 + last-2 fallback, (2) start_gemma4_llamacpp.sh -c 32768→65536.
|
|
103
|
+
|
|
104
|
+
## 2026-05-18 09:30 UTC tick
|
|
105
|
+
- Stress: 1106/1658 (PID 2666472, 7h19m uptime, 0 skips/loops/FORCE_STOPs in log); running API rate-limiter prompts
|
|
106
|
+
- Write rate: N/A (test/API prompts in current batch)
|
|
107
|
+
- Admiral last 30 min: 0 fires (dispatch shows 7 harness signals in last 24h, all addressed by v2.8.59 commits)
|
|
108
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M on :8000; balancer :8001 healthy)
|
|
109
|
+
- GH issues: 0 open
|
|
110
|
+
- Dispatch queue: harness=7 (thinking_stall×4 + bash_generic×3, both addressed by 83a2400/1191431), retrieval=0 actionable, curiosity=311 pending (276 unknown_term + 31 hle_failure + 4 evidence_conflict; babysitter paused per sentinel)
|
|
111
|
+
- Action this tick: no fix committed — all active dispatch patterns addressed by recent commits; retrieval drain 0 actionable; curiosity top 3 are HLE failures (babysitter paused); system healthy
|
|
112
|
+
|
|
113
|
+
## 2026-05-18 08:30 UTC tick
|
|
114
|
+
- Stress: ~680/1658 (PID 2666472, 6h20m uptime); 55 skips/3 timeouts by step 675 (~8% skip rate); 3 consecutive SKIPs at 677-679 triggered FORCE-RESET, step 680 in progress. Log size 469MB suggests TUI busy with JSON-RPC/SSE prompts.
|
|
115
|
+
- Write rate: 62 total writes across 675 prompts (~9%)
|
|
116
|
+
- Admiral last 30 min: 0 new fires (last fire 2026-05-17T23:50, harness:loop:bash_generic, addressed by 83a2400)
|
|
117
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M on :8000, 44h uptime; balancer on :8001 healthy)
|
|
118
|
+
- GH issues: 0 open
|
|
119
|
+
- Dispatch queue: harness=7 (all addressed by v2.8.59 commits), retrieval=0 actionable, curiosity=2706 pending (dominated by unknown_term + hle_failure; babysitter paused)
|
|
120
|
+
- Action this tick: no code change — all active patterns addressed by previous ticks; retrieval drain 0 actionable; system healthy
|
|
121
|
+
|
|
122
|
+
## 2026-05-18 08:00 UTC tick
|
|
123
|
+
- Stress: 1021/1658 (PID 2666472, 5h49m uptime, done=391/392 processed = 99.7% success, rss=1992MB growing), 0 skip/timeout
|
|
124
|
+
- Write rate: 0 writes (test/regression/smoke prompts, no file writes expected)
|
|
125
|
+
- Admiral last 30 min: 0 fires
|
|
126
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M on :8000, balancer :8001 healthy)
|
|
127
|
+
- GH issues: 0 open
|
|
128
|
+
- Dispatch queue: harness=7 signals in 24h (thinking_stall×4 pre-fix, bash_generic×3 addressed by 83a2400), retrieval=0 actionable, curiosity=2705 pending (2292 unknown_term + 409 hle_failure paused + 4 evidence_conflict)
|
|
129
|
+
- Action this tick: no fix committed — all dispatch patterns addressed by recent commits (83a2400 FORCE_STOP escalation, 1191431 tool-error-as-empty-result, 64587fa balancer-wrapped 400 recovery); retrieval drain 0 actionable; curiosity top 3 all hle_failure (babysitter paused per sentinel); system healthy
|
|
130
|
+
|
|
131
|
+
## 2026-05-18 07:30 UTC tick
|
|
132
|
+
- Stress: ~1015/1658 est. (PID 2666472, 5h19m uptime, was 978 at 07:00, ~74/hr rate), 0 skip/timeout
|
|
133
|
+
- Write rate: N/A (tool_agent test-writing prompts)
|
|
134
|
+
- Admiral last 30 min: 0 fires
|
|
135
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M :8000, balancer :8001 — both healthy, container up 43h)
|
|
136
|
+
- GH issues: 0 open
|
|
137
|
+
- Dispatch queue: harness=8 (thinking_stall informational, bash_generic addressed by 83a2400), retrieval=3 entries all already ingested, curiosity=2705 pending (2292 unknown_term, 409 hle_failure paused, 4 evidence_conflict)
|
|
138
|
+
- Action this tick: no fix committed — all dispatch patterns addressed; retrieval drain 0 actionable; curiosity top 3 are HLE failures (babysitter paused per operator sentinel); autonomous_review.sh running concurrently; system healthy
|
|
139
|
+
|
|
140
|
+
## 2026-05-18 07:00 UTC tick
|
|
141
|
+
- Stress: 978/1658, PID 2666472 (4h49m uptime), done=348, skip=0, timeout=0, recycle=0, RSS=1543MB
|
|
142
|
+
- Write rate: N/A (test-writing prompts — few file writes expected)
|
|
143
|
+
- Admiral last 30 min: 0 fires
|
|
144
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M on :8000, balancer on :8001 — both healthy)
|
|
145
|
+
- GH issues: 0 open
|
|
146
|
+
- Dispatch queue: harness=8 (5 thinking_stall pre-fix, 3 bash_generic addressed by 83a2400 in v2.8.59), retrieval=3 entries all already ingested, curiosity=2704 pending (2291 unknown_term, 409 hle_failure paused, 4 evidence_conflict not actionable)
|
|
147
|
+
- Action this tick: no fix committed — all dispatch patterns already addressed by v2.8.59; retrieval drain 0 actionable; curiosity top items are HLE failures (babysitter paused per operator directive); system healthy
|
|
148
|
+
|
|
149
|
+
## 2026-05-18 06:30 UTC tick
|
|
150
|
+
- Stress: 680/1658, PID 2666472 (4h20m uptime), --resume-from-step 629 (babysitter restarted with new resume point); 3 recent SKIPs on SSE server/client and JSON-RPC server prompts (network-server tasks binding orphan ports), then recovered
|
|
151
|
+
- Write rate: N/A (API/network-server tasks)
|
|
152
|
+
- Admiral last 30 min: 0 fires
|
|
153
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M on :8000, balancer pid=380535 on :8001 — both healthy)
|
|
154
|
+
- GH issues: 0 open
|
|
155
|
+
- Dispatch queue: harness=17 thinking_stall (old, pre-fix, latest 2026-05-17T18:40), harness=180 bash_generic (addressed by 83a2400 in v2.8.59); retrieval=0 actionable; curiosity=2703 pending (unknown_term dominant, 4 evidence_conflict, HLE failures; HLE paused)
|
|
156
|
+
- Action this tick: no fix committed — all dispatch patterns already addressed by v2.8.59 commits; retrieval drain 0 actionable; 4 evidence_conflict items are false-claim stress artifacts (model said "I implemented X" without verifying), not immediately actionable; system healthy
|
|
157
|
+
|
|
158
|
+
## 2026-05-18 06:00 UTC tick
|
|
159
|
+
- Stress: 929/1658, PID 2666472 (3h49m uptime), done=300, skip=0 this run — healthy progress (~74/hr)
|
|
160
|
+
- Write rate: low (current PRDs appear to be knowledge-answer tasks, 0-1 writes/session)
|
|
161
|
+
- Admiral last 30 min: 0 new harness fires; dispatch queue has 5 thinking_stall (latest 2026-05-17T18:40, all old, existing fix handles them) + 3 bash_generic (addressed 83a2400 in v2.8.59)
|
|
162
|
+
- vLLM 400s: 0 (llama.cpp on :8000, no context overflow errors this run)
|
|
163
|
+
- GH issues: 0 open
|
|
164
|
+
- Dispatch queue: harness=8 (no new patterns), retrieval=0 actionable, curiosity=2703 pending (unknown_term dominant, hle_failure × 409 — HLE paused per sentinel)
|
|
165
|
+
- Action this tick: no action — all dispatch patterns already addressed by recent commits; stress run healthy; model+balancer healthy
|
|
166
|
+
|
|
167
|
+
## 2026-05-18 05:30 UTC tick
|
|
168
|
+
- Stress: ~867+/1658, PID 2666472 (3h20m uptime), 0 skip/timeout this run — skip rate effectively 0% (excellent, vs 30% before v2.8.51 fixes)
|
|
169
|
+
- Admiral last 30 min: 0 new harness fires; dispatch shows thinking_stall×6 + bash_generic×3 (all addressed by commits 83a2400/1191431 shipped in v2.8.59)
|
|
170
|
+
- vLLM 400s: 0 new JSONDecodeErrors; llamacpp-gemma4 container up 41h, healthy
|
|
171
|
+
- GH issues: 0 open
|
|
172
|
+
- Dispatch queue: harness=9 (no new entries since 23:50 May 17), retrieval=0 actionable (fully consumed), curiosity=2701 pending (HLE failures + unknown_terms; HLE paused per operator)
|
|
173
|
+
- Action this tick: no fix committed — system healthy; retrieval-drain 0 ingested; curiosity items are HLE-failures (paused directive); bash_generic pattern already addressed by 83a2400 in prior tick
|
|
174
|
+
|
|
175
|
+
## 2026-05-18 05:00 UTC tick
|
|
176
|
+
- Stress: 867/1658, PID 2666472 (2h50m uptime), progressing steadily with no SKIPs or timeouts in recent steps
|
|
177
|
+
- Write rate: 0 file writes on last 5 prompts (test-type prompts answered with text, expected)
|
|
178
|
+
- Admiral last 30 min: curiosity queue active (unknown_term signals at 04:51 UTC), no new harness fires since 23:50 yesterday
|
|
179
|
+
- vLLM 400s: 6 minor errors in docker logs (not JSONDecodeErrors; llama.cpp Q3_K_M healthy on :8000)
|
|
180
|
+
- GH issues: 0 open
|
|
181
|
+
- Dispatch queue: harness=9 (thinking_stall×6 + bash_generic×3, all addressed by commits 83a2400/1191431), retrieval=0 actionable (fully consumed), curiosity=2701 pending (HLE failures + unknown_terms; babysitter paused per operator directive)
|
|
182
|
+
- Action this tick: no fix committed — system healthy; retrieval-drain 0 ingested; top curiosity items are HLE-related (banned per CLAUDE.md directive); balancer confirmed on :8001 (PID 380535)
|
|
183
|
+
|
|
184
|
+
## 2026-05-18 04:00 UTC tick
|
|
185
|
+
- Stress: 793/1658, 164 done, 0 skip, 0 timeout (PID 2666472, 1h49m uptime, RSS=618MB)
|
|
186
|
+
- Write rate: normal (sessions completing, no stalls)
|
|
187
|
+
- Admiral last 30 min: 0 new fires (harness:bash_generic last at 2026-05-17T23:50, thinking_stall at 18:40)
|
|
188
|
+
- vLLM 400s: 0 new (llama.cpp on :8000 healthy, Q3_K_M confirmed)
|
|
189
|
+
- GH issues: 0 open
|
|
190
|
+
- Dispatch queue: harness=9 total (6 thinking_stall + 3 bash_generic, all addressed by existing commits), retrieval=0 actionable (all already ingested), curiosity=2690 pending (mostly unknown_term + hle_failure; HLE paused per operator)
|
|
191
|
+
- Action this tick: no fix — system healthy; retrieval-drain 0 actionable; bash_generic loop was isolated incident (one import-check loop in tool_agent session, existing FORCE_STOP detection handled it, model resumed after mute which is expected advisory-only behavior)
|
|
192
|
+
|
|
193
|
+
## 2026-05-18 03:00 UTC tick
|
|
194
|
+
- Stress: PID 2666472 alive (49+ min, cycling through PRDs normally — API: OpenAPI generation at tick time)
|
|
195
|
+
- Write rate: sessions completing (session_025001 ran 126 messages on tool_agent/MinIO PRD)
|
|
196
|
+
- Admiral last 30 min: 0 new fires (bash_generic last at 23:50, thinking_stall last at 18:40)
|
|
197
|
+
- vLLM 400s: 6 context-overflow errors (33388 > 32768 tokens; emergency compaction handled; session continued)
|
|
198
|
+
- GH issues: 0 open
|
|
199
|
+
- Dispatch queue: harness=9 (6 thinking_stall + 3 bash_generic, both patterns already addressed by commits 1191431 / source), retrieval=0 actionable, curiosity=2674 pending (all hle_failure/unknown_term; HLE babysitter paused per operator directive)
|
|
200
|
+
- Action this tick: no fix — system healthy; 2 post-v2.8.58 fixes (1191431, 77275c2) in source pending next auto-release at ~05:00 UTC; retrieval-drain 0 actionable; curiosity queue all HLE-pattern (paused)
|
|
201
|
+
|
|
202
|
+
## 2026-05-18 02:30 UTC tick
|
|
203
|
+
- Stress: PID 2666472 (babysitter restarted, now at step 629/1658, tool_agent PRD, healthy)
|
|
204
|
+
- Write rate: N/A (session cycling normally)
|
|
205
|
+
- Admiral last 30 min: thinking_stall last at 18:40, bash_generic 3x at 23:50 (addressed by 1191431)
|
|
206
|
+
- vLLM 400s: 0 context errors in last 30m (1bcd5d1 search_replace truncation fix holding)
|
|
207
|
+
- GH issues: 0 open
|
|
208
|
+
- Dispatch queue: harness=9 (all addressed), retrieval=0 actionable, curiosity=2665 pending (409 hle_failure paused, 2254 unknown_term noise)
|
|
209
|
+
- Action this tick: no action — system healthy; all dispatch patterns addressed by recent commits; curiosity queue is HLE/unknown_term noise (babysitter paused per operator directive); retrieval-drain: 0 projects ingested
|
|
210
|
+
|
|
211
|
+
## 2026-05-18 02:00 UTC tick
|
|
212
|
+
- Stress: PID 2501045 alive (9h+), at prompt 620/1658 (storage backend cycle, +0 writes normal for context-less follow-on prompts)
|
|
213
|
+
- Write rate: 0 writes/prompt (expected post-session-reset for storage backend prompts without prior context)
|
|
214
|
+
- Admiral last 30 min: thinking_stall fired once, outcome=unstuck (working correctly)
|
|
215
|
+
- llamacpp 400s: 5 context overflow errors (33668 > 32768 token limit) — multiple concurrent sessions each failing once; emergency compaction truncates and recovers; no drydock bug
|
|
216
|
+
- GH issues: 0 open
|
|
217
|
+
- Dispatch queue: harness=10 (thinking_stall + bash_generic), retrieval=0 actionable, curiosity=2665 pending (all hle_failure/unknown_term — babysitter paused)
|
|
218
|
+
- Sentinels: hle_babysitter, hle_burndown, hle_burndown_keepalive, vllm_failover, watchdog all paused
|
|
219
|
+
- Action this tick: no fix committed — last tick (01:30) shipped 1191431 (bash_generic loop-break via tool-error detection); retrieval drain: 0 actionable; curiosity top 3 all HLE-failure with babysitter paused — no action taken; model+balancer healthy
|
|
220
|
+
|
|
221
|
+
## 2026-05-18 01:30 UTC tick
|
|
222
|
+
- Stress: PID 2501045 alive (8h34m on tool_agent PRD step 38+, sessions cycling every ~15 min — healthy)
|
|
223
|
+
- Write rate: N/A
|
|
224
|
+
- Admiral last 30 min: 3 bash_generic fires at 23:50 (model repeating import-check bash call; addressed by commit 1191431 last tick)
|
|
225
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M on :8000, balancer on :8001 both healthy)
|
|
226
|
+
- GH issues: 0 open
|
|
227
|
+
- Dispatch queue: harness=1312 total (17 thinking_stall + 3 bash_generic in last 20; bash_generic addressed; no new patterns since 23:50), retrieval=3 (all stale, already ingested), curiosity=2665 pending (409 hle_failure, 2254 unknown_term — HLE paused per directive)
|
|
228
|
+
- Action this tick: no action — system healthy; retrieval-drain: 0 actionable; top curiosity items are hle_failure (babysitter paused) and unknown_term noise; bash_generic pattern already addressed by 1191431; autonomous_review started at 01:30 UTC
|
|
229
|
+
|
|
230
|
+
## 2026-05-18 01:00 UTC tick
|
|
231
|
+
- Stress: 562/1658 (tool_agent storage backends, PID 2501045, 9h elapsed, healthy)
|
|
232
|
+
- Write rate: N/A (storage-backend add prompts produce mostly text responses)
|
|
233
|
+
- Admiral last 30 min: N/A
|
|
234
|
+
- vLLM 400s: 6 log lines in 30m (normal llamacpp slot-checkpoint output, not errors)
|
|
235
|
+
- GH issues: 0 open
|
|
236
|
+
- Dispatch queue: harness=11 (8 thinking_stall informational, 3 bash_generic from 23:48 loop — all handled by existing mechanisms; intervention on bash_generic at 23:48 failed but FORCE_STOP at 5 runs covers it), retrieval=0 actionable, curiosity=494 pending (88 hle_failure paused, 405 unknown_term noise)
|
|
237
|
+
- Action this tick: no action — system healthy. 00:35 UTC autonomous_review shipped `_looks_empty` tool_error match fix (v2.8.58, already released). Bash_generic loop pattern reviewed; existing 5-run repetition loop-breaker in bash.py covers import-check loops. No new actionable bugs.
|
|
238
|
+
|
|
239
|
+
## 2026-05-18 00:00 UTC tick
|
|
240
|
+
- Stress: 486/1658 (tool_agent storage backend prompts, PID 2501045, 12h elapsed)
|
|
241
|
+
- Write rate: 14% (7/50 last steps had write_file calls — storage backend adds expected to be low)
|
|
242
|
+
- Admiral last 30 min: 22 fires (23:xx UTC window)
|
|
243
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M clean)
|
|
244
|
+
- GH issues: 0 open
|
|
245
|
+
- Dispatch queue: harness=11 (3 new loop:bash_generic at 23:48 from single session, outcome=failed then FORCE_STOP took over; 8 stale thinking_stall), retrieval=0 actionable, curiosity=2664 pending (HLE babysitter paused per sentinel)
|
|
246
|
+
- Action this tick: no action — system healthy. loop:bash_generic pattern examined; existing 3-consecutive-identical FORCE_STOP in agent_loop.py is catching it correctly. HLE curiosity items not actionable (babysitter paused). Retrieval drain: 0 ingested.
|
|
247
|
+
|
|
248
|
+
## 2026-05-17 23:30 UTC tick
|
|
249
|
+
- Stress: PID 2501045 running (tool_agent PRD, 6h34m elapsed, healthy); new sessions created at 23:13, 23:15, 23:24 UTC — progressing normally
|
|
250
|
+
- Write rate: N/A (no session log linked to stress pid)
|
|
251
|
+
- Admiral last 30 min: N/A
|
|
252
|
+
- vLLM 400s: 0 (44 grep hits are informational slot-update lines, not errors)
|
|
253
|
+
- GH issues: 0 open
|
|
254
|
+
- Dispatch queue: harness=8 (thinking_stall, stale — already addressed), retrieval=0 actionable (3 queue entries, all recently ingested), curiosity=2664 pending (409 hle_failure paused per operator directive, 2254 unknown_term noise)
|
|
255
|
+
- Action this tick: no action — system healthy; autonomous_review.sh started its 23:30 tick; top curiosity items are hle_failure (HLE babysitter paused per CLAUDE.md 2026-05-17 directive) and unknown_term noise not worth acting on
|
|
256
|
+
|
|
257
|
+
## 2026-05-17 22:30 UTC tick
|
|
258
|
+
- Stress: PID 2501045 running 5h37m, stress_shakedown.py on tool_agent PRD (--resume-from-step 38), 181 sessions today; current session 48ba8dd6 writing plugin files (secret_scanning_tool.py, pii_redaction_tool.py) — healthy
|
|
259
|
+
- Write rate: N/A (tool log shows writes in current session, exploration in prior)
|
|
260
|
+
- Admiral last 30 min: N/A (HLE paused)
|
|
261
|
+
- vLLM 400s: ~102 log lines in 6h (normal for llamacpp, not error class)
|
|
262
|
+
- GH issues: 0 open
|
|
263
|
+
- Dispatch queue: harness=8 (all thinking_stall, no new patterns), retrieval=0 actionable (all already ingested), curiosity=2664 pending (409 hle_failure w/ HLE paused, 2254 unknown_term noise — top items are math capability gaps, not prompt or infra bugs)
|
|
264
|
+
- Action this tick: no code change — system stable; all queued harness patterns addressed by recent commits; autonomous_review started at 22:30; curiosity items are HLE capability gaps not actionable while babysitter paused
|
|
265
|
+
|
|
266
|
+
## 2026-05-17 22:00 UTC tick
|
|
267
|
+
- Stress: PID 2501045 running 5h+, tool_agent suite (step 38 resume), session 214835 active at 106 messages — healthy
|
|
268
|
+
- vLLM 400s: 0 (model Q3_K_M, llamacpp-gemma4 healthy 33h, 62 tok/s)
|
|
269
|
+
- GH issues: 0 open
|
|
270
|
+
- Dispatch queue: harness=1309 (thinking_stall only, admiral nudge self-resolves per log), retrieval=3 drained (1 project ingested: 403_tool_agent), curiosity=2660 pending (HLE loops paused per directive — not actionable)
|
|
271
|
+
- Action this tick: retrieval-drain: 1 project ingested; no source fix needed — system healthy
|
|
272
|
+
|
|
273
|
+
## 2026-05-17 21:30 UTC tick
|
|
274
|
+
- Stress: PID 2501045 running 4h34m, tool_agent stress_shakedown.py resuming from step 38 — active and healthy
|
|
275
|
+
- llamacpp 400s: 0
|
|
276
|
+
- GH issues: 0 open
|
|
277
|
+
- Dispatch queue: harness=9 (all thinking_stall, admiral nudge resolving — latest log shows "unstuck"), retrieval=0 actionable, curiosity=2659 pending (2249 unknown_term, 409 hle_failure, 1 evidence_conflict; HLE paused per directive)
|
|
278
|
+
- Model: Q3_K_M on llamacpp-gemma4 (:8000), balancer on :8001 — both healthy, 0 errors
|
|
279
|
+
- Action this tick: no action — system fully healthy, no queued patterns unaddressed by recent commits
|
|
280
|
+
|
|
3
281
|
## 2026-05-17 21:00 UTC tick
|
|
4
282
|
- Stress: ~680/1658 (PID 2501045, ~4h05m elapsed, tool_agent suite; consecutive SKIPs on API-shape prompts normal, FORCE-RESET recovering)
|
|
5
283
|
- Write rate: tracking (no aggregated figure — recent prompts are API-heavy, SKIP-prone)
|
|
@@ -7555,3 +7833,67 @@ restarted, cron self-match bug fixed in this same session).
|
|
|
7555
7833
|
- GH issues: 0 open
|
|
7556
7834
|
- Dispatch queue: harness=7 (all stale thinking_stall, resolved), retrieval=0 actionable, curiosity=2548 pending (409 hle_failure paused, 2139 unknown_term noise)
|
|
7557
7835
|
- Action this tick: committed fix 1bcd5d1 — removed search_replace exclusion from _truncate_old_tool_results(); old search_replace args (SEARCH/REPLACE blocks with full file content) were accumulating indefinitely past KEEP_RECENT=4 and pushing context over the 32768-token llama.cpp limit in long sessions with 20+ edits; truncated to JSON stub same as write_file args. auto_release will ship at next CDT tick.
|
|
7836
|
+
|
|
7837
|
+
## 2026-05-17 23:00 UTC tick
|
|
7838
|
+
- Stress: PID 2501045 (tool_agent, step 38+, 6h+ elapsed, healthy)
|
|
7839
|
+
- Write rate: N/A (no session log for current run)
|
|
7840
|
+
- Admiral last 30 min: N/A
|
|
7841
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M, no errors in last 30m)
|
|
7842
|
+
- GH issues: 0 open
|
|
7843
|
+
- Dispatch queue: harness=8 (all thinking_stall, stale — already addressed in agent_loop.py), retrieval=0 actionable, curiosity=2664 pending (409 hle_failure, 2254 unknown_term — HLE babysitter paused per operator directive)
|
|
7844
|
+
- Action this tick: no action — system healthy; retrieval-drain: 0 projects ingested; thinking_stall dispatch pattern already handled in source; top curiosity items are hle_failure (paused) and unknown_term noise; autonomous_review confirmed healthy at 22:30 UTC same findings
|
|
7845
|
+
|
|
7846
|
+
## 2026-05-18 00:30 UTC tick
|
|
7847
|
+
- Stress: PID 2501045 alive (7h+ on tool_agent PRD, step 38+, sessions cycling normally)
|
|
7848
|
+
- Write rate: session dirs updating ~every 10-15 min
|
|
7849
|
+
- Admiral last 30 min: 3 bash_generic fires at 23:50, thinking_stall last at 18:40
|
|
7850
|
+
- vLLM 400s: 0 (model on Q3_K_M at :8000, balancer at :8001 healthy)
|
|
7851
|
+
- GH issues: 0 open
|
|
7852
|
+
- Dispatch queue: harness=11, retrieval=0 actionable, curiosity=2664 pending
|
|
7853
|
+
- Sentinels: hle_babysitter, hle_burndown, hle_burndown_keepalive, vllm_failover, watchdog all paused
|
|
7854
|
+
- Action this tick: committed fix — _looks_empty now matches <tool_error> so Check 0 loop detection fires after 3 repeated failing tool calls (was 8 via Check 1); also improved read_mcp_resource error messages to suggest read_file/bash when file:// URI fails with no MCP servers configured. Addresses pattern harness:loop:bash_generic. Retrieval drain: 0 actionable (already ingested). All 72 loop detection tests pass.
|
|
7855
|
+
|
|
7856
|
+
## 2026-05-18 03:30 UTC tick
|
|
7857
|
+
- Stress: 749/1658
|
|
7858
|
+
- Write rate: N/A (current prompts are API knowledge questions with 0 writes expected)
|
|
7859
|
+
- Admiral last 30 min: 0 fires
|
|
7860
|
+
- vLLM 400s: 47 in 30 min (all context-overflow: 34K–35K token requests against 32K ctx)
|
|
7861
|
+
- GH issues: 0 open
|
|
7862
|
+
- Dispatch queue: harness=9 pending (thinking_stall×6 pre-fix, bash_generic×3 addressed by 1191431), retrieval=0 actionable, curiosity=2681 pending (mostly unknown_term/hle_failure, HLE paused)
|
|
7863
|
+
- Action this tick: committed fix 64587fa — context-overflow recovery was silently failing because the llm_balancer wraps backend 400s as "HTTP Error 400: Bad Request" (with colon), but the recovery condition checked for "400 bad request" (no colon). Added "400: bad request" and "both backends failed" to the elif. All other services healthy.
|
|
7864
|
+
|
|
7865
|
+
## 2026-05-18 04:30 UTC tick
|
|
7866
|
+
- Stress: PID 2666472 alive (2h19m uptime)
|
|
7867
|
+
- Write rate: N/A (stress harness running)
|
|
7868
|
+
- Admiral last 30 min: 3 fires (harness:loop:bash_generic, 2026-05-17T23:50)
|
|
7869
|
+
- vLLM 400s: N/A (llama.cpp on :8000, balancer on :8001 — both healthy)
|
|
7870
|
+
- GH issues: no output (gh command returned empty)
|
|
7871
|
+
- Dispatch queue: harness=9, retrieval=0 actionable, curiosity=2694 pending (unknown_term dominant)
|
|
7872
|
+
- Action this tick: committed fix — escalate bash identical-call WARNING to FORCE_STOP (addresses pattern harness:loop:bash_generic). Model was running `python3 -c "from tool_agent.storage.factory import get_storag..."` 3+ times after import check passed; WARNING path only bumped temperature which the model ignored. 4+ identical bash calls now force text-only for 1 turn. All 72 loop-detection tests pass.
|
|
7873
|
+
|
|
7874
|
+
## 2026-05-18 09:00 UTC tick
|
|
7875
|
+
- Stress: PID 2666472, tool_agent suite, resume-from-step 629, 6h49m uptime — healthy.
|
|
7876
|
+
- Write rate: N/A (stress harness running).
|
|
7877
|
+
- Admiral last 30 min: 0 new fires; last entry 2026-05-17T18:20 (empty_after_tool:bash, canned).
|
|
7878
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M on :8000; balancer :8001 both up).
|
|
7879
|
+
- GH issues: 0 open.
|
|
7880
|
+
- Dispatch queue: harness=7 in 24h (all addressed by 83a2400/1191431/64587fa shipped yesterday); retrieval=0 actionable; curiosity=2710 pending (hle_failure+unknown_term dominant, HLE babysitter paused by sentinel).
|
|
7881
|
+
- Action this tick: no code change. All harness patterns addressed by prior commits. HLE babysitter paused by operator sentinel — curiosity top items are HLE failures, not actioned. System healthy.
|
|
7882
|
+
|
|
7883
|
+
## 2026-05-18 11:30 UTC tick
|
|
7884
|
+
- Stress: PID 2666472, 9h19m uptime — healthy.
|
|
7885
|
+
- Write rate: N/A (stress harness running).
|
|
7886
|
+
- Admiral last 30 min: 0 new fires.
|
|
7887
|
+
- vLLM 400s: 0 (llama.cpp Q3_K_M on :8000; balancer :8001 healthy).
|
|
7888
|
+
- GH issues: 0 open.
|
|
7889
|
+
- Dispatch queue: harness=7 (thinking_stall×4 informational, bash_generic×3 addressed by 83a2400), retrieval=0 actionable (all up-to-date), curiosity=2729 pending (hle_failure+unknown_term dominant; HLE babysitter paused by sentinel).
|
|
7890
|
+
- Action this tick: committed feat(admiral) 4b095b1 — propagate force_stop flag through struggle detector to interventions; severe struggle (>=30 read-only calls) now sets FORCE_STOP on agent loop, not just advisory nudge. All 72 loop-detection tests pass. Retrieval drain: 0 actionable.
|
|
7891
|
+
|
|
7892
|
+
## 2026-05-18 16:00 UTC tick
|
|
7893
|
+
- Stress: idx=1021/1658 (PID 2666472, running ~13h50m).
|
|
7894
|
+
- Write rate: n/a (no stress metrics file).
|
|
7895
|
+
- Admiral last 30 min: 0 new fires (previous tick at 15:30 confirmed struggle:none resolved "unstuck").
|
|
7896
|
+
- vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M on :8000; balancer :8001 healthy, 1 model).
|
|
7897
|
+
- GH issues: 0 open.
|
|
7898
|
+
- 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
|
+
- Action this tick: no action — all queued patterns addressed by commits already shipped in v2.8.59. System healthy.
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
2574982
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|