drydock-cli 2.8.8__tar.gz → 2.8.10__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.10/.auto_release.lock +1 -0
  2. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/PKG-INFO +1 -1
  3. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/agent_loop.py +56 -6
  4. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/bash.py +25 -4
  5. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/pyproject.toml +1 -1
  6. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/trip_log.md +221 -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.10}/.github/CODEOWNERS +0 -0
  10. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
  11. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  12. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  13. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.github/workflows/build-and-upload.yml +0 -0
  14. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.github/workflows/ci.yml +0 -0
  15. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.github/workflows/issue-labeler.yml +0 -0
  16. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.github/workflows/release.yml +0 -0
  17. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.gitignore +0 -0
  18. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.pre-commit-config.yaml +0 -0
  19. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.python-version +0 -0
  20. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.typos.toml +0 -0
  21. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.vscode/extensions.json +0 -0
  22. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.vscode/launch.json +0 -0
  23. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/.vscode/settings.json +0 -0
  24. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/AGENTS.md +0 -0
  25. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/Admiral.md +0 -0
  26. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/CHANGELOG.md +0 -0
  27. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/CLAUDE.md +0 -0
  28. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/CONTRIBUTING.md +0 -0
  29. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/DEEP_NOIR_PRD.md +0 -0
  30. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/DEPLOYMENT.md +0 -0
  31. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/HLE_PRD.md +0 -0
  32. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/JETSON_BENCH.md +0 -0
  33. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/LICENSE +0 -0
  34. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/MODEL_SHORTCOMINGS.md +0 -0
  35. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/NOTICE +0 -0
  36. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/README.md +0 -0
  37. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/SOVEREIGN_PRD.md +0 -0
  38. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/TRIAGE_v1.md +0 -0
  39. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/action.yml +0 -0
  40. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/README.md +0 -0
  41. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results1.tsv +0 -0
  42. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results13.tsv +0 -0
  43. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results14.tsv +0 -0
  44. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results15.tsv +0 -0
  45. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results16.tsv +0 -0
  46. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results17.tsv +0 -0
  47. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results18.tsv +0 -0
  48. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results19.tsv +0 -0
  49. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results2.tsv +0 -0
  50. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results20.tsv +0 -0
  51. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results3.tsv +0 -0
  52. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results4.tsv +0 -0
  53. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results5.tsv +0 -0
  54. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results6.tsv +0 -0
  55. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results7.tsv +0 -0
  56. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results8.tsv +0 -0
  57. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results9.tsv +0 -0
  58. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/baseline_history/results_evolved_v1.tsv +0 -0
  59. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/distribution/zed/LICENSE +0 -0
  60. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/distribution/zed/extension.toml +0 -0
  61. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/distribution/zed/icons/mistral_vibe.svg +0 -0
  62. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/README.md +0 -0
  63. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/acp-setup.md +0 -0
  64. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/BASELINE_412.md +0 -0
  65. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/Drydock_rebrand.md +0 -0
  66. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
  67. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
  68. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
  69. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/PRD.md +0 -0
  70. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/drydock_terms.md +0 -0
  71. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/archive/resume.md +0 -0
  72. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/docs/proxy-setup.md +0 -0
  73. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/__init__.py +0 -0
  74. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/__main__.py +0 -0
  75. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/__init__.py +0 -0
  76. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/acp_agent_loop.py +0 -0
  77. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/acp_logger.py +0 -0
  78. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/entrypoint.py +0 -0
  79. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/__init__.py +0 -0
  80. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/base.py +0 -0
  81. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/builtins/bash.py +0 -0
  82. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/builtins/read_file.py +0 -0
  83. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/builtins/search_replace.py +0 -0
  84. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/builtins/todo.py +0 -0
  85. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/builtins/write_file.py +0 -0
  86. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/tools/session_update.py +0 -0
  87. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/acp/utils.py +0 -0
  88. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/__init__.py +0 -0
  89. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/detectors.py +0 -0
  90. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/detectors_proposed.py +0 -0
  91. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/history.py +0 -0
  92. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/interventions.py +0 -0
  93. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/llm_analyzer.py +0 -0
  94. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/metrics.py +0 -0
  95. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/opus_escalator.py +0 -0
  96. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/persistence.py +0 -0
  97. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/policy.py +0 -0
  98. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/proposer.py +0 -0
  99. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/stager.py +0 -0
  100. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/task_classifier.py +0 -0
  101. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/tuning.py +0 -0
  102. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/validator.py +0 -0
  103. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/admiral/worker.py +0 -0
  104. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/__init__.py +0 -0
  105. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/autocompletion/__init__.py +0 -0
  106. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/autocompletion/base.py +0 -0
  107. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/autocompletion/path_completion.py +0 -0
  108. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/autocompletion/slash_command.py +0 -0
  109. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/cli.py +0 -0
  110. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/clipboard.py +0 -0
  111. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/commands.py +0 -0
  112. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/entrypoint.py +0 -0
  113. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/fix_windows_path.py +0 -0
  114. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/history_manager.py +0 -0
  115. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
  116. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
  117. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
  118. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/terminal_setup.py +0 -0
  119. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/__init__.py +0 -0
  120. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
  121. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/app.py +0 -0
  122. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/app.tcss +0 -0
  123. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/external_editor.py +0 -0
  124. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
  125. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
  126. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
  127. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
  128. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
  129. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
  130. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
  131. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
  132. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
  133. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
  134. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
  135. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
  136. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
  137. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
  138. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
  139. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
  140. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
  141. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
  142. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
  143. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/compact.py +0 -0
  144. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
  145. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
  146. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
  147. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/loading.py +0 -0
  148. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/messages.py +0 -0
  149. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
  150. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
  151. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
  152. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
  153. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
  154. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
  155. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
  156. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
  157. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
  158. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/tools.py +0 -0
  159. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
  160. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
  161. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/windowing/history.py +0 -0
  162. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
  163. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/textual_ui/windowing/state.py +0 -0
  164. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/__init__.py +0 -0
  165. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
  166. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
  167. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
  168. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
  169. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
  170. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/update.py +0 -0
  171. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/cli/update_notifier/whats_new.py +0 -0
  172. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/__init__.py +0 -0
  173. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/agents/__init__.py +0 -0
  174. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/agents/manager.py +0 -0
  175. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/agents/models.py +0 -0
  176. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/auth/__init__.py +0 -0
  177. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/auth/crypto.py +0 -0
  178. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/auth/github.py +0 -0
  179. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/__init__.py +0 -0
  180. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/completers.py +0 -0
  181. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
  182. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
  183. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
  184. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/file_indexer/store.py +0 -0
  185. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
  186. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/fuzzy.py +0 -0
  187. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/path_prompt.py +0 -0
  188. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
  189. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/build_orchestrator.py +0 -0
  190. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/checkpoint.py +0 -0
  191. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/classifier/__init__.py +0 -0
  192. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/classifier/__main__.py +0 -0
  193. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/classifier/classifier.py +0 -0
  194. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/classifier/dispatcher.py +0 -0
  195. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/classifier/rules.py +0 -0
  196. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/classifier/signal.py +0 -0
  197. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/__init__.py +0 -0
  198. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/_dotenv.py +0 -0
  199. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/_settings.py +0 -0
  200. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/doctor.py +0 -0
  201. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/harness_files/__init__.py +0 -0
  202. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/harness_files/_harness_manager.py +0 -0
  203. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/harness_files/_paths.py +0 -0
  204. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/local_detect.py +0 -0
  205. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/config/migrate.py +0 -0
  206. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/consultant.py +0 -0
  207. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/context_recovery.py +0 -0
  208. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/drydock_states.py +0 -0
  209. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/hooks.py +0 -0
  210. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/__init__.py +0 -0
  211. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/backend/anthropic.py +0 -0
  212. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/backend/base.py +0 -0
  213. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/backend/factory.py +0 -0
  214. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/backend/generic.py +0 -0
  215. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/backend/mistral.py +0 -0
  216. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
  217. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/backend/vertex.py +0 -0
  218. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/exceptions.py +0 -0
  219. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/format.py +0 -0
  220. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/message_utils.py +0 -0
  221. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/llm/types.py +0 -0
  222. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/logger.py +0 -0
  223. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/middleware.py +0 -0
  224. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/output_formatters.py +0 -0
  225. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/paths/__init__.py +0 -0
  226. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/paths/_drydock_home.py +0 -0
  227. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/paths/_local_config_walk.py +0 -0
  228. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/paths/conventions.py +0 -0
  229. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/plan_session.py +0 -0
  230. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/plugins.py +0 -0
  231. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/programmatic.py +0 -0
  232. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/__init__.py +0 -0
  233. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/builder.md +0 -0
  234. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/cli.md +0 -0
  235. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/compact.md +0 -0
  236. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/dangerous_directory.md +0 -0
  237. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/diagnostic.md +0 -0
  238. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/explore.md +0 -0
  239. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/gemma4.md +0 -0
  240. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/planner.md +0 -0
  241. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/project_context.md +0 -0
  242. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/prompts/tests.md +0 -0
  243. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/proxy_setup.py +0 -0
  244. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/session/agent_memory.py +0 -0
  245. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/session/checkpoints.py +0 -0
  246. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/session/session_loader.py +0 -0
  247. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/session/session_logger.py +0 -0
  248. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/session/session_migration.py +0 -0
  249. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/session/state_file.py +0 -0
  250. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/session_checker.py +0 -0
  251. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/skills/__init__.py +0 -0
  252. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/skills/manager.py +0 -0
  253. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/skills/models.py +0 -0
  254. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/skills/parser.py +0 -0
  255. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/slug.py +0 -0
  256. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/steering_hook.py +0 -0
  257. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/system_prompt.py +0 -0
  258. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/telemetry/__init__.py +0 -0
  259. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/telemetry/send.py +0 -0
  260. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/teleport/errors.py +0 -0
  261. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/teleport/git.py +0 -0
  262. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/teleport/nuage.py +0 -0
  263. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/teleport/teleport.py +0 -0
  264. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/teleport/types.py +0 -0
  265. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/base.py +0 -0
  266. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/_task_manager.py +0 -0
  267. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/ask_user_question.py +0 -0
  268. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/cron.py +0 -0
  269. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
  270. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/glob_tool.py +0 -0
  271. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/grep.py +0 -0
  272. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/invoke_skill.py +0 -0
  273. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/lsp.py +0 -0
  274. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/mcp_resources.py +0 -0
  275. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/notebook_edit.py +0 -0
  276. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/powershell.py +0 -0
  277. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
  278. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
  279. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/bash.md +0 -0
  280. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/cron.md +0 -0
  281. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/glob.md +0 -0
  282. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/grep.md +0 -0
  283. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
  284. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
  285. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
  286. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
  287. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
  288. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
  289. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
  290. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
  291. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
  292. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/task.md +0 -0
  293. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
  294. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/todo.md +0 -0
  295. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
  296. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
  297. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
  298. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
  299. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
  300. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/read_file.py +0 -0
  301. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/retrieve.py +0 -0
  302. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/search_replace.py +0 -0
  303. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/task.py +0 -0
  304. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/todo.py +0 -0
  305. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/tool_search.py +0 -0
  306. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/webfetch.py +0 -0
  307. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/websearch.py +0 -0
  308. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/worktree.py +0 -0
  309. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/builtins/write_file.py +0 -0
  310. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/injection_guard.py +0 -0
  311. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/manager.py +0 -0
  312. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/mcp/__init__.py +0 -0
  313. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/mcp/registry.py +0 -0
  314. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/mcp/tools.py +0 -0
  315. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/mcp_sampling.py +0 -0
  316. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/ui.py +0 -0
  317. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/tools/utils.py +0 -0
  318. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/trusted_folders.py +0 -0
  319. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/types.py +0 -0
  320. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/core/utils.py +0 -0
  321. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/graphrag/__init__.py +0 -0
  322. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/graphrag/__main__.py +0 -0
  323. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/graphrag/code_indexer.py +0 -0
  324. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/graphrag/retriever.py +0 -0
  325. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/graphrag/storage.py +0 -0
  326. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/graphrag/text_indexer.py +0 -0
  327. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/__init__.py +0 -0
  328. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/base.py +0 -0
  329. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/onboarding.tcss +0 -0
  330. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/screens/__init__.py +0 -0
  331. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/screens/api_key.py +0 -0
  332. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/screens/choice.py +0 -0
  333. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/screens/local_model.py +0 -0
  334. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/onboarding/screens/welcome.py +0 -0
  335. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
  336. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
  337. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/__init__.py +0 -0
  338. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/api-design/SKILL.md +0 -0
  339. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/audit-tests/SKILL.md +0 -0
  340. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/batch/SKILL.md +0 -0
  341. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/commit-code/SKILL.md +0 -0
  342. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/context-summary/SKILL.md +0 -0
  343. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/create-presentation/SKILL.md +0 -0
  344. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/deep-research/SKILL.md +0 -0
  345. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/deploy/SKILL.md +0 -0
  346. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/diff-review/SKILL.md +0 -0
  347. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/doc-gen/SKILL.md +0 -0
  348. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/explain-code/SKILL.md +0 -0
  349. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/explore-code/SKILL.md +0 -0
  350. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/fix-issue/SKILL.md +0 -0
  351. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/git-ops/SKILL.md +0 -0
  352. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/init-project/SKILL.md +0 -0
  353. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/investigate/SKILL.md +0 -0
  354. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/loop/SKILL.md +0 -0
  355. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/migrate/SKILL.md +0 -0
  356. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/perf-analyze/SKILL.md +0 -0
  357. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/plan-impl/SKILL.md +0 -0
  358. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/pr-review/SKILL.md +0 -0
  359. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/refactor/SKILL.md +0 -0
  360. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/regex-help/SKILL.md +0 -0
  361. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/review/SKILL.md +0 -0
  362. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/security-review/SKILL.md +0 -0
  363. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/ship/SKILL.md +0 -0
  364. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/simplify/SKILL.md +0 -0
  365. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/strong-tests/SKILL.md +0 -0
  366. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/skills/test-verify/SKILL.md +0 -0
  367. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/__init__.py +0 -0
  368. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/__main__.py +0 -0
  369. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/applier.py +0 -0
  370. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/config.py +0 -0
  371. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/registry.py +0 -0
  372. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/sandbox.py +0 -0
  373. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/sidecar/__init__.py +0 -0
  374. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/sidecar/header_parser.py +0 -0
  375. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/sidecar/server.py +0 -0
  376. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/steering/vectors.py +0 -0
  377. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock/whats_new.md +0 -0
  378. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/drydock-acp.spec +0 -0
  379. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/flake.lock +0 -0
  380. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/flake.nix +0 -0
  381. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/README.md +0 -0
  382. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/config_base.toml +0 -0
  383. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/config_best.toml +0 -0
  384. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/domain_spec.md +0 -0
  385. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/experimenter.py +0 -0
  386. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/kernel.py +0 -0
  387. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/mini_prd.md +0 -0
  388. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/mini_prompts.txt +0 -0
  389. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/proposer.py +0 -0
  390. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/research/results.tsv +0 -0
  391. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/README.md +0 -0
  392. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/admiral_probe.py +0 -0
  393. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/archive/auto_test_loop.sh +0 -0
  394. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/archive/monitor_test_battery.sh +0 -0
  395. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/archive/overnight_agents_test.sh +0 -0
  396. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/archive/test_bank.sh +0 -0
  397. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/archive/test_full.sh +0 -0
  398. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/archive/test_smoke.sh +0 -0
  399. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/archive/tui_test.py +0 -0
  400. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/audit_sampler.py +0 -0
  401. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/auto_generate_tests.py +0 -0
  402. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/auto_release.sh +0 -0
  403. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/autonomous_review.sh +0 -0
  404. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/autonomous_review_prompt.md +0 -0
  405. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/backup.sh +0 -0
  406. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/bump_version.py +0 -0
  407. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/classify_pulse.sh +0 -0
  408. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/consume_retrieval_queue.py +0 -0
  409. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/deploy_to_github.sh +0 -0
  410. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/fetch_arxiv_abstracts.py +0 -0
  411. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/gen_2000_prompts.py +0 -0
  412. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/hle_eval.py +0 -0
  413. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/hle_eval_seed.jsonl +0 -0
  414. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/llm_balancer.py +0 -0
  415. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/notify_release.py +0 -0
  416. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/perf_baseline_when_idle.sh +0 -0
  417. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/perf_sweep.py +0 -0
  418. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/poll_issues.sh +0 -0
  419. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/publish_to_pypi.sh +0 -0
  420. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/queue_top.py +0 -0
  421. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/ralph_loop.py +0 -0
  422. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/research_babysitter.sh +0 -0
  423. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/shakedown.py +0 -0
  424. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/shakedown_interactive.py +0 -0
  425. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/shakedown_suite.sh +0 -0
  426. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/shakedown_variance.sh +0 -0
  427. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/start_steering_sidecar.sh +0 -0
  428. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_babysitter.sh +0 -0
  429. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_prompts_50.txt +0 -0
  430. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_prompts_realuser.txt +0 -0
  431. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_prompts_tool_agent.txt +0 -0
  432. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
  433. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_shakedown.py +0 -0
  434. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_telegram_status.py +0 -0
  435. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/stress_watcher.py +0 -0
  436. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/telegram_bot.py +0 -0
  437. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/scripts/vllm_failover.sh +0 -0
  438. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/__init__.py +0 -0
  439. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/conftest.py +0 -0
  440. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_acp.py +0 -0
  441. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_agent_thought.py +0 -0
  442. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_bash.py +0 -0
  443. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_compact_session_updates.py +0 -0
  444. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_content.py +0 -0
  445. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_initialize.py +0 -0
  446. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_list_sessions.py +0 -0
  447. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_load_session.py +0 -0
  448. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_multi_session.py +0 -0
  449. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_new_session.py +0 -0
  450. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_proxy_setup_acp.py +0 -0
  451. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_read_file.py +0 -0
  452. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_search_replace.py +0 -0
  453. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_set_config_option.py +0 -0
  454. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_set_mode.py +0 -0
  455. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_set_model.py +0 -0
  456. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_tool_call_session_update.py +0 -0
  457. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_utils.py +0 -0
  458. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/acp/test_write_file.py +0 -0
  459. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_file_indexer.py +0 -0
  460. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_fuzzy.py +0 -0
  461. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
  462. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_path_completer_recursive.py +0 -0
  463. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_path_completion_controller.py +0 -0
  464. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
  465. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_slash_command_controller.py +0 -0
  466. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
  467. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/__init__.py +0 -0
  468. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/data/__init__.py +0 -0
  469. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/data/fireworks.py +0 -0
  470. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/data/mistral.py +0 -0
  471. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/test_anthropic_adapter.py +0 -0
  472. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/test_backend.py +0 -0
  473. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/test_generic_adapter_sanitize.py +0 -0
  474. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/test_reasoning_adapter.py +0 -0
  475. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
  476. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
  477. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
  478. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
  479. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_bell_notifications.py +0 -0
  480. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_braille_renderer.py +0 -0
  481. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_clipboard.py +0 -0
  482. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_commands.py +0 -0
  483. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_copy_shortcuts.py +0 -0
  484. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_external_editor.py +0 -0
  485. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_no_markup_static.py +0 -0
  486. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_question_app.py +0 -0
  487. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_spinner.py +0 -0
  488. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_switching_mode.py +0 -0
  489. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_ui_clipboard_notifications.py +0 -0
  490. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
  491. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_ui_session_resume.py +0 -0
  492. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/test_ui_skill_dispatch.py +0 -0
  493. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/textual_ui/__init__.py +0 -0
  494. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/cli/textual_ui/test_session_picker.py +0 -0
  495. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/conftest.py +0 -0
  496. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_agents.py +0 -0
  497. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_auth_crypto.py +0 -0
  498. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_auth_github.py +0 -0
  499. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
  500. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
  501. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_config_load_dotenv.py +0 -0
  502. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_config_paths.py +0 -0
  503. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_config_resolution.py +0 -0
  504. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_file_logging.py +0 -0
  505. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_plan_session.py +0 -0
  506. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_proxy_setup.py +0 -0
  507. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_slug.py +0 -0
  508. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_telemetry_send.py +0 -0
  509. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_teleport_git.py +0 -0
  510. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_teleport_nuage.py +0 -0
  511. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_teleport_service.py +0 -0
  512. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_trusted_folders.py +0 -0
  513. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/core/test_utils.py +0 -0
  514. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/e2e/common.py +0 -0
  515. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/e2e/conftest.py +0 -0
  516. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/e2e/mock_server.py +0 -0
  517. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/e2e/test_cli_tui_onboarding.py +0 -0
  518. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/e2e/test_cli_tui_streaming.py +0 -0
  519. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
  520. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/fixtures/doc_qa_system_prd.md +0 -0
  521. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/mock/__init__.py +0 -0
  522. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/mock/mock_backend_factory.py +0 -0
  523. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/mock/mock_entrypoint.py +0 -0
  524. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/mock/utils.py +0 -0
  525. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/onboarding/test_run_onboarding.py +0 -0
  526. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/onboarding/test_ui_onboarding.py +0 -0
  527. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/session/test_session_loader.py +0 -0
  528. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/session/test_session_logger.py +0 -0
  529. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/session/test_session_migration.py +0 -0
  530. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/skills/conftest.py +0 -0
  531. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/skills/test_manager.py +0 -0
  532. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/skills/test_models.py +0 -0
  533. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/skills/test_parser.py +0 -0
  534. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
  544. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/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.10}/tests/snapshots/base_snapshot_test_app.py +0 -0
  595. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/conftest.py +0 -0
  596. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/snap_compare.py +0 -0
  597. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
  598. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
  599. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
  600. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
  601. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
  602. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
  603. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
  604. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
  605. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
  606. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
  607. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
  608. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
  609. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
  610. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
  611. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/stubs/fake_backend.py +0 -0
  612. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/stubs/fake_client.py +0 -0
  613. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/stubs/fake_tool.py +0 -0
  614. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_admiral.py +0 -0
  615. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_admiral_phase3.py +0 -0
  616. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_admiral_proposed.py +0 -0
  617. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_admiral_struggle_dedup.py +0 -0
  618. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_agent_auto_compact.py +0 -0
  619. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_agent_backend.py +0 -0
  620. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_agent_observer_streaming.py +0 -0
  621. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_agent_stats.py +0 -0
  622. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_agent_tasks.py +0 -0
  623. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_agent_tool_call.py +0 -0
  624. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_agents.py +0 -0
  625. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_bank_build.py +0 -0
  626. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_bank_debug.py +0 -0
  627. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_bank_multiagent.py +0 -0
  628. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_bank_prd.py +0 -0
  629. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_bank_prd_extended.py +0 -0
  630. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_bank_tools.py +0 -0
  631. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_bank_update.py +0 -0
  632. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_build_projects.py +0 -0
  633. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_checkpoint.py +0 -0
  634. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_classifier.py +0 -0
  635. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_cli_programmatic_preload.py +0 -0
  636. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_config_migration.py +0 -0
  637. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_context_recovery.py +0 -0
  638. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_current_bugs.py +0 -0
  639. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_dispatcher.py +0 -0
  640. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_drydock_regression.py +0 -0
  641. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_drydock_tasks.py +0 -0
  642. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_fake_tool_call_paren_syntax.py +0 -0
  643. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_full_regression.py +0 -0
  644. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_graphrag.py +0 -0
  645. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_hallucinated_tool_suppression.py +0 -0
  646. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_history_manager.py +0 -0
  647. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_integration.py +0 -0
  648. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_issue_fixes.py +0 -0
  649. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_local_detect.py +0 -0
  650. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_loop_detection.py +0 -0
  651. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_message_id.py +0 -0
  652. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_message_merging.py +0 -0
  653. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_middleware.py +0 -0
  654. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_multi_agent.py +0 -0
  655. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_read_file_not_found_listing.py +0 -0
  656. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_real_failures.py +0 -0
  657. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_real_issues.py +0 -0
  658. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_real_workflow.py +0 -0
  659. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_reasoning_content.py +0 -0
  660. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_retrieval_consumer.py +0 -0
  661. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_retrieve_tool.py +0 -0
  662. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_search_replace_args_not_truncated.py +0 -0
  663. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_smoke.py +0 -0
  664. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_steering.py +0 -0
  665. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_steering_hook.py +0 -0
  666. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_system_prompt.py +0 -0
  667. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_tagged_text.py +0 -0
  668. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_task_complete_nudge.py +0 -0
  669. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_tool_args.py +0 -0
  670. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_truncate_args_valid_json.py +0 -0
  671. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_truncated_arg_path_hint.py +0 -0
  672. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_truncated_search_replace_escalation.py +0 -0
  673. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_truncated_write_escalation.py +0 -0
  674. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_ui_external_editor.py +0 -0
  675. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_ui_input_history.py +0 -0
  676. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_user_issues.py +0 -0
  677. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_wall_of_text_rescue.py +0 -0
  678. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_workloads.py +0 -0
  679. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/test_write_file_missing_path.py +0 -0
  680. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/testbank_helpers.py +0 -0
  681. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_ask_user_question.py +0 -0
  682. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash.py +0 -0
  683. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_binary_grep_hint.py +0 -0
  684. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_consec_empty_search.py +0 -0
  685. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
  686. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
  687. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_error_loop_breaker.py +0 -0
  688. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
  689. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
  690. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
  691. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
  692. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_exit_plan_mode.py +0 -0
  693. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_grep.py +0 -0
  694. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
  695. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_invoke_context.py +0 -0
  696. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_manager_gemma_derived_models.py +0 -0
  697. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_manager_get_tool_config.py +0 -0
  698. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_mcp.py +0 -0
  699. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_mcp_sampling.py +0 -0
  700. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
  701. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_read_file_dedup_reembed.py +0 -0
  702. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_read_file_directory.py +0 -0
  703. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_read_file_limit_truncation.py +0 -0
  704. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_append_fallback.py +0 -0
  705. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_dir_path.py +0 -0
  706. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_empty_content.py +0 -0
  707. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_file_not_found.py +0 -0
  708. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
  709. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_hard_stop.py +0 -0
  710. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_malformed_block.py +0 -0
  711. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
  712. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_placeholder.py +0 -0
  713. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
  714. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_task.py +0 -0
  715. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_ui_bash_execution.py +0 -0
  716. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_webfetch.py +0 -0
  717. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_websearch.py +0 -0
  718. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
  719. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/tools/test_write_file_missing_path_hint.py +0 -0
  720. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
  721. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
  722. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/test_do_update.py +0 -0
  723. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
  724. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/test_github_update_gateway.py +0 -0
  725. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
  726. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/test_ui_update_notification.py +0 -0
  727. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/test_update_use_case.py +0 -0
  728. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/tests/update_notifier/test_whats_new.py +0 -0
  729. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/uv.lock +0 -0
  730. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/worked_examples/README.md +0 -0
  731. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/worked_examples/cli_subcommand_dispatch.py +0 -0
  732. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/worked_examples/lookup.json +0 -0
  733. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/worked_examples/sql_parser.py +0 -0
  734. {drydock_cli-2.8.8 → drydock_cli-2.8.10}/worked_examples/tree_walking_interpreter.py +0 -0
@@ -0,0 +1 @@
1
+ 131907
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drydock-cli
3
- Version: 2.8.8
3
+ Version: 2.8.10
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
@@ -1080,7 +1080,8 @@ class AgentLoop:
1080
1080
  and assistant_msg.tool_calls):
1081
1081
  prev_tool_name = assistant_msg.tool_calls[-1].function.name if assistant_msg.tool_calls[-1].function else None
1082
1082
  _readonly_tools = {"read_file", "grep", "glob", "ls", "pwd",
1083
- "ralph_repo_index", "retrieve", "search_files"}
1083
+ "ralph_repo_index", "ralph_file_summary",
1084
+ "retrieve", "search_files"}
1084
1085
  _write_tools = {"write_file", "search_replace"}
1085
1086
  _prev_was_read = prev_tool_name in _readonly_tools
1086
1087
  _prev_was_write = prev_tool_name in _write_tools
@@ -1127,6 +1128,27 @@ class AgentLoop:
1127
1128
  and "file" in _prev_tool_result
1128
1129
  and "changed" in _prev_tool_result
1129
1130
  )
1131
+ # Detect bash that returned an error/traceback.
1132
+ # These stalls fire as empty_after_tool:bash :: source=canned — the
1133
+ # generic note doesn't tell the model what to DO with the error.
1134
+ _prev_bash_had_error = (
1135
+ prev_tool_name in ("bash", "run_command")
1136
+ and not _prev_bash_nothing_to_commit
1137
+ and not _prev_bash_commit_succeeded
1138
+ and bool(_re.search(
1139
+ r"(Error|error|Traceback|FAILED|exit code [1-9]|command not found)",
1140
+ _prev_tool_result
1141
+ ))
1142
+ )
1143
+ # Detect bash that returned non-empty output without an error.
1144
+ # Model stalls instead of using the output to write or fix code.
1145
+ _prev_bash_had_output = (
1146
+ prev_tool_name in ("bash", "run_command")
1147
+ and not _prev_bash_nothing_to_commit
1148
+ and not _prev_bash_commit_succeeded
1149
+ and not _prev_bash_had_error
1150
+ and bool(_prev_tool_result.strip())
1151
+ )
1130
1152
  if _stall_attempt == 0:
1131
1153
  if _prev_write_path_error:
1132
1154
  note = (
@@ -1142,11 +1164,19 @@ class AgentLoop:
1142
1164
  "or grep(pattern='...') to search content. "
1143
1165
  "Do NOT send an empty response."
1144
1166
  )
1167
+ elif prev_tool_name == "ralph_repo_index":
1168
+ note = (
1169
+ "You indexed the repository but produced no output. "
1170
+ "Now write a text answer to the user's question, "
1171
+ "or call read_file to inspect a specific file. "
1172
+ "Do NOT call ralph_repo_index again."
1173
+ )
1145
1174
  elif _prev_was_read:
1175
+ _tool_name_str = prev_tool_name or "read_file"
1146
1176
  note = (
1147
- f"You read a file but produced no output. "
1177
+ f"You called {_tool_name_str} but produced no output. "
1148
1178
  f"Now use write_file, search_replace, or bash "
1149
- f"to make changes — do NOT call read_file again."
1179
+ f"to make changes — do NOT call {_tool_name_str} again."
1150
1180
  )
1151
1181
  elif _prev_write_success:
1152
1182
  note = (
@@ -1166,6 +1196,18 @@ class AgentLoop:
1166
1196
  "Respond with a short summary of what you changed and stop. "
1167
1197
  "Do NOT run git add or git commit again."
1168
1198
  )
1199
+ elif _prev_bash_had_error:
1200
+ note = (
1201
+ "The command returned an error. Read the error message above, "
1202
+ "then fix the code with search_replace or write_file, or try a "
1203
+ "different command. Do NOT re-run the same failing command."
1204
+ )
1205
+ elif _prev_bash_had_output:
1206
+ note = (
1207
+ "The command ran and returned output. Use that output now: "
1208
+ "write or update code files, fix any issues shown, or respond "
1209
+ "to the user. Do NOT re-run the same command."
1210
+ )
1169
1211
  else:
1170
1212
  note = (
1171
1213
  "Continue working. Use a tool (write_file, "
@@ -1173,12 +1215,20 @@ class AgentLoop:
1173
1215
  "your plan in text."
1174
1216
  )
1175
1217
  elif _stall_attempt == 1:
1176
- if _prev_was_read:
1218
+ if prev_tool_name == "ralph_repo_index":
1219
+ note = (
1220
+ "You sent an empty response after indexing the repository. "
1221
+ "Respond in TEXT now — answer the user's question directly, "
1222
+ "or state in one sentence why you cannot proceed. "
1223
+ "Do NOT call ralph_repo_index again."
1224
+ )
1225
+ elif _prev_was_read:
1226
+ _tool_name_str = prev_tool_name or "read_file"
1177
1227
  note = (
1178
- f"You sent an empty response after reading a file. "
1228
+ f"You sent an empty response after calling {_tool_name_str}. "
1179
1229
  f"Call write_file or search_replace NOW to apply "
1180
1230
  f"what you read — OR state in one sentence why you "
1181
- f"cannot proceed."
1231
+ f"cannot proceed. Do NOT call {_tool_name_str} again."
1182
1232
  )
1183
1233
  else:
1184
1234
  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.10"
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,152 @@
1
1
  # Drydock Trip Log
2
2
 
3
+ ## 2026-05-10 03:32 UTC tick
4
+ - Stress: PID 3875067 alive (resume-from-step 807/1658, 32h+ runtime); new TUI child PID 115006 just spawned at 22:29 CDT; harness actively recycling sessions (12146 total sessions)
5
+ - Write rate: strained — admiral reports 91% retry rate and 14+ SKIP clusters in last 35 prompts; TUI recycle mechanism firing correctly
6
+ - Admiral last 30 min: high skip/retry pattern; last fires at 03:29 UTC (bootstrap after recycle); dominant patterns: thinking_stall, loop:bash_generic
7
+ - vLLM 400s: balancer showing 4905 total 502 errors (context overflow), balancer healthy on :8001 forwarding to gemma4 OK
8
+ - GH issues: 0 open
9
+ - Dispatch queue: harness=85708 (thinking_stall dominant, bash_generic secondary), retrieval=74 (0 actionable, all within 7-day window)
10
+ - retrieval-drain: 0 projects ingested (all up to date)
11
+ - Action this tick: no fix committed — ee354e5+cd6b56c (bash stall nudges + ralph_file_summary to readonly-tools) already address all top dispatch queue patterns and are pending next auto_release at 00:00 CDT (06:00 UTC); no new unaddressed patterns found
12
+
13
+ ## 2026-05-10 02:47 UTC tick
14
+ - Stress: PID 3875067 alive (resume-from-step 807, running since May 8, 45+ hr runtime); recent sessions cycling through "Doc:" single-letter prompts; harness advancing
15
+ - Write rate: N/A (stress sessions in Doc prompt segment)
16
+ - Admiral last 30 min: harness:thinking_stall dominant (6,962 in last 24h); harness:grep:unescaped_pattern 3,981 (fix b3922fa in v2.8.6 deployed, queue entries are historical); loop:bash_generic 660
17
+ - vLLM 400s: 0; llm_balancer PID 3944578 healthy on :8001 (gemma4 OK)
18
+ - GH issues: 0 open
19
+ - Dispatch queue: harness=85,384 (956 classifier batches), retrieval=74 (0 actionable, all within 7-day window)
20
+ - Retrieval-drain: 0 projects ingested (74 entries all already ingested recently)
21
+ - Action this tick: no fix committed — all top patterns (thinking_stall, grep:unescaped_pattern, heredoc_loop) addressed by commits ee354e5/cd6b56c/c8a5f7f/dd07921/b3922fa in last 24h; search_replace:not_found_loop at 114/24h, HARD-STOP logic already handles it; system healthy
22
+
23
+ ## 2026-05-10 01:32 UTC tick
24
+ - Stress: PID 3875067 alive; current cycle at ~680/1658 (stress_2000 log tail); harness proceeding through API prompt segment; watcher active
25
+ - Write rate: N/A (log-based estimate not available this tick)
26
+ - Admiral last 30 min: harness:thinking_stall dominant; harness:loop:bash_generic secondary; all patterns have existing nudge coverage
27
+ - vLLM 400s: 0; llm_balancer PID 3944578 healthy on :8001; no port squatters
28
+ - GH issues: 0 open
29
+ - Dispatch queue: harness=85,052, retrieval=74 (0 actionable; all within 7-day re-ingest window); steering=0
30
+ - Retrieval-drain: 0 projects ingested (74 entries all already ingested recently)
31
+ - Action this tick: no action — system healthy; recent commits cd6b56c + c8a5f7f already address dominant harness:thinking_stall pattern; harness:loop:bash_generic covered by existing FORCE_STOP + admiral nudges; no new actionable drydock bugs found
32
+
33
+ ## 2026-05-10 01:30 UTC tick
34
+ - Stress: 1197/1658 (done=166, skip=223, recycle=134); PID 3875067 alive (30h runtime); high skip rate in "Doc:" prompt segment (single-letter shortcuts confuse model, causes bash loops → TUI approval modal stall → harness skips); harness is recycling TUI correctly and advancing
35
+ - Write rate: all recent steps skipped (Doc segment, model inherently loops on ambiguous prompts)
36
+ - Admiral last 30 min: harness:thinking_stall (55,104 cumulative); harness:loop:bash_generic (12,574); harness:tool:hallucinated_name (6,425); harness:search_replace:not_found_loop (4,798)
37
+ - vLLM 400s: 0; llm_balancer PID 3944578 healthy on :8001; vLLM model count=1
38
+ - GH issues: 0 open
39
+ - Dispatch queue: harness=84,888, retrieval=74 (0 actionable); retrieval-drain: 0 projects ingested
40
+ - Action this tick: no action — system healthy; recent commits cd6b56c + c8a5f7f address dominant thinking_stall pattern; bash_generic covered by existing FORCE_STOP + admiral; no new actionable drydock bugs found
41
+
42
+ ## 2026-05-10 01:05 UTC tick
43
+ - Stress: active; PID 3875067 alive (29h runtime, etimes=104563, resume-from-step 807); latest session session_20260510_002909_d671f1bd started 19:30 local; harness cycling normally
44
+ - Write rate: N/A (not exposed in live log)
45
+ - Admiral last 30 min: harness:thinking_stall dominant (54,976 cumulative); harness:loop:bash_generic (12,544); harness:tool:hallucinated_name (6,422); harness:search_replace:not_found_loop (4,798); harness:grep:unescaped_pattern (3,969)
46
+ - vLLM 400s: 0; llm_balancer PID 3944578 healthy on :8001 (confirmed legit); docker serving gemma4 normally
47
+ - GH issues: 0 open
48
+ - Dispatch queue: harness=84,724, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
49
+ - Action this tick: no action — system healthy; 1 unreleased commit cd6b56c (ralph_file_summary stall nudge) pending next auto_release; all major patterns (thinking_stall, grep:unescaped_pattern, search_replace:not_found_loop, hallucinated_name) addressed by commits in last 48h; bash_generic (12K) handled by existing FORCE_STOP + admiral, inherent model limitation
50
+
51
+ ## 2026-05-10 00:04 UTC tick
52
+ - Stress: 1189/1658 (stress_2000_v10, log updated 1 min ago); PID 3875067 (stress_shakedown.py, 28.5h runtime from step 807) also alive
53
+ - Write rate: not recalculated (doc-heavy segment ongoing — architecture diagrams, release notes, changelog entries driving high SKIP rate)
54
+ - Admiral last 30 min: harness:thinking_stall dominant (54K cumulative), harness:loop:bash_generic (12K), harness:tool:hallucinated_name (6.4K), harness:search_replace:not_found_loop (4.8K); all covered by existing fixes
55
+ - vLLM 400s: 0; llm_balancer PID 3944578 confirmed healthy on :8001 (not an orphan); no :8001 squatting
56
+ - GH issues: 0 open
57
+ - Dispatch queue: harness=84547, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
58
+ - Action this tick: no action — all patterns addressed by commits from last 24h (cd6b56c, c8a5f7f, b3922fa, dd07921); ralph_repo_index is top stall trigger (29K queue) but already in _readonly_tools since prior fix; system healthy
59
+
60
+ ## 2026-05-09 23:33 UTC tick
61
+ - Stress: 1183/1658; PID 3875067 alive; done=165, skip=205, recycle=125 (babysitter shows step 1183 active)
62
+ - Write rate: ~44.6% (165/370 non-timeout prompts written)
63
+ - Admiral last 30 min: 0 fires (classify_pulse log empty for this window)
64
+ - vLLM 400s: 0; llm_balancer PID 3944578 healthy on :8001 (confirmed legit)
65
+ - GH issues: 0 open
66
+ - Dispatch queue: harness=84359, retrieval=74 (0 actionable); retrieval-drain: 0 ingested (all within 7-day window)
67
+ - Action this tick: no action — all queued patterns (harness:thinking_stall, harness:loop:bash_generic) addressed by recent commits cd6b56c + c8a5f7f + 2cfa973; TUI showing "Queued: 4 pending" indicating multi-prompt queue buildup during doc-heavy segment, not a drydock source bug; system healthy
68
+
69
+ ## 2026-05-09 23:03 UTC tick
70
+ - Stress: 1178+/1658; PID 3875067 alive (27.5h runtime); 165 done, 205 skip, 125 recycles since step 807 resume; doc-heavy segment (architecture diagrams, release notes) causing high SKIP rate from prompt-acceptance retries
71
+ - Write rate: ~31% overall (stable)
72
+ - Admiral last 30 min: harness:thinking_stall dominant (86/100 recent queue entries), harness:loop:bash_generic (12/100), hallucinated_name (1), grep:unescaped_pattern (1)
73
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (confirmed llm_balancer.py); docker status unknown (CLI unavailable)
74
+ - GH issues: 0 open
75
+ - Dispatch queue: harness=84167, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
76
+ - Action this tick: committed fix cd6b56c — added ralph_file_summary to _readonly_tools set in stall handler (addresses pattern harness:thinking_stall); stalls after ralph_file_summary were getting generic "Continue working" nudge instead of the specific "you called {tool} but produced no output" message
77
+
78
+ ## 2026-05-09 23:30 UTC tick
79
+ - Stress: 1173/1658; PID 3875067 alive (27h runtime); progressing from 1130 in prior tick — ~43 steps/1.5h
80
+ - Write rate: ~31% (stable, unchanged across multiple ticks)
81
+ - 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
82
+ - vLLM 400s: 0; balancer PID 3944578 confirmed llm_balancer.py on :8001; forwarding to gemma4 verified
83
+ - GH issues: 0 open
84
+ - Dispatch queue: harness=83976, retrieval=74 (0 actionable, all within 7-day re-ingest window); retrieval-drain: 0 projects ingested
85
+ - 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
86
+
87
+ ## 2026-05-09 22:05 UTC tick
88
+ - 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
89
+ - Write rate: ~45% (done vs skip+done since resume at 807)
90
+ - 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
91
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy; docker "unhealthy" known false alarm
92
+ - GH issues: 0 open
93
+ - Dispatch queue: harness=83795, retrieval=74, steering=0; retrieval-drain: 0 projects ingested (all within 7-day window)
94
+ - 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)
95
+
96
+ ## 2026-05-09 21:32 UTC tick
97
+ - 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)
98
+ - Write rate: ~31% overall (stable)
99
+ - 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
100
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (confirmed llm_balancer.py); docker "unhealthy" is known false alarm (serving normally)
101
+ - GH issues: 0 open
102
+ - Dispatch queue: harness=83613, retrieval=74 (0 actionable, all within 7-day re-ingest window); retrieval-drain: 0 projects ingested
103
+ - 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
104
+
105
+ ## 2026-05-09 21:10 UTC tick
106
+ - Stress: 1142/1658 (PID 3875067 alive, 25h runtime); done=142 skip=192 recycle=115 timeout=0
107
+ - Write rate: ~42% (done/(done+skip))
108
+ - 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)
109
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001; gemma4 docker "unhealthy" but API nominal
110
+ - GH issues: 0 open
111
+ - Dispatch queue: harness=83400, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
112
+ - 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
113
+
114
+ ## 2026-05-09 19:33 UTC tick
115
+ - 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
116
+ - Write rate: ~31% (consistent with prior ticks)
117
+ - 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
118
+ - vLLM 400s: 0; balancer PID healthy on :8001 serving gemma4; docker gemma4 serving normally
119
+ - GH issues: 0 open
120
+ - Dispatch queue: harness=82658, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
121
+ - 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
122
+
123
+ ## 2026-05-09 19:00 UTC tick
124
+ - Stress: ~807/1658 (PID 3875067 alive, --resume-from-step 807); active sessions writing (96 msgs in latest session)
125
+ - Write rate: n/a (no stress log file found)
126
+ - 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
127
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy; gemma4 serving fine
128
+ - GH issues: 0 open
129
+ - Dispatch queue: harness=82077, retrieval=74 (0 actionable); steering=0
130
+ - 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.
131
+
132
+ ## 2026-05-09 18:30 UTC tick
133
+ - 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
134
+ - Write rate: 62 writes / 303 msgs (~20%); 620 accepted / 675 prompts (91.8% accept rate)
135
+ - 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
136
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy (confirmed curl); gemma4 container shows "unhealthy" docker status but forwarding fine
137
+ - GH issues: 0 open
138
+ - Dispatch queue: harness=81751, retrieval=74 (0 actionable, all within 7-day window); steering=0
139
+ - Action this tick: no action — all top dispatch patterns addressed by v2.8.0-v2.8.7; retrieval drain: 0 projects ingested; system healthy
140
+
141
+ ## 2026-05-09 17:00 UTC tick
142
+ - 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)
143
+ - Write rate: ~46% on accepted prompts (consistent with prior ticks)
144
+ - 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
145
+ - vLLM 400s: 0; balancer PID 3944578 on :8001 healthy; gemma4 container up, 0 JSONDecodeErrors
146
+ - GH issues: 0 open
147
+ - Dispatch queue: harness=81063, retrieval=74 (0 actionable); retrieval-drain: 0 projects ingested (all 74 within 7-day window)
148
+ - 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
149
+
3
150
  ## 2026-05-09 16:35 UTC tick
4
151
  - 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
152
  - 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 +3980,77 @@ restarted, cron self-match bug fixed in this same session).
3833
3980
  - Dispatch queue: harness=77713, retrieval=74 (0 actionable, all within 7-day window)
3834
3981
  - retrieval-drain: 0 projects ingested (all 74 already ingested)
3835
3982
  - 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
3983
+
3984
+ ## 2026-05-09 17:45 UTC tick
3985
+ - 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
3986
+ - Write rate: ~31% overall; step 1101 (Doc: tutorial for Z) completed with 19 msgs, 0 writes — consistent with doc-heavy segment of prompts
3987
+ - 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)
3988
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (gemma4 only, romulus still paused); no JSONDecodeErrors in docker logs
3989
+ - GH issues: 0 open
3990
+ - Dispatch queue: harness=81410, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
3991
+ - 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
3992
+
3993
+ ## 2026-05-09 19:10 UTC tick
3994
+ - Stress: 807/1658 (PID 3875067, tool_agent suite)
3995
+ - Write rate: N/A (progress tracking not exposed in log)
3996
+ - 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)
3997
+ - vLLM 400s: 0; balancer healthy on :8001 (PID 3944578); vLLM docker "unhealthy" status but serving normally
3998
+ - GH issues: 0 open
3999
+ - Dispatch queue: harness=82375, retrieval=74 (0 actionable); retrieval-drain: 0 projects ingested
4000
+ - 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
4001
+
4002
+ ## 2026-05-09 21:00 UTC tick
4003
+ - 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
4004
+ - Write rate: ~31% overall (unchanged)
4005
+ - 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
4006
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001; docker "unhealthy" is known false alarm (serving normally); no JSONDecodeErrors
4007
+ - GH issues: 0 open
4008
+ - Dispatch queue: harness=82923, retrieval=74 (0 actionable, all within 7-day window); retrieval-drain: 0 projects ingested
4009
+ - 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
4010
+
4011
+ ## 2026-05-09 22:30 UTC tick
4012
+ - 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)
4013
+ - Write rate: ~31% (stable)
4014
+ - Admiral last 30 min: harness:thinking_stall (159), harness:grep:unescaped_pattern (56), harness:loop:bash_generic (24), harness:tool:hallucinated_name (6)
4015
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (confirmed legit llm_balancer.py); docker CLI unavailable (known)
4016
+ - GH issues: 0 open
4017
+ - Dispatch queue: harness=83168, retrieval=74 (0 actionable); retrieval-drain: 0 projects ingested (74 entries all within 7-day re-ingest window)
4018
+ - 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
4019
+
4020
+ ## 2026-05-10 02:30 UTC tick
4021
+ - Stress: 1218/1658 (actively running, PID 3875067)
4022
+ - Write rate: N/A (no report-every line visible in current log slice)
4023
+ - Admiral last 30 min: harness:thinking_stall dominant (55364 total queue), harness:loop:bash_generic (12634), harness:tool:hallucinated_name (6431), harness:search_replace:not_found_loop (4798)
4024
+ - vLLM 400s: 0; balancer OK on :8001; docker gemma4 healthy
4025
+ - GH issues: 0 open
4026
+ - Dispatch queue: harness=55364+, retrieval=74 (0 actionable, all within re-ingest window), steering=0
4027
+ - Action this tick: committed ee354e5 fix(stall): add specific bash stall nudges for error and output cases (addresses pattern harness:thinking_stall) — empty_after_tool:bash::source=canned was falling through to generic 'Continue working'; new _prev_bash_had_error and _prev_bash_had_output branches give the model concrete direction. Auto_release will ship at next 0/6/12/18 CDT tick.
4028
+
4029
+ ## 2026-05-10 04:03 UTC tick
4030
+ - Stress: 1230/1658 (wedged — harness alive PID 3875067, TUI child 110424 alive since 22:03 CDT, log stale 5+ hours since 22:01 CDT)
4031
+ - Write rate: 0 new writes observed (183 accepted / 235 skipped total at last progress report, prompt 1225)
4032
+ - Admiral last 30 min: not measurable (admiral_history.log not updated)
4033
+ - vLLM 400s: 0
4034
+ - GH issues: gh unavailable this tick
4035
+ - Dispatch queue: harness=85546 entries (2 patterns: thinking_stall 42 fires addressed in 24h commits, bash_generic 8 fires advisory), retrieval=74 entries (all already ingested), steering=0
4036
+ - retrieval-drain: 0 projects ingested (all up to date)
4037
+ - Action this tick: no fix committed — harness is alive but wedged (TUI child spawned at 22:03 created session_20260510_030327 with only 3 messages then stalled; babysitter cannot restart a live harness; watcher PIDs 3875068+110078 are running but recycle signals haven't unblocked it). harness:thinking_stall pattern was already addressed in today's commits (ee354e5, cd6b56c); harness:loop:bash_generic is low-confidence (0.6) with admiral nudge already firing — no source fix warranted.
4038
+
4039
+ ## 2026-05-10 04:30 UTC tick
4040
+ - Stress: 1253/1658 prompts (idx), done=200, skip=245, timeout=0, recycle=148; PID 3875067 alive (1d 8h runtime)
4041
+ - Write rate: not directly measured this tick
4042
+ - Admiral last 30 min: harness:thinking_stall dominant (55,902 total queue entries); ralph_repo_index accounts for 30,357 (54% of all stalls)
4043
+ - vLLM 400s: 0 in last 30 min
4044
+ - GH issues: 0 open
4045
+ - Dispatch queue: harness=68686 entries (multiple patterns), retrieval=74 (all already ingested), steering=0
4046
+ - Action this tick: committed fix for ralph_repo_index stall nudge (addresses pattern harness:thinking_stall) — prev generic nudge said "make changes" which is wrong after repo-indexing; new nudge tells model to write TEXT answer or call read_file; retrieval-drain: 0 projects ingested (all already ingested recently)
4047
+
4048
+ ## 2026-05-10 04:31 UTC tick
4049
+ - Stress: PID 3875067 alive (33h runtime, resume-from 807/1658); current prompt "Perf: batch DB writes"; TUI child PID 125661 alive (128s), session_20260510_042832 active with 33 messages, last updated 04:30 UTC
4050
+ - Write rate: not directly measured; sessions cycling normally (12152 total)
4051
+ - Admiral last 30 min: harness:thinking_stall (137 fires, all ralph_repo_index/bash), harness:loop:bash_generic (24), harness:grep:unescaped_pattern (3)
4052
+ - vLLM 400s: 0; balancer PID 3944578 healthy on :8001 (confirmed llm_balancer.py); docker gemma4 serving normally
4053
+ - GH issues: 0 open (gh returned no results)
4054
+ - Dispatch queue: harness=86034 (top: thinking_stall 56039, bash_generic 12758, hallucinated_name 6431), retrieval=74 (0 actionable — all within 7-day window), steering=0
4055
+ - retrieval-drain: 0 projects ingested (all already up to date)
4056
+ - Action this tick: no action — all recent patterns addressed by a6a448e/ee354e5/cd6b56c (thinking_stall nudges for ralph_repo_index/bash); auto_release ships at ~05:00 UTC; 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