drydock-cli 2.8.58__tar.gz → 2.8.59__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (830) hide show
  1. drydock_cli-2.8.59/.auto_release.lock +1 -0
  2. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/PKG-INFO +1 -1
  3. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/agent_loop.py +12 -1
  4. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/mcp_resources.py +7 -3
  5. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/pyproject.toml +1 -1
  6. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_shakedown.py +8 -1
  7. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/trip_log.md +134 -0
  8. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/uv.lock +1 -1
  9. drydock_cli-2.8.58/.auto_release.lock +0 -1
  10. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.drydock/graphrag.sqlite +0 -0
  11. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/CODEOWNERS +0 -0
  12. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
  13. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  14. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  15. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/workflows/build-and-upload.yml +0 -0
  16. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/workflows/ci.yml +0 -0
  17. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/workflows/issue-labeler.yml +0 -0
  18. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.github/workflows/release.yml +0 -0
  19. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.gitignore +0 -0
  20. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.pause_hle_babysitter +0 -0
  21. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.pause_hle_burndown +0 -0
  22. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.pause_hle_burndown_keepalive +0 -0
  23. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.pre-commit-config.yaml +0 -0
  24. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.python-version +0 -0
  25. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.typos.toml +0 -0
  26. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.vscode/extensions.json +0 -0
  27. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.vscode/launch.json +0 -0
  28. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/.vscode/settings.json +0 -0
  29. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/AGENTS.md +0 -0
  30. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/Admiral.md +0 -0
  31. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/CHANGELOG.md +0 -0
  32. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/CLAUDE.md +0 -0
  33. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/CONTRIBUTING.md +0 -0
  34. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/DEEP_NOIR_PRD.md +0 -0
  35. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/DEPLOYMENT.md +0 -0
  36. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/DRYDOCK.md +0 -0
  37. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/HLE_PRD.md +0 -0
  38. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/JETSON_BENCH.md +0 -0
  39. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/LICENSE +0 -0
  40. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/MODEL_SHORTCOMINGS.md +0 -0
  41. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/NOTICE +0 -0
  42. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/README.md +0 -0
  43. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/SOVEREIGN_PRD.md +0 -0
  44. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/TRIAGE_v1.md +0 -0
  45. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/action.yml +0 -0
  46. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/README.md +0 -0
  47. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results1.tsv +0 -0
  48. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results13.tsv +0 -0
  49. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results14.tsv +0 -0
  50. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results15.tsv +0 -0
  51. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results16.tsv +0 -0
  52. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results17.tsv +0 -0
  53. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results18.tsv +0 -0
  54. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results19.tsv +0 -0
  55. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results2.tsv +0 -0
  56. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results20.tsv +0 -0
  57. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results3.tsv +0 -0
  58. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results4.tsv +0 -0
  59. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results5.tsv +0 -0
  60. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results6.tsv +0 -0
  61. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results7.tsv +0 -0
  62. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results8.tsv +0 -0
  63. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results9.tsv +0 -0
  64. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/baseline_history/results_evolved_v1.tsv +0 -0
  65. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/distribution/zed/LICENSE +0 -0
  66. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/distribution/zed/extension.toml +0 -0
  67. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/distribution/zed/icons/mistral_vibe.svg +0 -0
  68. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/README.md +0 -0
  69. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/acp-setup.md +0 -0
  70. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/BASELINE_412.md +0 -0
  71. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/Drydock_rebrand.md +0 -0
  72. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
  73. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
  74. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
  75. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/PRD.md +0 -0
  76. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/drydock_terms.md +0 -0
  77. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/archive/resume.md +0 -0
  78. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/docs/proxy-setup.md +0 -0
  79. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/__init__.py +0 -0
  80. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/__main__.py +0 -0
  81. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/__init__.py +0 -0
  82. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/acp_agent_loop.py +0 -0
  83. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/acp_logger.py +0 -0
  84. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/entrypoint.py +0 -0
  85. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/__init__.py +0 -0
  86. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/base.py +0 -0
  87. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/bash.py +0 -0
  88. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/read_file.py +0 -0
  89. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/search_replace.py +0 -0
  90. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/todo.py +0 -0
  91. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/builtins/write_file.py +0 -0
  92. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/tools/session_update.py +0 -0
  93. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/acp/utils.py +0 -0
  94. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/__init__.py +0 -0
  95. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/detectors.py +0 -0
  96. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/detectors_proposed.py +0 -0
  97. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/history.py +0 -0
  98. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/interventions.py +0 -0
  99. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/llm_analyzer.py +0 -0
  100. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/metrics.py +0 -0
  101. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/opus_escalator.py +0 -0
  102. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/persistence.py +0 -0
  103. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/policy.py +0 -0
  104. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/proposer.py +0 -0
  105. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/stager.py +0 -0
  106. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/task_classifier.py +0 -0
  107. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/tuning.py +0 -0
  108. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/validator.py +0 -0
  109. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/admiral/worker.py +0 -0
  110. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/__init__.py +0 -0
  111. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/autocompletion/__init__.py +0 -0
  112. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/autocompletion/base.py +0 -0
  113. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/autocompletion/path_completion.py +0 -0
  114. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/autocompletion/slash_command.py +0 -0
  115. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/cli.py +0 -0
  116. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/clipboard.py +0 -0
  117. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/commands.py +0 -0
  118. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/entrypoint.py +0 -0
  119. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/fix_windows_path.py +0 -0
  120. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/history_manager.py +0 -0
  121. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
  122. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
  123. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
  124. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/terminal_setup.py +0 -0
  125. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/__init__.py +0 -0
  126. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
  127. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/app.py +0 -0
  128. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/app.tcss +0 -0
  129. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/external_editor.py +0 -0
  130. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
  131. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
  132. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
  133. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
  134. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
  135. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
  136. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
  137. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
  138. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
  139. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
  140. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
  141. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
  142. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
  143. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
  144. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
  145. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
  146. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
  147. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
  148. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
  149. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/compact.py +0 -0
  150. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
  151. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
  152. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
  153. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/loading.py +0 -0
  154. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/messages.py +0 -0
  155. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
  156. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
  157. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
  158. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
  159. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
  160. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
  161. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
  162. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
  163. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
  164. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/tools.py +0 -0
  165. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
  166. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
  167. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/history.py +0 -0
  168. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
  169. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/textual_ui/windowing/state.py +0 -0
  170. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/__init__.py +0 -0
  171. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
  172. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
  173. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
  174. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
  175. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
  176. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/update.py +0 -0
  177. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/cli/update_notifier/whats_new.py +0 -0
  178. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/__init__.py +0 -0
  179. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/agents/__init__.py +0 -0
  180. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/agents/manager.py +0 -0
  181. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/agents/models.py +0 -0
  182. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/auth/__init__.py +0 -0
  183. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/auth/crypto.py +0 -0
  184. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/auth/github.py +0 -0
  185. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/auto_solve.py +0 -0
  186. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/__init__.py +0 -0
  187. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/completers.py +0 -0
  188. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
  189. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
  190. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
  191. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/store.py +0 -0
  192. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
  193. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/fuzzy.py +0 -0
  194. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/path_prompt.py +0 -0
  195. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
  196. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/build_orchestrator.py +0 -0
  197. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/checkpoint.py +0 -0
  198. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/classifier/__init__.py +0 -0
  199. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/classifier/__main__.py +0 -0
  200. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/classifier/classifier.py +0 -0
  201. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/classifier/dispatcher.py +0 -0
  202. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/classifier/rules.py +0 -0
  203. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/classifier/signal.py +0 -0
  204. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/__init__.py +0 -0
  205. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/_dotenv.py +0 -0
  206. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/_settings.py +0 -0
  207. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/doctor.py +0 -0
  208. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/harness_files/__init__.py +0 -0
  209. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/harness_files/_harness_manager.py +0 -0
  210. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/harness_files/_paths.py +0 -0
  211. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/local_detect.py +0 -0
  212. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/config/migrate.py +0 -0
  213. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/constraint_extract.py +0 -0
  214. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/constraint_hint.py +0 -0
  215. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/consultant.py +0 -0
  216. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/context_recovery.py +0 -0
  217. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/drydock_states.py +0 -0
  218. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/goal.py +0 -0
  219. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/hooks.py +0 -0
  220. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/__init__.py +0 -0
  221. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/backend/anthropic.py +0 -0
  222. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/backend/base.py +0 -0
  223. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/backend/factory.py +0 -0
  224. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/backend/generic.py +0 -0
  225. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/backend/mistral.py +0 -0
  226. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
  227. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/backend/vertex.py +0 -0
  228. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/exceptions.py +0 -0
  229. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/format.py +0 -0
  230. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/message_utils.py +0 -0
  231. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/llm/types.py +0 -0
  232. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/logger.py +0 -0
  233. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/middleware.py +0 -0
  234. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/output_formatters.py +0 -0
  235. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/paths/__init__.py +0 -0
  236. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/paths/_drydock_home.py +0 -0
  237. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/paths/_local_config_walk.py +0 -0
  238. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/paths/conventions.py +0 -0
  239. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/plan_session.py +0 -0
  240. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/plugins.py +0 -0
  241. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/programmatic.py +0 -0
  242. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/__init__.py +0 -0
  243. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/builder.md +0 -0
  244. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/cli.md +0 -0
  245. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/compact.md +0 -0
  246. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/dangerous_directory.md +0 -0
  247. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/diagnostic.md +0 -0
  248. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/explore.md +0 -0
  249. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/gemma4.md +0 -0
  250. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/planner.md +0 -0
  251. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/project_context.md +0 -0
  252. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/prompts/tests.md +0 -0
  253. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/proxy_setup.py +0 -0
  254. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/session/agent_memory.py +0 -0
  255. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/session/checkpoints.py +0 -0
  256. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/session/session_loader.py +0 -0
  257. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/session/session_logger.py +0 -0
  258. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/session/session_migration.py +0 -0
  259. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/session/state_file.py +0 -0
  260. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/session_checker.py +0 -0
  261. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/skills/__init__.py +0 -0
  262. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/skills/manager.py +0 -0
  263. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/skills/models.py +0 -0
  264. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/skills/parser.py +0 -0
  265. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/slug.py +0 -0
  266. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/steering_hook.py +0 -0
  267. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/system_prompt.py +0 -0
  268. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/telemetry/__init__.py +0 -0
  269. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/telemetry/send.py +0 -0
  270. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/teleport/errors.py +0 -0
  271. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/teleport/git.py +0 -0
  272. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/teleport/nuage.py +0 -0
  273. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/teleport/teleport.py +0 -0
  274. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/teleport/types.py +0 -0
  275. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/base.py +0 -0
  276. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/_task_manager.py +0 -0
  277. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/algebra_tool.py +0 -0
  278. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/ask_user_question.py +0 -0
  279. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/bash.py +0 -0
  280. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/chemistry_tool.py +0 -0
  281. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/count_tool.py +0 -0
  282. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/cron.py +0 -0
  283. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
  284. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/glob_tool.py +0 -0
  285. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/grep.py +0 -0
  286. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/invoke_skill.py +0 -0
  287. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/linear_algebra_tool.py +0 -0
  288. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/logic_tool.py +0 -0
  289. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/lsp.py +0 -0
  290. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/math_tool.py +0 -0
  291. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/memory_tool.py +0 -0
  292. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/notebook_edit.py +0 -0
  293. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/number_theory_tool.py +0 -0
  294. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/powershell.py +0 -0
  295. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prolog_tool.py +0 -0
  296. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
  297. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
  298. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/bash.md +0 -0
  299. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/cron.md +0 -0
  300. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/glob.md +0 -0
  301. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/grep.md +0 -0
  302. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
  303. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
  304. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
  305. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
  306. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
  307. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
  308. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
  309. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
  310. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
  311. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/task.md +0 -0
  312. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
  313. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/todo.md +0 -0
  314. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
  315. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
  316. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
  317. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
  318. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
  319. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/read_file.py +0 -0
  320. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/retrieve.py +0 -0
  321. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/search_replace.py +0 -0
  322. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/set_tool.py +0 -0
  323. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/solve_tool.py +0 -0
  324. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/stats_tool.py +0 -0
  325. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/task.py +0 -0
  326. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/todo.py +0 -0
  327. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/tool_search.py +0 -0
  328. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/units_tool.py +0 -0
  329. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/verify_tool.py +0 -0
  330. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/webfetch.py +0 -0
  331. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/websearch.py +0 -0
  332. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/worktree.py +0 -0
  333. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/builtins/write_file.py +0 -0
  334. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/injection_guard.py +0 -0
  335. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/manager.py +0 -0
  336. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/mcp/__init__.py +0 -0
  337. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/mcp/registry.py +0 -0
  338. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/mcp/tools.py +0 -0
  339. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/mcp_sampling.py +0 -0
  340. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/ui.py +0 -0
  341. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/tools/utils.py +0 -0
  342. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/trusted_folders.py +0 -0
  343. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/types.py +0 -0
  344. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/core/utils.py +0 -0
  345. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/curiosity/__init__.py +0 -0
  346. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/curiosity/__main__.py +0 -0
  347. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/curiosity/gap_detector.py +0 -0
  348. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/curiosity/item.py +0 -0
  349. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/curiosity/queue.py +0 -0
  350. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/curiosity/surprise.py +0 -0
  351. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/graphrag/__init__.py +0 -0
  352. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/graphrag/__main__.py +0 -0
  353. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/graphrag/code_indexer.py +0 -0
  354. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/graphrag/retriever.py +0 -0
  355. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/graphrag/storage.py +0 -0
  356. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/graphrag/text_indexer.py +0 -0
  357. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/__init__.py +0 -0
  358. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/base.py +0 -0
  359. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/onboarding.tcss +0 -0
  360. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/__init__.py +0 -0
  361. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/api_key.py +0 -0
  362. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/choice.py +0 -0
  363. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/local_model.py +0 -0
  364. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/onboarding/screens/welcome.py +0 -0
  365. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
  366. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
  367. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/__init__.py +0 -0
  368. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/api-design/SKILL.md +0 -0
  369. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/audit-tests/SKILL.md +0 -0
  370. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/batch/SKILL.md +0 -0
  371. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/commit-code/SKILL.md +0 -0
  372. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/constraint-reasoning/SKILL.md +0 -0
  373. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/context-summary/SKILL.md +0 -0
  374. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/create-presentation/SKILL.md +0 -0
  375. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/deep-research/SKILL.md +0 -0
  376. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/deploy/SKILL.md +0 -0
  377. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/diff-review/SKILL.md +0 -0
  378. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/doc-gen/SKILL.md +0 -0
  379. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/explain-code/SKILL.md +0 -0
  380. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/explore-code/SKILL.md +0 -0
  381. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/fix-issue/SKILL.md +0 -0
  382. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/git-ops/SKILL.md +0 -0
  383. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/init-project/SKILL.md +0 -0
  384. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/investigate/SKILL.md +0 -0
  385. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/logic/SKILL.md +0 -0
  386. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/logic/assets/cheat_sheet_full.txt +0 -0
  387. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/loop/SKILL.md +0 -0
  388. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/migrate/SKILL.md +0 -0
  389. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/perf-analyze/SKILL.md +0 -0
  390. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/plan-impl/SKILL.md +0 -0
  391. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/pr-review/SKILL.md +0 -0
  392. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/prove/SKILL.md +0 -0
  393. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/refactor/SKILL.md +0 -0
  394. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/regex-help/SKILL.md +0 -0
  395. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/review/SKILL.md +0 -0
  396. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/security-review/SKILL.md +0 -0
  397. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/ship/SKILL.md +0 -0
  398. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/simplify/SKILL.md +0 -0
  399. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/strong-tests/SKILL.md +0 -0
  400. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/skills/test-verify/SKILL.md +0 -0
  401. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/__init__.py +0 -0
  402. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/__main__.py +0 -0
  403. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/applier.py +0 -0
  404. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/config.py +0 -0
  405. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/registry.py +0 -0
  406. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/sandbox.py +0 -0
  407. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/sidecar/__init__.py +0 -0
  408. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/sidecar/header_parser.py +0 -0
  409. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/sidecar/hooks.py +0 -0
  410. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/sidecar/loader.py +0 -0
  411. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/sidecar/server.py +0 -0
  412. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/train/__init__.py +0 -0
  413. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/train/capture.py +0 -0
  414. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/train/compute_vector.py +0 -0
  415. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/train/extract_pairs.py +0 -0
  416. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/train/scan_sessions.py +0 -0
  417. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/steering/vectors.py +0 -0
  418. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock/whats_new.md +0 -0
  419. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/drydock-acp.spec +0 -0
  420. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/flake.lock +0 -0
  421. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/flake.nix +0 -0
  422. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/outlook_draft_assistant.tar.gz +0 -0
  423. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/README.md +0 -0
  424. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/config_base.toml +0 -0
  425. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/config_best.toml +0 -0
  426. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/deep_noir/pairs/empty_after_bash.jsonl +0 -0
  427. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/deep_noir/pairs/scan_empty_after_bash.jsonl +0 -0
  428. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/domain_spec.md +0 -0
  429. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/experimenter.py +0 -0
  430. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/kernel.py +0 -0
  431. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/mini_prd.md +0 -0
  432. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/mini_prompts.txt +0 -0
  433. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/proposer.py +0 -0
  434. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/research/results.tsv +0 -0
  435. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/resume.md +0 -0
  436. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/README.md +0 -0
  437. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/README.md +0 -0
  438. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/auto_solve_audit.py.deprecated +0 -0
  439. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_babysitter.sh.deprecated +0 -0
  440. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_burndown.sh.deprecated +0 -0
  441. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_burndown_keepalive.sh.deprecated +0 -0
  442. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_burndown_status.py.deprecated +0 -0
  443. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/_archived_eval_harness/hle_eval.py.deprecated +0 -0
  444. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/admiral_probe.py +0 -0
  445. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/archive/auto_test_loop.sh +0 -0
  446. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/archive/monitor_test_battery.sh +0 -0
  447. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/archive/overnight_agents_test.sh +0 -0
  448. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/archive/test_bank.sh +0 -0
  449. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/archive/test_full.sh +0 -0
  450. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/archive/test_smoke.sh +0 -0
  451. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/archive/tui_test.py +0 -0
  452. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/audit_sampler.py +0 -0
  453. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/auto_generate_tests.py +0 -0
  454. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/auto_release.sh +0 -0
  455. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/autonomous_review.sh +0 -0
  456. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/autonomous_review_prompt.md +0 -0
  457. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/backfill_hle_curiosity.py +0 -0
  458. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/backup.sh +0 -0
  459. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/bench_inference.py +0 -0
  460. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/bump_version.py +0 -0
  461. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/classify_pulse.sh +0 -0
  462. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/consume_retrieval_queue.py +0 -0
  463. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/curiosity_idle_cycle.sh +0 -0
  464. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/dedupe_dispatch_queues.py +0 -0
  465. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/deploy_to_github.sh +0 -0
  466. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/dispatch_report.py +0 -0
  467. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/drydock_status.sh +0 -0
  468. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/fetch_arxiv_abstracts.py +0 -0
  469. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/gen_2000_prompts.py +0 -0
  470. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/hle_aggregate.py +0 -0
  471. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/hle_eval_seed.jsonl +0 -0
  472. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/llm_balancer.py +0 -0
  473. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/notify_release.py +0 -0
  474. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/perf_baseline_when_idle.sh +0 -0
  475. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/perf_sweep.py +0 -0
  476. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/poll_issues.sh +0 -0
  477. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/publish_to_pypi.sh +0 -0
  478. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/queue_top.py +0 -0
  479. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/ralph_loop.py +0 -0
  480. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/rejudge_hle.py +0 -0
  481. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/research_babysitter.sh +0 -0
  482. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/shakedown.py +0 -0
  483. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/shakedown_interactive.py +0 -0
  484. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/shakedown_suite.sh +0 -0
  485. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/shakedown_variance.sh +0 -0
  486. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/start_steering_sidecar.sh +0 -0
  487. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_babysitter.sh +0 -0
  488. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_prompts_50.txt +0 -0
  489. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_prompts_realuser.txt +0 -0
  490. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_prompts_tool_agent.txt +0 -0
  491. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
  492. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_telegram_status.py +0 -0
  493. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/stress_watcher.py +0 -0
  494. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/telegram_bot.py +0 -0
  495. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/tool_usage_report.py +0 -0
  496. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/scripts/vllm_failover.sh +0 -0
  497. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/__init__.py +0 -0
  498. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/conftest.py +0 -0
  499. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_acp.py +0 -0
  500. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_agent_thought.py +0 -0
  501. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_bash.py +0 -0
  502. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_compact_session_updates.py +0 -0
  503. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_content.py +0 -0
  504. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_initialize.py +0 -0
  505. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_list_sessions.py +0 -0
  506. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_load_session.py +0 -0
  507. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_multi_session.py +0 -0
  508. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_new_session.py +0 -0
  509. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_proxy_setup_acp.py +0 -0
  510. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_read_file.py +0 -0
  511. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_search_replace.py +0 -0
  512. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_set_config_option.py +0 -0
  513. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_set_mode.py +0 -0
  514. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_set_model.py +0 -0
  515. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_tool_call_session_update.py +0 -0
  516. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_utils.py +0 -0
  517. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/acp/test_write_file.py +0 -0
  518. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_file_indexer.py +0 -0
  519. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_fuzzy.py +0 -0
  520. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
  521. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_path_completer_recursive.py +0 -0
  522. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_path_completion_controller.py +0 -0
  523. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
  524. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_slash_command_controller.py +0 -0
  525. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
  526. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/__init__.py +0 -0
  527. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/data/__init__.py +0 -0
  528. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/data/fireworks.py +0 -0
  529. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/data/mistral.py +0 -0
  530. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/test_anthropic_adapter.py +0 -0
  531. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/test_backend.py +0 -0
  532. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/test_generic_adapter_sanitize.py +0 -0
  533. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/test_reasoning_adapter.py +0 -0
  534. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
  535. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
  536. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
  537. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
  538. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_bell_notifications.py +0 -0
  539. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_braille_renderer.py +0 -0
  540. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_clipboard.py +0 -0
  541. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_commands.py +0 -0
  542. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_copy_shortcuts.py +0 -0
  543. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_external_editor.py +0 -0
  544. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_no_markup_static.py +0 -0
  545. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_question_app.py +0 -0
  546. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_spinner.py +0 -0
  547. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_switching_mode.py +0 -0
  548. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_ui_clipboard_notifications.py +0 -0
  549. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
  550. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_ui_session_resume.py +0 -0
  551. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/test_ui_skill_dispatch.py +0 -0
  552. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/textual_ui/__init__.py +0 -0
  553. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/cli/textual_ui/test_session_picker.py +0 -0
  554. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/conftest.py +0 -0
  555. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_agents.py +0 -0
  556. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_auth_crypto.py +0 -0
  557. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_auth_github.py +0 -0
  558. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
  559. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
  560. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_config_load_dotenv.py +0 -0
  561. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_config_paths.py +0 -0
  562. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_config_resolution.py +0 -0
  563. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_file_logging.py +0 -0
  564. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_plan_session.py +0 -0
  565. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_proxy_setup.py +0 -0
  566. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_slug.py +0 -0
  567. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_telemetry_send.py +0 -0
  568. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_teleport_git.py +0 -0
  569. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_teleport_nuage.py +0 -0
  570. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_teleport_service.py +0 -0
  571. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_trusted_folders.py +0 -0
  572. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/core/test_utils.py +0 -0
  573. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/e2e/common.py +0 -0
  574. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/e2e/conftest.py +0 -0
  575. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/e2e/mock_server.py +0 -0
  576. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/e2e/test_cli_tui_onboarding.py +0 -0
  577. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/e2e/test_cli_tui_streaming.py +0 -0
  578. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
  579. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/fixtures/doc_qa_system_prd.md +0 -0
  580. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/mock/__init__.py +0 -0
  581. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/mock/mock_backend_factory.py +0 -0
  582. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/mock/mock_entrypoint.py +0 -0
  583. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/mock/utils.py +0 -0
  584. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/onboarding/test_run_onboarding.py +0 -0
  585. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/onboarding/test_ui_onboarding.py +0 -0
  586. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/session/test_session_loader.py +0 -0
  587. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/session/test_session_logger.py +0 -0
  588. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/session/test_session_migration.py +0 -0
  589. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/skills/conftest.py +0 -0
  590. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/skills/test_manager.py +0 -0
  591. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/skills/test_models.py +0 -0
  592. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/skills/test_parser.py +0 -0
  593. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
  594. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
  595. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
  596. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
  597. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
  598. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
  599. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
  600. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
  601. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
  602. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
  603. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
  604. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
  605. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
  606. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
  607. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
  608. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
  609. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
  610. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
  611. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
  612. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
  613. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
  614. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
  615. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
  616. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
  617. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
  618. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
  619. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
  620. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
  621. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
  622. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
  623. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
  624. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
  625. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
  626. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
  627. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
  628. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
  629. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
  630. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
  631. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
  632. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
  633. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
  634. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
  635. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
  636. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
  637. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
  638. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
  639. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
  640. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
  641. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
  642. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
  643. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
  644. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
  645. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
  646. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
  647. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
  648. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
  649. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
  650. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
  651. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
  652. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
  653. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/base_snapshot_test_app.py +0 -0
  654. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/conftest.py +0 -0
  655. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/snap_compare.py +0 -0
  656. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
  657. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
  658. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
  659. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
  660. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
  661. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
  662. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
  663. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
  664. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
  665. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
  666. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
  667. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
  668. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
  669. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
  670. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/stubs/fake_backend.py +0 -0
  671. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/stubs/fake_client.py +0 -0
  672. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/stubs/fake_tool.py +0 -0
  673. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_admiral.py +0 -0
  674. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_admiral_hallucinated_tool_filter.py +0 -0
  675. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_admiral_intervention_outcome.py +0 -0
  676. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_admiral_phase3.py +0 -0
  677. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_admiral_proposed.py +0 -0
  678. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_admiral_session_id.py +0 -0
  679. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_admiral_struggle_dedup.py +0 -0
  680. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_agent_auto_compact.py +0 -0
  681. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_agent_backend.py +0 -0
  682. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_agent_observer_streaming.py +0 -0
  683. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_agent_stats.py +0 -0
  684. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_agent_tasks.py +0 -0
  685. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_agent_tool_call.py +0 -0
  686. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_agents.py +0 -0
  687. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_algebra_tool.py +0 -0
  688. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_api_error_recovery.py +0 -0
  689. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_approval_modal_stray_keys.py +0 -0
  690. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_auto_retrieve_soft_nudge.py +0 -0
  691. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_auto_solve.py +0 -0
  692. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_bank_build.py +0 -0
  693. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_bank_debug.py +0 -0
  694. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_bank_multiagent.py +0 -0
  695. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_bank_prd.py +0 -0
  696. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_bank_prd_extended.py +0 -0
  697. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_bank_tools.py +0 -0
  698. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_bank_update.py +0 -0
  699. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_build_projects.py +0 -0
  700. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_checkpoint.py +0 -0
  701. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_chemistry_tool.py +0 -0
  702. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_classifier.py +0 -0
  703. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_cli_programmatic_preload.py +0 -0
  704. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_config_migration.py +0 -0
  705. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_constraint_extract.py +0 -0
  706. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_constraint_hint.py +0 -0
  707. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_context_recovery.py +0 -0
  708. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_count_tool.py +0 -0
  709. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_curiosity.py +0 -0
  710. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_current_bugs.py +0 -0
  711. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_dispatch_report.py +0 -0
  712. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_dispatcher.py +0 -0
  713. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_drydock_regression.py +0 -0
  714. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_drydock_tasks.py +0 -0
  715. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_fake_tool_call_paren_syntax.py +0 -0
  716. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_full_regression.py +0 -0
  717. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_goal.py +0 -0
  718. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_graphrag.py +0 -0
  719. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_graphrag_worked_examples.py +0 -0
  720. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_hallucinated_tool_suppression.py +0 -0
  721. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_history_manager.py +0 -0
  722. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_hle_aggregate.py +0 -0
  723. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_hle_score_method_split.py +0 -0
  724. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_hle_typing.py +0 -0
  725. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_integration.py +0 -0
  726. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_issue_fixes.py +0 -0
  727. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_linear_algebra_tool.py +0 -0
  728. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_local_detect.py +0 -0
  729. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_logic_tool.py +0 -0
  730. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_loop_detection.py +0 -0
  731. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_math_tool.py +0 -0
  732. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_mcp_settings.py +0 -0
  733. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_memory_tool.py +0 -0
  734. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_message_id.py +0 -0
  735. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_message_merging.py +0 -0
  736. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_middleware.py +0 -0
  737. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_multi_agent.py +0 -0
  738. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_number_theory_tool.py +0 -0
  739. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_prolog_tool.py +0 -0
  740. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_read_file_not_found_listing.py +0 -0
  741. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_real_failures.py +0 -0
  742. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_real_issues.py +0 -0
  743. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_real_workflow.py +0 -0
  744. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_reasoning_content.py +0 -0
  745. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_rejudge_hle.py +0 -0
  746. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_retrieval_consumer.py +0 -0
  747. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_retrieve_tool.py +0 -0
  748. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_search_replace_args_not_truncated.py +0 -0
  749. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_session_log_event.py +0 -0
  750. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_set_tool.py +0 -0
  751. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_smoke.py +0 -0
  752. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_solve_tool.py +0 -0
  753. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_stats_tool.py +0 -0
  754. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_steering.py +0 -0
  755. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_steering_capture.py +0 -0
  756. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_steering_compute_vector.py +0 -0
  757. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_steering_extract_pairs.py +0 -0
  758. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_steering_hook.py +0 -0
  759. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_steering_sidecar_chat_inputs.py +0 -0
  760. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_steering_sidecar_hooks.py +0 -0
  761. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_system_prompt.py +0 -0
  762. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_tagged_text.py +0 -0
  763. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_task_complete_nudge.py +0 -0
  764. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_tool_args.py +0 -0
  765. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_truncate_args_valid_json.py +0 -0
  766. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_truncated_arg_path_hint.py +0 -0
  767. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_truncated_search_replace_escalation.py +0 -0
  768. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_truncated_write_escalation.py +0 -0
  769. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_ui_external_editor.py +0 -0
  770. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_ui_input_history.py +0 -0
  771. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_units_tool.py +0 -0
  772. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_user_issues.py +0 -0
  773. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_verify_tool.py +0 -0
  774. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_wall_of_text_rescue.py +0 -0
  775. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_workloads.py +0 -0
  776. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/test_write_file_missing_path.py +0 -0
  777. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/testbank_helpers.py +0 -0
  778. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_ask_user_question.py +0 -0
  779. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash.py +0 -0
  780. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_binary_grep_hint.py +0 -0
  781. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_consec_empty_search.py +0 -0
  782. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
  783. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
  784. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_error_loop_breaker.py +0 -0
  785. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
  786. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
  787. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
  788. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
  789. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_exit_plan_mode.py +0 -0
  790. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_grep.py +0 -0
  791. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
  792. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_invoke_context.py +0 -0
  793. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_manager_gemma_derived_models.py +0 -0
  794. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_manager_get_tool_config.py +0 -0
  795. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_mcp.py +0 -0
  796. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_mcp_sampling.py +0 -0
  797. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
  798. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_read_file_dedup_reembed.py +0 -0
  799. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_read_file_directory.py +0 -0
  800. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_read_file_limit_truncation.py +0 -0
  801. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_append_fallback.py +0 -0
  802. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_dir_path.py +0 -0
  803. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_empty_content.py +0 -0
  804. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_file_not_found.py +0 -0
  805. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
  806. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_hard_stop.py +0 -0
  807. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_malformed_block.py +0 -0
  808. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
  809. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_placeholder.py +0 -0
  810. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
  811. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_task.py +0 -0
  812. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_ui_bash_execution.py +0 -0
  813. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_webfetch.py +0 -0
  814. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_websearch.py +0 -0
  815. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
  816. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/tools/test_write_file_missing_path_hint.py +0 -0
  817. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
  818. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
  819. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/test_do_update.py +0 -0
  820. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
  821. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/test_github_update_gateway.py +0 -0
  822. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
  823. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/test_ui_update_notification.py +0 -0
  824. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/test_update_use_case.py +0 -0
  825. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/tests/update_notifier/test_whats_new.py +0 -0
  826. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/worked_examples/README.md +0 -0
  827. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/worked_examples/cli_subcommand_dispatch.py +0 -0
  828. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/worked_examples/lookup.json +0 -0
  829. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/worked_examples/sql_parser.py +0 -0
  830. {drydock_cli-2.8.58 → drydock_cli-2.8.59}/worked_examples/tree_walking_interpreter.py +0 -0
@@ -0,0 +1 @@
1
+ 2716549
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drydock-cli
3
- Version: 2.8.58
3
+ Version: 2.8.59
4
4
  Summary: Local-first CLI coding agent — tested with Gemma 4 26B via vLLM
5
5
  Project-URL: Homepage, https://github.com/fbobe321/drydock
6
6
  Project-URL: Repository, https://github.com/fbobe321/drydock
@@ -1143,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("No MCP servers configured. Add servers to ~/.drydock/config.toml")
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
  )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "drydock-cli"
3
- version = "2.8.58"
3
+ version = "2.8.59"
4
4
  description = "Local-first CLI coding agent — tested with Gemma 4 26B via vLLM"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
@@ -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
- re.compile(r"(?m)^#{1,6}\s+\w"), # ##heading
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,102 @@
1
1
  # Drydock Trip Log
2
2
 
3
+ ## 2026-05-18 04:00 UTC tick
4
+ - Stress: 793/1658, 164 done, 0 skip, 0 timeout (PID 2666472, 1h49m uptime, RSS=618MB)
5
+ - Write rate: normal (sessions completing, no stalls)
6
+ - Admiral last 30 min: 0 new fires (harness:bash_generic last at 2026-05-17T23:50, thinking_stall at 18:40)
7
+ - vLLM 400s: 0 new (llama.cpp on :8000 healthy, Q3_K_M confirmed)
8
+ - GH issues: 0 open
9
+ - Dispatch queue: harness=9 total (6 thinking_stall + 3 bash_generic, all addressed by existing commits), retrieval=0 actionable (all already ingested), curiosity=2690 pending (mostly unknown_term + hle_failure; HLE paused per operator)
10
+ - Action this tick: no fix — system healthy; retrieval-drain 0 actionable; bash_generic loop was isolated incident (one import-check loop in tool_agent session, existing FORCE_STOP detection handled it, model resumed after mute which is expected advisory-only behavior)
11
+
12
+ ## 2026-05-18 03:00 UTC tick
13
+ - Stress: PID 2666472 alive (49+ min, cycling through PRDs normally — API: OpenAPI generation at tick time)
14
+ - Write rate: sessions completing (session_025001 ran 126 messages on tool_agent/MinIO PRD)
15
+ - Admiral last 30 min: 0 new fires (bash_generic last at 23:50, thinking_stall last at 18:40)
16
+ - vLLM 400s: 6 context-overflow errors (33388 > 32768 tokens; emergency compaction handled; session continued)
17
+ - GH issues: 0 open
18
+ - Dispatch queue: harness=9 (6 thinking_stall + 3 bash_generic, both patterns already addressed by commits 1191431 / source), retrieval=0 actionable, curiosity=2674 pending (all hle_failure/unknown_term; HLE babysitter paused per operator directive)
19
+ - Action this tick: no fix — system healthy; 2 post-v2.8.58 fixes (1191431, 77275c2) in source pending next auto-release at ~05:00 UTC; retrieval-drain 0 actionable; curiosity queue all HLE-pattern (paused)
20
+
21
+ ## 2026-05-18 02:30 UTC tick
22
+ - Stress: PID 2666472 (babysitter restarted, now at step 629/1658, tool_agent PRD, healthy)
23
+ - Write rate: N/A (session cycling normally)
24
+ - Admiral last 30 min: thinking_stall last at 18:40, bash_generic 3x at 23:50 (addressed by 1191431)
25
+ - vLLM 400s: 0 context errors in last 30m (1bcd5d1 search_replace truncation fix holding)
26
+ - GH issues: 0 open
27
+ - Dispatch queue: harness=9 (all addressed), retrieval=0 actionable, curiosity=2665 pending (409 hle_failure paused, 2254 unknown_term noise)
28
+ - Action this tick: no action — system healthy; all dispatch patterns addressed by recent commits; curiosity queue is HLE/unknown_term noise (babysitter paused per operator directive); retrieval-drain: 0 projects ingested
29
+
30
+ ## 2026-05-18 02:00 UTC tick
31
+ - Stress: PID 2501045 alive (9h+), at prompt 620/1658 (storage backend cycle, +0 writes normal for context-less follow-on prompts)
32
+ - Write rate: 0 writes/prompt (expected post-session-reset for storage backend prompts without prior context)
33
+ - Admiral last 30 min: thinking_stall fired once, outcome=unstuck (working correctly)
34
+ - llamacpp 400s: 5 context overflow errors (33668 > 32768 token limit) — multiple concurrent sessions each failing once; emergency compaction truncates and recovers; no drydock bug
35
+ - GH issues: 0 open
36
+ - Dispatch queue: harness=10 (thinking_stall + bash_generic), retrieval=0 actionable, curiosity=2665 pending (all hle_failure/unknown_term — babysitter paused)
37
+ - Sentinels: hle_babysitter, hle_burndown, hle_burndown_keepalive, vllm_failover, watchdog all paused
38
+ - Action this tick: no fix committed — last tick (01:30) shipped 1191431 (bash_generic loop-break via tool-error detection); retrieval drain: 0 actionable; curiosity top 3 all HLE-failure with babysitter paused — no action taken; model+balancer healthy
39
+
40
+ ## 2026-05-18 01:30 UTC tick
41
+ - Stress: PID 2501045 alive (8h34m on tool_agent PRD step 38+, sessions cycling every ~15 min — healthy)
42
+ - Write rate: N/A
43
+ - Admiral last 30 min: 3 bash_generic fires at 23:50 (model repeating import-check bash call; addressed by commit 1191431 last tick)
44
+ - vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M on :8000, balancer on :8001 both healthy)
45
+ - GH issues: 0 open
46
+ - Dispatch queue: harness=1312 total (17 thinking_stall + 3 bash_generic in last 20; bash_generic addressed; no new patterns since 23:50), retrieval=3 (all stale, already ingested), curiosity=2665 pending (409 hle_failure, 2254 unknown_term — HLE paused per directive)
47
+ - Action this tick: no action — system healthy; retrieval-drain: 0 actionable; top curiosity items are hle_failure (babysitter paused) and unknown_term noise; bash_generic pattern already addressed by 1191431; autonomous_review started at 01:30 UTC
48
+
49
+ ## 2026-05-18 01:00 UTC tick
50
+ - Stress: 562/1658 (tool_agent storage backends, PID 2501045, 9h elapsed, healthy)
51
+ - Write rate: N/A (storage-backend add prompts produce mostly text responses)
52
+ - Admiral last 30 min: N/A
53
+ - vLLM 400s: 6 log lines in 30m (normal llamacpp slot-checkpoint output, not errors)
54
+ - GH issues: 0 open
55
+ - Dispatch queue: harness=11 (8 thinking_stall informational, 3 bash_generic from 23:48 loop — all handled by existing mechanisms; intervention on bash_generic at 23:48 failed but FORCE_STOP at 5 runs covers it), retrieval=0 actionable, curiosity=494 pending (88 hle_failure paused, 405 unknown_term noise)
56
+ - Action this tick: no action — system healthy. 00:35 UTC autonomous_review shipped `_looks_empty` tool_error match fix (v2.8.58, already released). Bash_generic loop pattern reviewed; existing 5-run repetition loop-breaker in bash.py covers import-check loops. No new actionable bugs.
57
+
58
+ ## 2026-05-18 00:00 UTC tick
59
+ - Stress: 486/1658 (tool_agent storage backend prompts, PID 2501045, 12h elapsed)
60
+ - Write rate: 14% (7/50 last steps had write_file calls — storage backend adds expected to be low)
61
+ - Admiral last 30 min: 22 fires (23:xx UTC window)
62
+ - vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M clean)
63
+ - GH issues: 0 open
64
+ - Dispatch queue: harness=11 (3 new loop:bash_generic at 23:48 from single session, outcome=failed then FORCE_STOP took over; 8 stale thinking_stall), retrieval=0 actionable, curiosity=2664 pending (HLE babysitter paused per sentinel)
65
+ - Action this tick: no action — system healthy. loop:bash_generic pattern examined; existing 3-consecutive-identical FORCE_STOP in agent_loop.py is catching it correctly. HLE curiosity items not actionable (babysitter paused). Retrieval drain: 0 ingested.
66
+
67
+ ## 2026-05-17 23:30 UTC tick
68
+ - Stress: PID 2501045 running (tool_agent PRD, 6h34m elapsed, healthy); new sessions created at 23:13, 23:15, 23:24 UTC — progressing normally
69
+ - Write rate: N/A (no session log linked to stress pid)
70
+ - Admiral last 30 min: N/A
71
+ - vLLM 400s: 0 (44 grep hits are informational slot-update lines, not errors)
72
+ - GH issues: 0 open
73
+ - Dispatch queue: harness=8 (thinking_stall, stale — already addressed), retrieval=0 actionable (3 queue entries, all recently ingested), curiosity=2664 pending (409 hle_failure paused per operator directive, 2254 unknown_term noise)
74
+ - Action this tick: no action — system healthy; autonomous_review.sh started its 23:30 tick; top curiosity items are hle_failure (HLE babysitter paused per CLAUDE.md 2026-05-17 directive) and unknown_term noise not worth acting on
75
+
76
+ ## 2026-05-17 22:30 UTC tick
77
+ - Stress: PID 2501045 running 5h37m, stress_shakedown.py on tool_agent PRD (--resume-from-step 38), 181 sessions today; current session 48ba8dd6 writing plugin files (secret_scanning_tool.py, pii_redaction_tool.py) — healthy
78
+ - Write rate: N/A (tool log shows writes in current session, exploration in prior)
79
+ - Admiral last 30 min: N/A (HLE paused)
80
+ - vLLM 400s: ~102 log lines in 6h (normal for llamacpp, not error class)
81
+ - GH issues: 0 open
82
+ - Dispatch queue: harness=8 (all thinking_stall, no new patterns), retrieval=0 actionable (all already ingested), curiosity=2664 pending (409 hle_failure w/ HLE paused, 2254 unknown_term noise — top items are math capability gaps, not prompt or infra bugs)
83
+ - Action this tick: no code change — system stable; all queued harness patterns addressed by recent commits; autonomous_review started at 22:30; curiosity items are HLE capability gaps not actionable while babysitter paused
84
+
85
+ ## 2026-05-17 22:00 UTC tick
86
+ - Stress: PID 2501045 running 5h+, tool_agent suite (step 38 resume), session 214835 active at 106 messages — healthy
87
+ - vLLM 400s: 0 (model Q3_K_M, llamacpp-gemma4 healthy 33h, 62 tok/s)
88
+ - GH issues: 0 open
89
+ - Dispatch queue: harness=1309 (thinking_stall only, admiral nudge self-resolves per log), retrieval=3 drained (1 project ingested: 403_tool_agent), curiosity=2660 pending (HLE loops paused per directive — not actionable)
90
+ - Action this tick: retrieval-drain: 1 project ingested; no source fix needed — system healthy
91
+
92
+ ## 2026-05-17 21:30 UTC tick
93
+ - Stress: PID 2501045 running 4h34m, tool_agent stress_shakedown.py resuming from step 38 — active and healthy
94
+ - llamacpp 400s: 0
95
+ - GH issues: 0 open
96
+ - Dispatch queue: harness=9 (all thinking_stall, admiral nudge resolving — latest log shows "unstuck"), retrieval=0 actionable, curiosity=2659 pending (2249 unknown_term, 409 hle_failure, 1 evidence_conflict; HLE paused per directive)
97
+ - Model: Q3_K_M on llamacpp-gemma4 (:8000), balancer on :8001 — both healthy, 0 errors
98
+ - Action this tick: no action — system fully healthy, no queued patterns unaddressed by recent commits
99
+
3
100
  ## 2026-05-17 21:00 UTC tick
4
101
  - Stress: ~680/1658 (PID 2501045, ~4h05m elapsed, tool_agent suite; consecutive SKIPs on API-shape prompts normal, FORCE-RESET recovering)
5
102
  - Write rate: tracking (no aggregated figure — recent prompts are API-heavy, SKIP-prone)
@@ -7555,3 +7652,40 @@ restarted, cron self-match bug fixed in this same session).
7555
7652
  - GH issues: 0 open
7556
7653
  - Dispatch queue: harness=7 (all stale thinking_stall, resolved), retrieval=0 actionable, curiosity=2548 pending (409 hle_failure paused, 2139 unknown_term noise)
7557
7654
  - Action this tick: committed fix 1bcd5d1 — removed search_replace exclusion from _truncate_old_tool_results(); old search_replace args (SEARCH/REPLACE blocks with full file content) were accumulating indefinitely past KEEP_RECENT=4 and pushing context over the 32768-token llama.cpp limit in long sessions with 20+ edits; truncated to JSON stub same as write_file args. auto_release will ship at next CDT tick.
7655
+
7656
+ ## 2026-05-17 23:00 UTC tick
7657
+ - Stress: PID 2501045 (tool_agent, step 38+, 6h+ elapsed, healthy)
7658
+ - Write rate: N/A (no session log for current run)
7659
+ - Admiral last 30 min: N/A
7660
+ - vLLM 400s: 0 (llamacpp-gemma4 Q3_K_M, no errors in last 30m)
7661
+ - GH issues: 0 open
7662
+ - Dispatch queue: harness=8 (all thinking_stall, stale — already addressed in agent_loop.py), retrieval=0 actionable, curiosity=2664 pending (409 hle_failure, 2254 unknown_term — HLE babysitter paused per operator directive)
7663
+ - Action this tick: no action — system healthy; retrieval-drain: 0 projects ingested; thinking_stall dispatch pattern already handled in source; top curiosity items are hle_failure (paused) and unknown_term noise; autonomous_review confirmed healthy at 22:30 UTC same findings
7664
+
7665
+ ## 2026-05-18 00:30 UTC tick
7666
+ - Stress: PID 2501045 alive (7h+ on tool_agent PRD, step 38+, sessions cycling normally)
7667
+ - Write rate: session dirs updating ~every 10-15 min
7668
+ - Admiral last 30 min: 3 bash_generic fires at 23:50, thinking_stall last at 18:40
7669
+ - vLLM 400s: 0 (model on Q3_K_M at :8000, balancer at :8001 healthy)
7670
+ - GH issues: 0 open
7671
+ - Dispatch queue: harness=11, retrieval=0 actionable, curiosity=2664 pending
7672
+ - Sentinels: hle_babysitter, hle_burndown, hle_burndown_keepalive, vllm_failover, watchdog all paused
7673
+ - Action this tick: committed fix — _looks_empty now matches <tool_error> so Check 0 loop detection fires after 3 repeated failing tool calls (was 8 via Check 1); also improved read_mcp_resource error messages to suggest read_file/bash when file:// URI fails with no MCP servers configured. Addresses pattern harness:loop:bash_generic. Retrieval drain: 0 actionable (already ingested). All 72 loop detection tests pass.
7674
+
7675
+ ## 2026-05-18 03:30 UTC tick
7676
+ - Stress: 749/1658
7677
+ - Write rate: N/A (current prompts are API knowledge questions with 0 writes expected)
7678
+ - Admiral last 30 min: 0 fires
7679
+ - vLLM 400s: 47 in 30 min (all context-overflow: 34K–35K token requests against 32K ctx)
7680
+ - GH issues: 0 open
7681
+ - Dispatch queue: harness=9 pending (thinking_stall×6 pre-fix, bash_generic×3 addressed by 1191431), retrieval=0 actionable, curiosity=2681 pending (mostly unknown_term/hle_failure, HLE paused)
7682
+ - Action this tick: committed fix 64587fa — context-overflow recovery was silently failing because the llm_balancer wraps backend 400s as "HTTP Error 400: Bad Request" (with colon), but the recovery condition checked for "400 bad request" (no colon). Added "400: bad request" and "both backends failed" to the elif. All other services healthy.
7683
+
7684
+ ## 2026-05-18 04:30 UTC tick
7685
+ - Stress: PID 2666472 alive (2h19m uptime)
7686
+ - Write rate: N/A (stress harness running)
7687
+ - Admiral last 30 min: 3 fires (harness:loop:bash_generic, 2026-05-17T23:50)
7688
+ - vLLM 400s: N/A (llama.cpp on :8000, balancer on :8001 — both healthy)
7689
+ - GH issues: no output (gh command returned empty)
7690
+ - Dispatch queue: harness=9, retrieval=0 actionable, curiosity=2694 pending (unknown_term dominant)
7691
+ - Action this tick: committed fix — escalate bash identical-call WARNING to FORCE_STOP (addresses pattern harness:loop:bash_generic). Model was running `python3 -c "from tool_agent.storage.factory import get_storag..."` 3+ times after import check passed; WARNING path only bumped temperature which the model ignored. 4+ identical bash calls now force text-only for 1 turn. All 72 loop-detection tests pass.
@@ -326,7 +326,7 @@ wheels = [
326
326
 
327
327
  [[package]]
328
328
  name = "drydock-cli"
329
- version = "2.8.49"
329
+ version = "2.8.58"
330
330
  source = { editable = "." }
331
331
  dependencies = [
332
332
  { name = "agent-client-protocol" },
@@ -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