drydock-cli 2.8.8__tar.gz → 2.8.9__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 (734) hide show
  1. drydock_cli-2.8.9/.auto_release.lock +1 -0
  2. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/PKG-INFO +1 -1
  3. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/agent_loop.py +6 -4
  4. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/bash.py +25 -4
  5. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/pyproject.toml +1 -1
  6. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/trip_log.md +108 -0
  7. drydock_cli-2.8.8/.auto_release.lock +0 -1
  8. drydock_cli-2.8.8/.claude/scheduled_tasks.lock +0 -1
  9. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/CODEOWNERS +0 -0
  10. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
  11. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  12. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  13. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/workflows/build-and-upload.yml +0 -0
  14. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/workflows/ci.yml +0 -0
  15. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/workflows/issue-labeler.yml +0 -0
  16. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.github/workflows/release.yml +0 -0
  17. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.gitignore +0 -0
  18. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.pre-commit-config.yaml +0 -0
  19. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.python-version +0 -0
  20. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.typos.toml +0 -0
  21. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.vscode/extensions.json +0 -0
  22. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.vscode/launch.json +0 -0
  23. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/.vscode/settings.json +0 -0
  24. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/AGENTS.md +0 -0
  25. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/Admiral.md +0 -0
  26. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/CHANGELOG.md +0 -0
  27. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/CLAUDE.md +0 -0
  28. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/CONTRIBUTING.md +0 -0
  29. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/DEEP_NOIR_PRD.md +0 -0
  30. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/DEPLOYMENT.md +0 -0
  31. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/HLE_PRD.md +0 -0
  32. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/JETSON_BENCH.md +0 -0
  33. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/LICENSE +0 -0
  34. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/MODEL_SHORTCOMINGS.md +0 -0
  35. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/NOTICE +0 -0
  36. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/README.md +0 -0
  37. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/SOVEREIGN_PRD.md +0 -0
  38. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/TRIAGE_v1.md +0 -0
  39. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/action.yml +0 -0
  40. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/README.md +0 -0
  41. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results1.tsv +0 -0
  42. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results13.tsv +0 -0
  43. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results14.tsv +0 -0
  44. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results15.tsv +0 -0
  45. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results16.tsv +0 -0
  46. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results17.tsv +0 -0
  47. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results18.tsv +0 -0
  48. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results19.tsv +0 -0
  49. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results2.tsv +0 -0
  50. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results20.tsv +0 -0
  51. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results3.tsv +0 -0
  52. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results4.tsv +0 -0
  53. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results5.tsv +0 -0
  54. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results6.tsv +0 -0
  55. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results7.tsv +0 -0
  56. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results8.tsv +0 -0
  57. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results9.tsv +0 -0
  58. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/baseline_history/results_evolved_v1.tsv +0 -0
  59. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/distribution/zed/LICENSE +0 -0
  60. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/distribution/zed/extension.toml +0 -0
  61. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/distribution/zed/icons/mistral_vibe.svg +0 -0
  62. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/README.md +0 -0
  63. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/acp-setup.md +0 -0
  64. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/BASELINE_412.md +0 -0
  65. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/Drydock_rebrand.md +0 -0
  66. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
  67. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
  68. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
  69. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/PRD.md +0 -0
  70. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/drydock_terms.md +0 -0
  71. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/archive/resume.md +0 -0
  72. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/docs/proxy-setup.md +0 -0
  73. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/__init__.py +0 -0
  74. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/__main__.py +0 -0
  75. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/__init__.py +0 -0
  76. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/acp_agent_loop.py +0 -0
  77. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/acp_logger.py +0 -0
  78. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/entrypoint.py +0 -0
  79. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/__init__.py +0 -0
  80. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/base.py +0 -0
  81. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/builtins/bash.py +0 -0
  82. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/builtins/read_file.py +0 -0
  83. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/builtins/search_replace.py +0 -0
  84. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/builtins/todo.py +0 -0
  85. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/builtins/write_file.py +0 -0
  86. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/tools/session_update.py +0 -0
  87. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/acp/utils.py +0 -0
  88. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/__init__.py +0 -0
  89. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/detectors.py +0 -0
  90. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/detectors_proposed.py +0 -0
  91. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/history.py +0 -0
  92. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/interventions.py +0 -0
  93. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/llm_analyzer.py +0 -0
  94. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/metrics.py +0 -0
  95. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/opus_escalator.py +0 -0
  96. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/persistence.py +0 -0
  97. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/policy.py +0 -0
  98. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/proposer.py +0 -0
  99. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/stager.py +0 -0
  100. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/task_classifier.py +0 -0
  101. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/tuning.py +0 -0
  102. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/validator.py +0 -0
  103. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/admiral/worker.py +0 -0
  104. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/__init__.py +0 -0
  105. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/autocompletion/__init__.py +0 -0
  106. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/autocompletion/base.py +0 -0
  107. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/autocompletion/path_completion.py +0 -0
  108. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/autocompletion/slash_command.py +0 -0
  109. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/cli.py +0 -0
  110. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/clipboard.py +0 -0
  111. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/commands.py +0 -0
  112. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/entrypoint.py +0 -0
  113. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/fix_windows_path.py +0 -0
  114. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/history_manager.py +0 -0
  115. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
  116. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
  117. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
  118. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/terminal_setup.py +0 -0
  119. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/__init__.py +0 -0
  120. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
  121. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/app.py +0 -0
  122. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/app.tcss +0 -0
  123. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/external_editor.py +0 -0
  124. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
  125. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
  126. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
  127. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
  128. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
  129. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
  130. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
  131. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
  132. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
  133. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
  134. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
  135. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
  136. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
  137. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
  138. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
  139. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
  140. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
  141. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
  142. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
  143. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/compact.py +0 -0
  144. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
  145. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
  146. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
  147. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/loading.py +0 -0
  148. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/messages.py +0 -0
  149. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
  150. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
  151. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
  152. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
  153. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
  154. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
  155. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
  156. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
  157. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
  158. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/tools.py +0 -0
  159. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
  160. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
  161. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/windowing/history.py +0 -0
  162. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
  163. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/textual_ui/windowing/state.py +0 -0
  164. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/__init__.py +0 -0
  165. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
  166. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
  167. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
  168. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
  169. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
  170. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/update.py +0 -0
  171. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/cli/update_notifier/whats_new.py +0 -0
  172. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/__init__.py +0 -0
  173. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/agents/__init__.py +0 -0
  174. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/agents/manager.py +0 -0
  175. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/agents/models.py +0 -0
  176. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/auth/__init__.py +0 -0
  177. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/auth/crypto.py +0 -0
  178. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/auth/github.py +0 -0
  179. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/__init__.py +0 -0
  180. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/completers.py +0 -0
  181. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
  182. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
  183. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
  184. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/file_indexer/store.py +0 -0
  185. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
  186. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/fuzzy.py +0 -0
  187. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/path_prompt.py +0 -0
  188. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
  189. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/build_orchestrator.py +0 -0
  190. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/checkpoint.py +0 -0
  191. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/classifier/__init__.py +0 -0
  192. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/classifier/__main__.py +0 -0
  193. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/classifier/classifier.py +0 -0
  194. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/classifier/dispatcher.py +0 -0
  195. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/classifier/rules.py +0 -0
  196. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/classifier/signal.py +0 -0
  197. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/__init__.py +0 -0
  198. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/_dotenv.py +0 -0
  199. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/_settings.py +0 -0
  200. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/doctor.py +0 -0
  201. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/harness_files/__init__.py +0 -0
  202. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/harness_files/_harness_manager.py +0 -0
  203. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/harness_files/_paths.py +0 -0
  204. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/local_detect.py +0 -0
  205. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/config/migrate.py +0 -0
  206. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/consultant.py +0 -0
  207. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/context_recovery.py +0 -0
  208. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/drydock_states.py +0 -0
  209. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/hooks.py +0 -0
  210. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/__init__.py +0 -0
  211. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/backend/anthropic.py +0 -0
  212. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/backend/base.py +0 -0
  213. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/backend/factory.py +0 -0
  214. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/backend/generic.py +0 -0
  215. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/backend/mistral.py +0 -0
  216. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
  217. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/backend/vertex.py +0 -0
  218. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/exceptions.py +0 -0
  219. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/format.py +0 -0
  220. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/message_utils.py +0 -0
  221. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/llm/types.py +0 -0
  222. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/logger.py +0 -0
  223. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/middleware.py +0 -0
  224. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/output_formatters.py +0 -0
  225. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/paths/__init__.py +0 -0
  226. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/paths/_drydock_home.py +0 -0
  227. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/paths/_local_config_walk.py +0 -0
  228. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/paths/conventions.py +0 -0
  229. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/plan_session.py +0 -0
  230. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/plugins.py +0 -0
  231. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/programmatic.py +0 -0
  232. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/__init__.py +0 -0
  233. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/builder.md +0 -0
  234. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/cli.md +0 -0
  235. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/compact.md +0 -0
  236. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/dangerous_directory.md +0 -0
  237. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/diagnostic.md +0 -0
  238. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/explore.md +0 -0
  239. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/gemma4.md +0 -0
  240. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/planner.md +0 -0
  241. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/project_context.md +0 -0
  242. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/prompts/tests.md +0 -0
  243. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/proxy_setup.py +0 -0
  244. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/session/agent_memory.py +0 -0
  245. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/session/checkpoints.py +0 -0
  246. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/session/session_loader.py +0 -0
  247. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/session/session_logger.py +0 -0
  248. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/session/session_migration.py +0 -0
  249. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/session/state_file.py +0 -0
  250. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/session_checker.py +0 -0
  251. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/skills/__init__.py +0 -0
  252. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/skills/manager.py +0 -0
  253. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/skills/models.py +0 -0
  254. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/skills/parser.py +0 -0
  255. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/slug.py +0 -0
  256. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/steering_hook.py +0 -0
  257. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/system_prompt.py +0 -0
  258. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/telemetry/__init__.py +0 -0
  259. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/telemetry/send.py +0 -0
  260. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/teleport/errors.py +0 -0
  261. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/teleport/git.py +0 -0
  262. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/teleport/nuage.py +0 -0
  263. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/teleport/teleport.py +0 -0
  264. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/teleport/types.py +0 -0
  265. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/base.py +0 -0
  266. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/_task_manager.py +0 -0
  267. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/ask_user_question.py +0 -0
  268. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/cron.py +0 -0
  269. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
  270. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/glob_tool.py +0 -0
  271. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/grep.py +0 -0
  272. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/invoke_skill.py +0 -0
  273. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/lsp.py +0 -0
  274. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/mcp_resources.py +0 -0
  275. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/notebook_edit.py +0 -0
  276. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/powershell.py +0 -0
  277. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
  278. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
  279. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/bash.md +0 -0
  280. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/cron.md +0 -0
  281. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/glob.md +0 -0
  282. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/grep.md +0 -0
  283. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
  284. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
  285. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
  286. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
  287. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
  288. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
  289. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
  290. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
  291. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
  292. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/task.md +0 -0
  293. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
  294. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/todo.md +0 -0
  295. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
  296. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
  297. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
  298. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
  299. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
  300. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/read_file.py +0 -0
  301. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/retrieve.py +0 -0
  302. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/search_replace.py +0 -0
  303. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/task.py +0 -0
  304. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/todo.py +0 -0
  305. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/tool_search.py +0 -0
  306. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/webfetch.py +0 -0
  307. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/websearch.py +0 -0
  308. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/worktree.py +0 -0
  309. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/builtins/write_file.py +0 -0
  310. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/injection_guard.py +0 -0
  311. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/manager.py +0 -0
  312. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/mcp/__init__.py +0 -0
  313. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/mcp/registry.py +0 -0
  314. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/mcp/tools.py +0 -0
  315. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/mcp_sampling.py +0 -0
  316. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/ui.py +0 -0
  317. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/tools/utils.py +0 -0
  318. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/trusted_folders.py +0 -0
  319. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/types.py +0 -0
  320. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/core/utils.py +0 -0
  321. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/graphrag/__init__.py +0 -0
  322. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/graphrag/__main__.py +0 -0
  323. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/graphrag/code_indexer.py +0 -0
  324. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/graphrag/retriever.py +0 -0
  325. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/graphrag/storage.py +0 -0
  326. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/graphrag/text_indexer.py +0 -0
  327. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/__init__.py +0 -0
  328. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/base.py +0 -0
  329. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/onboarding.tcss +0 -0
  330. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/screens/__init__.py +0 -0
  331. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/screens/api_key.py +0 -0
  332. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/screens/choice.py +0 -0
  333. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/screens/local_model.py +0 -0
  334. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/onboarding/screens/welcome.py +0 -0
  335. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
  336. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
  337. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/__init__.py +0 -0
  338. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/api-design/SKILL.md +0 -0
  339. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/audit-tests/SKILL.md +0 -0
  340. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/batch/SKILL.md +0 -0
  341. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/commit-code/SKILL.md +0 -0
  342. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/context-summary/SKILL.md +0 -0
  343. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/create-presentation/SKILL.md +0 -0
  344. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/deep-research/SKILL.md +0 -0
  345. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/deploy/SKILL.md +0 -0
  346. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/diff-review/SKILL.md +0 -0
  347. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/doc-gen/SKILL.md +0 -0
  348. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/explain-code/SKILL.md +0 -0
  349. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/explore-code/SKILL.md +0 -0
  350. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/fix-issue/SKILL.md +0 -0
  351. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/git-ops/SKILL.md +0 -0
  352. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/init-project/SKILL.md +0 -0
  353. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/investigate/SKILL.md +0 -0
  354. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/loop/SKILL.md +0 -0
  355. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/migrate/SKILL.md +0 -0
  356. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/perf-analyze/SKILL.md +0 -0
  357. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/plan-impl/SKILL.md +0 -0
  358. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/pr-review/SKILL.md +0 -0
  359. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/refactor/SKILL.md +0 -0
  360. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/regex-help/SKILL.md +0 -0
  361. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/review/SKILL.md +0 -0
  362. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/security-review/SKILL.md +0 -0
  363. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/ship/SKILL.md +0 -0
  364. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/simplify/SKILL.md +0 -0
  365. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/strong-tests/SKILL.md +0 -0
  366. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/skills/test-verify/SKILL.md +0 -0
  367. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/__init__.py +0 -0
  368. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/__main__.py +0 -0
  369. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/applier.py +0 -0
  370. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/config.py +0 -0
  371. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/registry.py +0 -0
  372. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/sandbox.py +0 -0
  373. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/sidecar/__init__.py +0 -0
  374. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/sidecar/header_parser.py +0 -0
  375. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/sidecar/server.py +0 -0
  376. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/steering/vectors.py +0 -0
  377. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock/whats_new.md +0 -0
  378. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/drydock-acp.spec +0 -0
  379. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/flake.lock +0 -0
  380. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/flake.nix +0 -0
  381. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/README.md +0 -0
  382. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/config_base.toml +0 -0
  383. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/config_best.toml +0 -0
  384. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/domain_spec.md +0 -0
  385. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/experimenter.py +0 -0
  386. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/kernel.py +0 -0
  387. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/mini_prd.md +0 -0
  388. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/mini_prompts.txt +0 -0
  389. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/proposer.py +0 -0
  390. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/research/results.tsv +0 -0
  391. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/README.md +0 -0
  392. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/admiral_probe.py +0 -0
  393. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/archive/auto_test_loop.sh +0 -0
  394. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/archive/monitor_test_battery.sh +0 -0
  395. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/archive/overnight_agents_test.sh +0 -0
  396. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/archive/test_bank.sh +0 -0
  397. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/archive/test_full.sh +0 -0
  398. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/archive/test_smoke.sh +0 -0
  399. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/archive/tui_test.py +0 -0
  400. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/audit_sampler.py +0 -0
  401. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/auto_generate_tests.py +0 -0
  402. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/auto_release.sh +0 -0
  403. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/autonomous_review.sh +0 -0
  404. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/autonomous_review_prompt.md +0 -0
  405. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/backup.sh +0 -0
  406. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/bump_version.py +0 -0
  407. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/classify_pulse.sh +0 -0
  408. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/consume_retrieval_queue.py +0 -0
  409. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/deploy_to_github.sh +0 -0
  410. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/fetch_arxiv_abstracts.py +0 -0
  411. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/gen_2000_prompts.py +0 -0
  412. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/hle_eval.py +0 -0
  413. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/hle_eval_seed.jsonl +0 -0
  414. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/llm_balancer.py +0 -0
  415. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/notify_release.py +0 -0
  416. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/perf_baseline_when_idle.sh +0 -0
  417. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/perf_sweep.py +0 -0
  418. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/poll_issues.sh +0 -0
  419. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/publish_to_pypi.sh +0 -0
  420. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/queue_top.py +0 -0
  421. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/ralph_loop.py +0 -0
  422. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/research_babysitter.sh +0 -0
  423. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/shakedown.py +0 -0
  424. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/shakedown_interactive.py +0 -0
  425. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/shakedown_suite.sh +0 -0
  426. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/shakedown_variance.sh +0 -0
  427. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/start_steering_sidecar.sh +0 -0
  428. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_babysitter.sh +0 -0
  429. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_prompts_50.txt +0 -0
  430. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_prompts_realuser.txt +0 -0
  431. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_prompts_tool_agent.txt +0 -0
  432. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
  433. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_shakedown.py +0 -0
  434. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_telegram_status.py +0 -0
  435. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/stress_watcher.py +0 -0
  436. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/telegram_bot.py +0 -0
  437. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/scripts/vllm_failover.sh +0 -0
  438. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/__init__.py +0 -0
  439. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/conftest.py +0 -0
  440. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_acp.py +0 -0
  441. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_agent_thought.py +0 -0
  442. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_bash.py +0 -0
  443. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_compact_session_updates.py +0 -0
  444. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_content.py +0 -0
  445. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_initialize.py +0 -0
  446. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_list_sessions.py +0 -0
  447. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_load_session.py +0 -0
  448. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_multi_session.py +0 -0
  449. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_new_session.py +0 -0
  450. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_proxy_setup_acp.py +0 -0
  451. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_read_file.py +0 -0
  452. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_search_replace.py +0 -0
  453. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_set_config_option.py +0 -0
  454. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_set_mode.py +0 -0
  455. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_set_model.py +0 -0
  456. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_tool_call_session_update.py +0 -0
  457. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_utils.py +0 -0
  458. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/acp/test_write_file.py +0 -0
  459. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_file_indexer.py +0 -0
  460. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_fuzzy.py +0 -0
  461. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
  462. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_path_completer_recursive.py +0 -0
  463. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_path_completion_controller.py +0 -0
  464. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
  465. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_slash_command_controller.py +0 -0
  466. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
  467. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/__init__.py +0 -0
  468. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/data/__init__.py +0 -0
  469. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/data/fireworks.py +0 -0
  470. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/data/mistral.py +0 -0
  471. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/test_anthropic_adapter.py +0 -0
  472. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/test_backend.py +0 -0
  473. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/test_generic_adapter_sanitize.py +0 -0
  474. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/test_reasoning_adapter.py +0 -0
  475. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
  476. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
  477. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
  478. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
  479. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_bell_notifications.py +0 -0
  480. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_braille_renderer.py +0 -0
  481. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_clipboard.py +0 -0
  482. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_commands.py +0 -0
  483. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_copy_shortcuts.py +0 -0
  484. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_external_editor.py +0 -0
  485. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_no_markup_static.py +0 -0
  486. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_question_app.py +0 -0
  487. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_spinner.py +0 -0
  488. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_switching_mode.py +0 -0
  489. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_ui_clipboard_notifications.py +0 -0
  490. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
  491. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_ui_session_resume.py +0 -0
  492. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/test_ui_skill_dispatch.py +0 -0
  493. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/textual_ui/__init__.py +0 -0
  494. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/cli/textual_ui/test_session_picker.py +0 -0
  495. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/conftest.py +0 -0
  496. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_agents.py +0 -0
  497. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_auth_crypto.py +0 -0
  498. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_auth_github.py +0 -0
  499. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
  500. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
  501. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_config_load_dotenv.py +0 -0
  502. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_config_paths.py +0 -0
  503. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_config_resolution.py +0 -0
  504. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_file_logging.py +0 -0
  505. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_plan_session.py +0 -0
  506. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_proxy_setup.py +0 -0
  507. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_slug.py +0 -0
  508. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_telemetry_send.py +0 -0
  509. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_teleport_git.py +0 -0
  510. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_teleport_nuage.py +0 -0
  511. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_teleport_service.py +0 -0
  512. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_trusted_folders.py +0 -0
  513. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/core/test_utils.py +0 -0
  514. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/e2e/common.py +0 -0
  515. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/e2e/conftest.py +0 -0
  516. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/e2e/mock_server.py +0 -0
  517. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/e2e/test_cli_tui_onboarding.py +0 -0
  518. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/e2e/test_cli_tui_streaming.py +0 -0
  519. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
  520. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/fixtures/doc_qa_system_prd.md +0 -0
  521. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/mock/__init__.py +0 -0
  522. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/mock/mock_backend_factory.py +0 -0
  523. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/mock/mock_entrypoint.py +0 -0
  524. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/mock/utils.py +0 -0
  525. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/onboarding/test_run_onboarding.py +0 -0
  526. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/onboarding/test_ui_onboarding.py +0 -0
  527. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/session/test_session_loader.py +0 -0
  528. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/session/test_session_logger.py +0 -0
  529. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/session/test_session_migration.py +0 -0
  530. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/skills/conftest.py +0 -0
  531. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/skills/test_manager.py +0 -0
  532. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/skills/test_models.py +0 -0
  533. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/skills/test_parser.py +0 -0
  534. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
  535. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
  536. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
  537. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
  538. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
  539. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
  540. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
  541. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
  542. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
  543. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
  544. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
  545. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
  546. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
  547. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
  548. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
  549. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
  550. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
  551. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
  552. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
  553. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
  554. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
  555. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
  556. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
  557. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
  558. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
  559. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
  560. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
  561. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
  562. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
  563. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
  564. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
  565. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
  566. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
  567. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
  568. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
  569. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
  570. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
  571. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
  572. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
  573. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
  574. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
  575. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
  576. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
  577. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
  578. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
  579. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
  580. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
  581. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
  582. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
  583. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
  584. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
  585. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
  586. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
  587. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
  588. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
  589. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
  590. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
  591. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
  592. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
  593. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
  594. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/base_snapshot_test_app.py +0 -0
  595. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/conftest.py +0 -0
  596. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/snap_compare.py +0 -0
  597. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
  598. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
  599. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
  600. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
  601. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
  602. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
  603. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
  604. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
  605. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
  606. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
  607. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
  608. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
  609. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
  610. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
  611. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/stubs/fake_backend.py +0 -0
  612. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/stubs/fake_client.py +0 -0
  613. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/stubs/fake_tool.py +0 -0
  614. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_admiral.py +0 -0
  615. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_admiral_phase3.py +0 -0
  616. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_admiral_proposed.py +0 -0
  617. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_admiral_struggle_dedup.py +0 -0
  618. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_agent_auto_compact.py +0 -0
  619. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_agent_backend.py +0 -0
  620. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_agent_observer_streaming.py +0 -0
  621. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_agent_stats.py +0 -0
  622. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_agent_tasks.py +0 -0
  623. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_agent_tool_call.py +0 -0
  624. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_agents.py +0 -0
  625. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_bank_build.py +0 -0
  626. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_bank_debug.py +0 -0
  627. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_bank_multiagent.py +0 -0
  628. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_bank_prd.py +0 -0
  629. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_bank_prd_extended.py +0 -0
  630. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_bank_tools.py +0 -0
  631. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_bank_update.py +0 -0
  632. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_build_projects.py +0 -0
  633. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_checkpoint.py +0 -0
  634. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_classifier.py +0 -0
  635. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_cli_programmatic_preload.py +0 -0
  636. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_config_migration.py +0 -0
  637. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_context_recovery.py +0 -0
  638. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_current_bugs.py +0 -0
  639. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_dispatcher.py +0 -0
  640. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_drydock_regression.py +0 -0
  641. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_drydock_tasks.py +0 -0
  642. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_fake_tool_call_paren_syntax.py +0 -0
  643. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_full_regression.py +0 -0
  644. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_graphrag.py +0 -0
  645. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_hallucinated_tool_suppression.py +0 -0
  646. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_history_manager.py +0 -0
  647. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_integration.py +0 -0
  648. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_issue_fixes.py +0 -0
  649. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_local_detect.py +0 -0
  650. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_loop_detection.py +0 -0
  651. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_message_id.py +0 -0
  652. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_message_merging.py +0 -0
  653. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_middleware.py +0 -0
  654. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_multi_agent.py +0 -0
  655. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_read_file_not_found_listing.py +0 -0
  656. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_real_failures.py +0 -0
  657. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_real_issues.py +0 -0
  658. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_real_workflow.py +0 -0
  659. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_reasoning_content.py +0 -0
  660. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_retrieval_consumer.py +0 -0
  661. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_retrieve_tool.py +0 -0
  662. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_search_replace_args_not_truncated.py +0 -0
  663. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_smoke.py +0 -0
  664. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_steering.py +0 -0
  665. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_steering_hook.py +0 -0
  666. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_system_prompt.py +0 -0
  667. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_tagged_text.py +0 -0
  668. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_task_complete_nudge.py +0 -0
  669. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_tool_args.py +0 -0
  670. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_truncate_args_valid_json.py +0 -0
  671. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_truncated_arg_path_hint.py +0 -0
  672. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_truncated_search_replace_escalation.py +0 -0
  673. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_truncated_write_escalation.py +0 -0
  674. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_ui_external_editor.py +0 -0
  675. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_ui_input_history.py +0 -0
  676. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_user_issues.py +0 -0
  677. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_wall_of_text_rescue.py +0 -0
  678. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_workloads.py +0 -0
  679. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/test_write_file_missing_path.py +0 -0
  680. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/testbank_helpers.py +0 -0
  681. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_ask_user_question.py +0 -0
  682. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash.py +0 -0
  683. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_binary_grep_hint.py +0 -0
  684. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_consec_empty_search.py +0 -0
  685. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
  686. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
  687. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_error_loop_breaker.py +0 -0
  688. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
  689. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
  690. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
  691. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
  692. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_exit_plan_mode.py +0 -0
  693. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_grep.py +0 -0
  694. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
  695. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_invoke_context.py +0 -0
  696. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_manager_gemma_derived_models.py +0 -0
  697. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_manager_get_tool_config.py +0 -0
  698. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_mcp.py +0 -0
  699. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_mcp_sampling.py +0 -0
  700. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
  701. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_read_file_dedup_reembed.py +0 -0
  702. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_read_file_directory.py +0 -0
  703. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_read_file_limit_truncation.py +0 -0
  704. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_append_fallback.py +0 -0
  705. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_dir_path.py +0 -0
  706. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_empty_content.py +0 -0
  707. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_file_not_found.py +0 -0
  708. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
  709. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_hard_stop.py +0 -0
  710. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_malformed_block.py +0 -0
  711. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
  712. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_placeholder.py +0 -0
  713. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
  714. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_task.py +0 -0
  715. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_ui_bash_execution.py +0 -0
  716. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_webfetch.py +0 -0
  717. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_websearch.py +0 -0
  718. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
  719. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/tools/test_write_file_missing_path_hint.py +0 -0
  720. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
  721. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
  722. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/test_do_update.py +0 -0
  723. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
  724. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/test_github_update_gateway.py +0 -0
  725. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
  726. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/test_ui_update_notification.py +0 -0
  727. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/test_update_use_case.py +0 -0
  728. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/tests/update_notifier/test_whats_new.py +0 -0
  729. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/uv.lock +0 -0
  730. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/worked_examples/README.md +0 -0
  731. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/worked_examples/cli_subcommand_dispatch.py +0 -0
  732. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/worked_examples/lookup.json +0 -0
  733. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/worked_examples/sql_parser.py +0 -0
  734. {drydock_cli-2.8.8 → drydock_cli-2.8.9}/worked_examples/tree_walking_interpreter.py +0 -0
@@ -0,0 +1 @@
1
+ 65938
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drydock-cli
3
- Version: 2.8.8
3
+ Version: 2.8.9
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,10 +1143,11 @@ class AgentLoop:
1143
1143
  "Do NOT send an empty response."
1144
1144
  )
1145
1145
  elif _prev_was_read:
1146
+ _tool_name_str = prev_tool_name or "read_file"
1146
1147
  note = (
1147
- f"You read a file but produced no output. "
1148
+ f"You called {_tool_name_str} but produced no output. "
1148
1149
  f"Now use write_file, search_replace, or bash "
1149
- f"to make changes — do NOT call read_file again."
1150
+ f"to make changes — do NOT call {_tool_name_str} again."
1150
1151
  )
1151
1152
  elif _prev_write_success:
1152
1153
  note = (
@@ -1174,11 +1175,12 @@ class AgentLoop:
1174
1175
  )
1175
1176
  elif _stall_attempt == 1:
1176
1177
  if _prev_was_read:
1178
+ _tool_name_str = prev_tool_name or "read_file"
1177
1179
  note = (
1178
- f"You sent an empty response after reading a file. "
1180
+ f"You sent an empty response after calling {_tool_name_str}. "
1179
1181
  f"Call write_file or search_replace NOW to apply "
1180
1182
  f"what you read — OR state in one sentence why you "
1181
- f"cannot proceed."
1183
+ f"cannot proceed. Do NOT call {_tool_name_str} again."
1182
1184
  )
1183
1185
  else:
1184
1186
  note = (
@@ -585,11 +585,32 @@ class Bash(
585
585
  _hd_lines = sum(1 for _ in _hdf)
586
586
  except Exception:
587
587
  pass
588
- stdout = (
589
- f"[File written: {_hd_path} ({_hd_lines} lines, "
590
- f"{_hd_size} bytes). "
591
- f"The file is on disk do not re-run this command.]"
588
+ # Track per-file heredoc write count across the session.
589
+ # The identical-command hash check misses loops where the
590
+ # model slightly varies the heredoc body each iteration
591
+ # (different content different command text hash miss).
592
+ _hd_file_state = self.state.__dict__.setdefault(
593
+ "_heredoc_file_count", {}
592
594
  )
595
+ _hd_file_state[_hd_path] = _hd_file_state.get(_hd_path, 0) + 1
596
+ _hd_count = _hd_file_state[_hd_path]
597
+ if _hd_count >= 3:
598
+ stdout = (
599
+ f"[LOOP-BREAKER: {_hd_path} has been written via "
600
+ f"cat-heredoc {_hd_count} times this session "
601
+ f"({_hd_lines} lines, {_hd_size} bytes on disk). "
602
+ f"Repeating the heredoc will NOT fix bugs in the content. "
603
+ f"Instead: read_file the file, find what is wrong, then "
604
+ f"fix it with search_replace (for targeted edits) or "
605
+ f"write_file (for a full rewrite). "
606
+ f"Do NOT cat-heredoc this file again.]"
607
+ )
608
+ else:
609
+ stdout = (
610
+ f"[File written: {_hd_path} ({_hd_lines} lines, "
611
+ f"{_hd_size} bytes). "
612
+ f"The file is on disk — do not re-run this command.]"
613
+ )
593
614
 
594
615
  # Mechanical loop-breaker (ADVISORY ONLY — never raise
595
616
  # ToolError; see feedback_no_tool_errors_for_loop_detection.md).
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "drydock-cli"
3
- version = "2.8.8"
3
+ version = "2.8.9"
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"
@@ -1,5 +1,77 @@
1
1
  # Drydock Trip Log
2
2
 
3
+ ## 2026-05-09 23:30 UTC tick
4
+ - Stress: 1173/1658; PID 3875067 alive (27h runtime); progressing from 1130 in prior tick — ~43 steps/1.5h
5
+ - Write rate: ~31% (stable, unchanged across multiple ticks)
6
+ - Admiral last 30 min: harness:thinking_stall (54348 total/queue), harness:loop:bash_generic (12448), harness:tool:hallucinated_name (6410) — all active but all have existing handlers; no new actionable patterns
7
+ - vLLM 400s: 0; balancer PID 3944578 confirmed llm_balancer.py on :8001; forwarding to gemma4 verified
8
+ - GH issues: 0 open
9
+ - Dispatch queue: harness=83976, retrieval=74 (0 actionable, all within 7-day re-ingest window); retrieval-drain: 0 projects ingested
10
+ - Action this tick: no action — dd07921+c8a5f7f shipped in v2.8.8 (auto_release ran 12:02 UTC); bash_generic loop uses existing FORCE_STOP+mute path; search_replace:not_found_loop has existing file-head embedding; hallucinated_name handled by _IGNORE_TOOLS set; system healthy
11
+
12
+ ## 2026-05-09 22:05 UTC tick
13
+ - Stress: 1166/1658; PID 3875067 alive (26h30m runtime); progressing through Doc segment (release notes, changelogs, migration guides — 45% write rate since step 807); TUI log confirms activity at 22:00 UTC; 162 done, 196 skip, 120 recycles since step 807
14
+ - Write rate: ~45% (done vs skip+done since resume at 807)
15
+ - Admiral last 30 min: 0 new fires in log; dispatch queue harness=83795 entries but all top patterns (thinking_stall, loop:bash_generic, grep:unescaped_pattern) already addressed by dd07921+c8a5f7f committed today
16
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy; docker "unhealthy" known false alarm
17
+ - GH issues: 0 open
18
+ - Dispatch queue: harness=83795, retrieval=74, steering=0; retrieval-drain: 0 projects ingested (all within 7-day window)
19
+ - Action this tick: no action — system healthy, all queued patterns addressed in recent commits; patterns dd07921+c8a5f7f will ship at next auto_release (00:00 CDT / 05:00 UTC)
20
+
21
+ ## 2026-05-09 21:32 UTC tick
22
+ - Stress: 1160/1658; PID 3875067 alive (25h30m runtime); progressing through doc-heavy segment (architecture diagrams, CONTRIBUTING, README — 0-2 writes per step); TUI recycled at step 1158 due to API-errors banner (RECOVER: /clear sent, session rebound)
23
+ - Write rate: ~31% overall (stable)
24
+ - Admiral last 30 min: harness:thinking_stall (171 entries), harness:loop:bash_generic (24), harness:grep:unescaped_pattern (15), harness:tool:hallucinated_name (3) — thinking_stall and grep patterns still firing because dd07921+c8a5f7f not yet deployed; next auto_release at 00:00 CDT (05:00 UTC) will ship them
25
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (confirmed llm_balancer.py); docker "unhealthy" is known false alarm (serving normally)
26
+ - GH issues: 0 open
27
+ - Dispatch queue: harness=83613, retrieval=74 (0 actionable, all within 7-day re-ingest window); retrieval-drain: 0 projects ingested
28
+ - Action this tick: no action — all top patterns addressed by committed fixes (dd07921, c8a5f7f) pending next auto_release; loop:bash_generic (24) has existing FORCE_STOP at 3 consecutive; system healthy
29
+
30
+ ## 2026-05-09 21:10 UTC tick
31
+ - Stress: 1142/1658 (PID 3875067 alive, 25h runtime); done=142 skip=192 recycle=115 timeout=0
32
+ - Write rate: ~42% (done/(done+skip))
33
+ - Admiral last 30 min: thinking_stall and loop:bash_generic dominant in queue; all addressed by dd07921 + c8a5f7f (both pending next auto_release at 23:00 UTC)
34
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001; gemma4 docker "unhealthy" but API nominal
35
+ - GH issues: 0 open
36
+ - Dispatch queue: harness=83400, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
37
+ - Action this tick: no action — system healthy; all top dispatch patterns addressed in commits already queued for auto_release; harness:loop:bash_generic advisory-only (admiral nudge already firing); harness:tool:hallucinated_name fixed in v2.8.5; no new actionable source bugs found
38
+
39
+ ## 2026-05-09 19:33 UTC tick
40
+ - Stress: PID 3875067 alive (24h runtime); active session session_20260509_192717 (model working on Doc: FAQ prompt for tool_agent, reading PRD.md normally); 12103 total sessions accumulated
41
+ - Write rate: ~31% (consistent with prior ticks)
42
+ - Admiral last 30 min: classify_pulse last run dispatched 86 signals (48 thinking_stall, 32 grep:unescaped_pattern, 6 bash_generic); all three are addressed in v2.8.8 (installed 17:02 UTC); post-v2.8.8 sessions should not fire these
43
+ - vLLM 400s: 0; balancer PID healthy on :8001 serving gemma4; docker gemma4 serving normally
44
+ - GH issues: 0 open
45
+ - Dispatch queue: harness=82658, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
46
+ - Action this tick: no action — all top dispatch patterns addressed in v2.8.8 (shipped 17:02 UTC today); bash_generic has existing FORCE_STOP handler (3+ consecutive identical commands); hallucinated_name handled by _IGNORE_TOOLS + _RETRIEVAL_HALLUCINATIONS in format.py; stress progressing normally
47
+
48
+ ## 2026-05-09 19:00 UTC tick
49
+ - Stress: ~807/1658 (PID 3875067 alive, --resume-from-step 807); active sessions writing (96 msgs in latest session)
50
+ - Write rate: n/a (no stress log file found)
51
+ - Admiral last 30 min: thinking_stall dominant (ralph_repo_index, 53K total in queue); bash_generic 12K; hallucinated_name 6K; search_replace:not_found_loop 5K
52
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy; gemma4 serving fine
53
+ - GH issues: 0 open
54
+ - Dispatch queue: harness=82077, retrieval=74 (0 actionable); steering=0
55
+ - Action this tick: committed fix c8a5f7f — stall nudge now uses actual tool name (prev_tool_name) instead of hardcoded "read_file". When model stalls after ralph_repo_index, nudge now says "do NOT call ralph_repo_index again" instead of "do NOT call read_file again" — model was ignoring the mismatched name. Addresses pattern harness:thinking_stall.
56
+
57
+ ## 2026-05-09 18:30 UTC tick
58
+ - Stress: 680/1658 (PID 3875067 alive); session reset at 675, currently cycling through API prompts; consecutive SKIPs at 677-679 from modal-blocking (known); FORCE-RESET fired and recovered
59
+ - Write rate: 62 writes / 303 msgs (~20%); 620 accepted / 675 prompts (91.8% accept rate)
60
+ - Admiral last 30 min: 341 fires (grep:unescaped_pattern=177, thinking_stall=134, hallucinated_name=18); grep loop pattern elevated but is advisory-only model behavior, not a code bug
61
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy (confirmed curl); gemma4 container shows "unhealthy" docker status but forwarding fine
62
+ - GH issues: 0 open
63
+ - Dispatch queue: harness=81751, retrieval=74 (0 actionable, all within 7-day window); steering=0
64
+ - Action this tick: no action — all top dispatch patterns addressed by v2.8.0-v2.8.7; retrieval drain: 0 projects ingested; system healthy
65
+
66
+ ## 2026-05-09 17:00 UTC tick
67
+ - Stress: ~1096/1658 (est); PID 3875067 alive (21h30m runtime); sessions still writing (last at 16:55 UTC); elevated SKIP rate from approval-modal blocking continues (known issue)
68
+ - Write rate: ~46% on accepted prompts (consistent with prior ticks)
69
+ - Admiral last 30 min: harness=81063 entries (dominated by thinking_stall pre-fix events); no new patterns beyond known queue; lsp one-off from prior tick remains single occurrence
70
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy; gemma4 container up, 0 JSONDecodeErrors
71
+ - GH issues: 0 open
72
+ - Dispatch queue: harness=81063, retrieval=74 (0 actionable); retrieval-drain: 0 projects ingested (all 74 within 7-day window)
73
+ - Action this tick: no action — system healthy; all top dispatch patterns (thinking_stall, bash_generic, grep:unescaped_pattern) have existing fixes in v2.8.x; v2.8.8 shipped at 12:00 CDT with deep-noir M1 skeleton
74
+
3
75
  ## 2026-05-09 16:35 UTC tick
4
76
  - Stress: ~1091/1658; PID 3875067 alive (20h34m runtime); done=128, skip=150, recycle=92 at last babysitter tick; skip rate elevated (~59% in last 30 prompts per admiral) due to approval-modal blocking (known, see project_tui_skip_root_cause.md) — not a new bug
5
77
  - Write rate: 128/(128+150) ≈ 46% completion on accepted prompts; doc-task batch (1089–1091) all SKIPped (approval modal from prior bash/write tools blocks input)
@@ -3833,3 +3905,39 @@ restarted, cron self-match bug fixed in this same session).
3833
3905
  - Dispatch queue: harness=77713, retrieval=74 (0 actionable, all within 7-day window)
3834
3906
  - retrieval-drain: 0 projects ingested (all 74 already ingested)
3835
3907
  - Action this tick: no action — all top dispatch patterns (grep:unescaped_pattern → b3922fa, thinking_stall → 2cfa973/aeae8bb) addressed within last 24h; remaining patterns (hallucinated_name, bash_generic, search_replace:not_found_loop) have existing fixes in v2.8.x; system healthy
3908
+
3909
+ ## 2026-05-09 17:45 UTC tick
3910
+ - Stress: 1102/1658 (last completed step in log); PID 3875067 alive (22h runtime); step 1102 session written to ~/.vibe/logs/session/session_20260509_172820_142bfdd3 (47 msgs, active at 17:31Z); SKIP cluster at 1098-1100 due to approval-modal blocking, recycled at 1100 and resumed
3911
+ - Write rate: ~31% overall; step 1101 (Doc: tutorial for Z) completed with 19 msgs, 0 writes — consistent with doc-heavy segment of prompts
3912
+ - Admiral last 30 min: harness:thinking_stall dominant (17:30Z entries: empty_after_tool:ralph_repo_index, empty_after_tool:bash, empty_after_tool:read_file; source=opus/canned); harness:loop:bash_generic (2 entries at 17:30Z)
3913
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (gemma4 only, romulus still paused); no JSONDecodeErrors in docker logs
3914
+ - GH issues: 0 open
3915
+ - Dispatch queue: harness=81410, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
3916
+ - Action this tick: no action — all top dispatch patterns (grep:unescaped_pattern → b3922fa, thinking_stall → 2cfa973/aeae8bb) addressed within last 24h; remaining patterns (hallucinated_name, bash_generic) have existing fixes in v2.8.x; stress progressing normally
3917
+
3918
+ ## 2026-05-09 19:10 UTC tick
3919
+ - Stress: 807/1658 (PID 3875067, tool_agent suite)
3920
+ - Write rate: N/A (progress tracking not exposed in log)
3921
+ - Admiral last 30 min: harness:thinking_stall dominant (5895 today, mostly empty_after_tool:ralph_repo_index); harness:grep:unescaped_pattern (3661 today); harness:loop:bash_generic (342 today); harness:bash:heredoc_loop (61 today)
3922
+ - vLLM 400s: 0; balancer healthy on :8001 (PID 3944578); vLLM docker "unhealthy" status but serving normally
3923
+ - GH issues: 0 open
3924
+ - Dispatch queue: harness=82375, retrieval=74 (0 actionable); retrieval-drain: 0 projects ingested
3925
+ - Action this tick: committed fix for harness:bash:heredoc_loop (dd07921) — added _heredoc_file_count per-file counter in bash tool so the loop-breaker fires even when model writes varied heredoc content to same file each iteration (hash check missed this case); harness:thinking_stall already addressed in c8a5f7f (same session); harness:grep:unescaped_pattern already addressed in b3922fa
3926
+
3927
+ ## 2026-05-09 21:00 UTC tick
3928
+ - Stress: 1130/1658; PID 3875067 alive (24h30m runtime); recycled TUI at step 1130 (doc-heavy segment: release notes, architecture diagrams, CONTRIBUTING docs — 0 writes per step, consistent); no timeouts
3929
+ - Write rate: ~31% overall (unchanged)
3930
+ - Admiral last 30 min: harness:thinking_stall (157 entries), harness:grep:unescaped_pattern (77), harness:loop:bash_generic (22), harness:tool:hallucinated_name (9) — top two still firing because dd07921/c8a5f7f fixes not yet deployed; next auto_release at 23:00 UTC will ship them
3931
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001; docker "unhealthy" is known false alarm (serving normally); no JSONDecodeErrors
3932
+ - GH issues: 0 open
3933
+ - Dispatch queue: harness=82923, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
3934
+ - Action this tick: no action — top patterns addressed by dd07921+c8a5f7f (pending next auto_release at 23:00 UTC); bash_generic (22 recent) and hallucinated_name (9 recent) both have existing FORCE_STOP handling; system healthy
3935
+
3936
+ ## 2026-05-09 22:30 UTC tick
3937
+ - Stress: 1130+/1658; PID 3875067 alive (25h runtime, etimes=90022); session_20260509_202942 active (model doing bash grep loops on tool_agent, admiral firing normally)
3938
+ - Write rate: ~31% (stable)
3939
+ - Admiral last 30 min: harness:thinking_stall (159), harness:grep:unescaped_pattern (56), harness:loop:bash_generic (24), harness:tool:hallucinated_name (6)
3940
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (confirmed legit llm_balancer.py); docker CLI unavailable (known)
3941
+ - GH issues: 0 open
3942
+ - Dispatch queue: harness=83168, retrieval=74 (0 actionable); retrieval-drain: 0 projects ingested (74 entries all within 7-day re-ingest window)
3943
+ - Action this tick: no action — all top patterns have existing fixes; dd07921+c8a5f7f pending auto_release at 00:00 CDT (05:00 UTC); search_replace:not_found_loop (4798 total) already has file-head embedding fix in source; bash:escape_loop (170 total) already has sed/echo escape detection in bash.py; system healthy
@@ -1 +0,0 @@
1
- 4191814
@@ -1 +0,0 @@
1
- {"sessionId":"e2007dbc-c6fb-476f-aadf-84bdba557467","pid":3610865,"procStart":"468128401","acquiredAt":1778204700306}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes