drydock-cli 2.7.23__tar.gz → 2.7.24__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 (677) hide show
  1. drydock_cli-2.7.24/.auto_release.lock +1 -0
  2. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/PKG-INFO +1 -1
  3. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/agent_loop.py +10 -2
  4. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/format.py +5 -3
  5. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/pyproject.toml +1 -1
  6. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_loop_detection.py +23 -4
  7. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/trip_log.md +171 -0
  8. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/uv.lock +1 -1
  9. drydock_cli-2.7.23/.auto_release.lock +0 -1
  10. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.claude/scheduled_tasks.lock +0 -0
  11. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/CODEOWNERS +0 -0
  12. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
  13. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  14. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  15. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/workflows/build-and-upload.yml +0 -0
  16. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/workflows/ci.yml +0 -0
  17. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/workflows/issue-labeler.yml +0 -0
  18. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.github/workflows/release.yml +0 -0
  19. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.gitignore +0 -0
  20. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.pre-commit-config.yaml +0 -0
  21. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.python-version +0 -0
  22. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.typos.toml +0 -0
  23. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.vscode/extensions.json +0 -0
  24. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.vscode/launch.json +0 -0
  25. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/.vscode/settings.json +0 -0
  26. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/AGENTS.md +0 -0
  27. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/Admiral.md +0 -0
  28. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/BASELINE_412.md +0 -0
  29. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/CHANGELOG.md +0 -0
  30. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/CLAUDE.md +0 -0
  31. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/CONTRIBUTING.md +0 -0
  32. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/DEPLOYMENT.md +0 -0
  33. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/Drydock_rebrand.md +0 -0
  34. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/LICENSE +0 -0
  35. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/MODEL_SHORTCOMINGS.md +0 -0
  36. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/NOTICE +0 -0
  37. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/OVERNIGHT_PROGRESS.md +0 -0
  38. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/OVERNIGHT_REPORT_2026_04_13.md +0 -0
  39. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/PRD.md +0 -0
  40. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/README.md +0 -0
  41. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/action.yml +0 -0
  42. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/README.md +0 -0
  43. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results1.tsv +0 -0
  44. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results13.tsv +0 -0
  45. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results14.tsv +0 -0
  46. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results15.tsv +0 -0
  47. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results16.tsv +0 -0
  48. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results17.tsv +0 -0
  49. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results18.tsv +0 -0
  50. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results19.tsv +0 -0
  51. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results2.tsv +0 -0
  52. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results20.tsv +0 -0
  53. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results3.tsv +0 -0
  54. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results4.tsv +0 -0
  55. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results5.tsv +0 -0
  56. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results6.tsv +0 -0
  57. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results7.tsv +0 -0
  58. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results8.tsv +0 -0
  59. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results9.tsv +0 -0
  60. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/baseline_history/results_evolved_v1.tsv +0 -0
  61. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/distribution/zed/LICENSE +0 -0
  62. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/distribution/zed/extension.toml +0 -0
  63. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/distribution/zed/icons/mistral_vibe.svg +0 -0
  64. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/docs/README.md +0 -0
  65. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/docs/acp-setup.md +0 -0
  66. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/docs/proxy-setup.md +0 -0
  67. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/__init__.py +0 -0
  68. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/__init__.py +0 -0
  69. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/acp_agent_loop.py +0 -0
  70. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/acp_logger.py +0 -0
  71. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/entrypoint.py +0 -0
  72. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/__init__.py +0 -0
  73. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/base.py +0 -0
  74. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/builtins/bash.py +0 -0
  75. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/builtins/read_file.py +0 -0
  76. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/builtins/search_replace.py +0 -0
  77. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/builtins/todo.py +0 -0
  78. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/builtins/write_file.py +0 -0
  79. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/tools/session_update.py +0 -0
  80. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/acp/utils.py +0 -0
  81. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/__init__.py +0 -0
  82. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/detectors.py +0 -0
  83. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/detectors_proposed.py +0 -0
  84. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/history.py +0 -0
  85. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/interventions.py +0 -0
  86. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/llm_analyzer.py +0 -0
  87. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/metrics.py +0 -0
  88. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/opus_escalator.py +0 -0
  89. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/persistence.py +0 -0
  90. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/policy.py +0 -0
  91. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/proposer.py +0 -0
  92. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/stager.py +0 -0
  93. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/task_classifier.py +0 -0
  94. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/tuning.py +0 -0
  95. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/validator.py +0 -0
  96. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/admiral/worker.py +0 -0
  97. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/__init__.py +0 -0
  98. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/autocompletion/__init__.py +0 -0
  99. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/autocompletion/base.py +0 -0
  100. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/autocompletion/path_completion.py +0 -0
  101. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/autocompletion/slash_command.py +0 -0
  102. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/cli.py +0 -0
  103. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/clipboard.py +0 -0
  104. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/commands.py +0 -0
  105. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/entrypoint.py +0 -0
  106. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/history_manager.py +0 -0
  107. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
  108. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
  109. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
  110. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/terminal_setup.py +0 -0
  111. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/__init__.py +0 -0
  112. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
  113. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/app.py +0 -0
  114. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/app.tcss +0 -0
  115. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/external_editor.py +0 -0
  116. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
  117. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
  118. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
  119. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
  120. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
  121. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
  122. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
  123. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
  124. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
  125. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
  126. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
  127. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
  128. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
  129. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
  130. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
  131. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
  132. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
  133. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
  134. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
  135. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/compact.py +0 -0
  136. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
  137. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
  138. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
  139. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/loading.py +0 -0
  140. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/messages.py +0 -0
  141. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
  142. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
  143. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
  144. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
  145. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
  146. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
  147. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
  148. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
  149. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
  150. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/tools.py +0 -0
  151. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
  152. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
  153. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/windowing/history.py +0 -0
  154. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
  155. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/textual_ui/windowing/state.py +0 -0
  156. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/__init__.py +0 -0
  157. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
  158. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
  159. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
  160. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
  161. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
  162. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/update.py +0 -0
  163. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/cli/update_notifier/whats_new.py +0 -0
  164. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/__init__.py +0 -0
  165. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/agents/__init__.py +0 -0
  166. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/agents/manager.py +0 -0
  167. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/agents/models.py +0 -0
  168. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/auth/__init__.py +0 -0
  169. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/auth/crypto.py +0 -0
  170. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/auth/github.py +0 -0
  171. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/__init__.py +0 -0
  172. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/completers.py +0 -0
  173. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
  174. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
  175. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
  176. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/file_indexer/store.py +0 -0
  177. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
  178. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/fuzzy.py +0 -0
  179. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/path_prompt.py +0 -0
  180. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
  181. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/build_orchestrator.py +0 -0
  182. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/checkpoint.py +0 -0
  183. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/config/__init__.py +0 -0
  184. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/config/_settings.py +0 -0
  185. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/config/doctor.py +0 -0
  186. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/config/harness_files/__init__.py +0 -0
  187. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/config/harness_files/_harness_manager.py +0 -0
  188. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/config/harness_files/_paths.py +0 -0
  189. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/consultant.py +0 -0
  190. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/drydock_states.py +0 -0
  191. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/hooks.py +0 -0
  192. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/__init__.py +0 -0
  193. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/backend/anthropic.py +0 -0
  194. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/backend/base.py +0 -0
  195. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/backend/factory.py +0 -0
  196. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/backend/generic.py +0 -0
  197. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/backend/mistral.py +0 -0
  198. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
  199. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/backend/vertex.py +0 -0
  200. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/exceptions.py +0 -0
  201. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/message_utils.py +0 -0
  202. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/llm/types.py +0 -0
  203. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/logger.py +0 -0
  204. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/middleware.py +0 -0
  205. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/output_formatters.py +0 -0
  206. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/paths/__init__.py +0 -0
  207. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/paths/_drydock_home.py +0 -0
  208. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/paths/_local_config_walk.py +0 -0
  209. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/paths/conventions.py +0 -0
  210. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/plan_session.py +0 -0
  211. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/plugins.py +0 -0
  212. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/programmatic.py +0 -0
  213. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/__init__.py +0 -0
  214. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/builder.md +0 -0
  215. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/cli.md +0 -0
  216. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/compact.md +0 -0
  217. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/dangerous_directory.md +0 -0
  218. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/diagnostic.md +0 -0
  219. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/explore.md +0 -0
  220. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/gemma4.md +0 -0
  221. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/planner.md +0 -0
  222. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/project_context.md +0 -0
  223. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/prompts/tests.md +0 -0
  224. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/proxy_setup.py +0 -0
  225. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/session/agent_memory.py +0 -0
  226. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/session/checkpoints.py +0 -0
  227. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/session/session_loader.py +0 -0
  228. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/session/session_logger.py +0 -0
  229. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/session/session_migration.py +0 -0
  230. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/session/state_file.py +0 -0
  231. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/session_checker.py +0 -0
  232. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/skills/__init__.py +0 -0
  233. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/skills/manager.py +0 -0
  234. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/skills/models.py +0 -0
  235. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/skills/parser.py +0 -0
  236. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/slug.py +0 -0
  237. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/system_prompt.py +0 -0
  238. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/telemetry/__init__.py +0 -0
  239. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/telemetry/send.py +0 -0
  240. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/teleport/errors.py +0 -0
  241. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/teleport/git.py +0 -0
  242. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/teleport/nuage.py +0 -0
  243. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/teleport/teleport.py +0 -0
  244. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/teleport/types.py +0 -0
  245. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/base.py +0 -0
  246. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/_task_manager.py +0 -0
  247. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/ask_user_question.py +0 -0
  248. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/bash.py +0 -0
  249. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/cron.py +0 -0
  250. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
  251. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/glob_tool.py +0 -0
  252. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/grep.py +0 -0
  253. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/invoke_skill.py +0 -0
  254. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/lsp.py +0 -0
  255. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/mcp_resources.py +0 -0
  256. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/notebook_edit.py +0 -0
  257. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/powershell.py +0 -0
  258. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
  259. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
  260. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/bash.md +0 -0
  261. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/cron.md +0 -0
  262. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/glob.md +0 -0
  263. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/grep.md +0 -0
  264. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
  265. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
  266. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
  267. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
  268. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
  269. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
  270. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
  271. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
  272. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/task.md +0 -0
  273. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
  274. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/todo.md +0 -0
  275. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
  276. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
  277. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
  278. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
  279. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
  280. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/read_file.py +0 -0
  281. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/search_replace.py +0 -0
  282. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/task.py +0 -0
  283. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/todo.py +0 -0
  284. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/tool_search.py +0 -0
  285. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/webfetch.py +0 -0
  286. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/websearch.py +0 -0
  287. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/worktree.py +0 -0
  288. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/builtins/write_file.py +0 -0
  289. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/injection_guard.py +0 -0
  290. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/manager.py +0 -0
  291. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/mcp/__init__.py +0 -0
  292. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/mcp/registry.py +0 -0
  293. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/mcp/tools.py +0 -0
  294. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/mcp_sampling.py +0 -0
  295. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/ui.py +0 -0
  296. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/tools/utils.py +0 -0
  297. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/trusted_folders.py +0 -0
  298. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/types.py +0 -0
  299. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/core/utils.py +0 -0
  300. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/__init__.py +0 -0
  301. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/base.py +0 -0
  302. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/onboarding.tcss +0 -0
  303. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/screens/__init__.py +0 -0
  304. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/screens/api_key.py +0 -0
  305. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/screens/choice.py +0 -0
  306. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/screens/local_model.py +0 -0
  307. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/onboarding/screens/welcome.py +0 -0
  308. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
  309. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
  310. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/__init__.py +0 -0
  311. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/api-design/SKILL.md +0 -0
  312. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/audit-tests/SKILL.md +0 -0
  313. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/batch/SKILL.md +0 -0
  314. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/commit-code/SKILL.md +0 -0
  315. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/context-summary/SKILL.md +0 -0
  316. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/create-presentation/SKILL.md +0 -0
  317. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/deep-research/SKILL.md +0 -0
  318. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/deploy/SKILL.md +0 -0
  319. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/diff-review/SKILL.md +0 -0
  320. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/doc-gen/SKILL.md +0 -0
  321. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/explain-code/SKILL.md +0 -0
  322. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/explore-code/SKILL.md +0 -0
  323. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/fix-issue/SKILL.md +0 -0
  324. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/git-ops/SKILL.md +0 -0
  325. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/init-project/SKILL.md +0 -0
  326. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/investigate/SKILL.md +0 -0
  327. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/loop/SKILL.md +0 -0
  328. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/migrate/SKILL.md +0 -0
  329. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/perf-analyze/SKILL.md +0 -0
  330. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/plan-impl/SKILL.md +0 -0
  331. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/pr-review/SKILL.md +0 -0
  332. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/refactor/SKILL.md +0 -0
  333. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/regex-help/SKILL.md +0 -0
  334. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/review/SKILL.md +0 -0
  335. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/security-review/SKILL.md +0 -0
  336. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/ship/SKILL.md +0 -0
  337. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/simplify/SKILL.md +0 -0
  338. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/strong-tests/SKILL.md +0 -0
  339. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/skills/test-verify/SKILL.md +0 -0
  340. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock/whats_new.md +0 -0
  341. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock-acp.spec +0 -0
  342. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/drydock_terms.md +0 -0
  343. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/flake.lock +0 -0
  344. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/flake.nix +0 -0
  345. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/nohup.out +0 -0
  346. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/README.md +0 -0
  347. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/config_base.toml +0 -0
  348. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/config_best.toml +0 -0
  349. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/domain_spec.md +0 -0
  350. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/experimenter.py +0 -0
  351. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/kernel.py +0 -0
  352. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/mini_prd.md +0 -0
  353. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/mini_prompts.txt +0 -0
  354. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/proposer.py +0 -0
  355. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/research/results.tsv +0 -0
  356. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/resume.md +0 -0
  357. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/README.md +0 -0
  358. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/admiral_probe.py +0 -0
  359. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/audit_sampler.py +0 -0
  360. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/auto_generate_tests.py +0 -0
  361. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/auto_release.sh +0 -0
  362. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/auto_test_loop.sh +0 -0
  363. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/autonomous_review.sh +0 -0
  364. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/autonomous_review_prompt.md +0 -0
  365. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/backup.sh +0 -0
  366. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/bump_version.py +0 -0
  367. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/comprehensive_loop.py +0 -0
  368. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/deploy_to_github.sh +0 -0
  369. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/discover_cli_tools.sh +0 -0
  370. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/evolve_tests.py +0 -0
  371. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/gen_2000_prompts.py +0 -0
  372. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/install.sh +0 -0
  373. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/llm_balancer.py +0 -0
  374. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/mega_loop.py +0 -0
  375. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/meta_ralph_loop.py +0 -0
  376. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/monitor_swebench.sh +0 -0
  377. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/monitor_test_battery.sh +0 -0
  378. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/notify_release.py +0 -0
  379. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/oss_task_harness.py +0 -0
  380. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/overnight_agents_test.sh +0 -0
  381. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/poll_issues.sh +0 -0
  382. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/port_task.py +0 -0
  383. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/prepare_release.py +0 -0
  384. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/publish_to_pypi.sh +0 -0
  385. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/ralph_loop.py +0 -0
  386. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/research_babysitter.sh +0 -0
  387. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/session_loop_audit.py +0 -0
  388. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/shakedown.py +0 -0
  389. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/shakedown_interactive.py +0 -0
  390. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/shakedown_regression.sh +0 -0
  391. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/shakedown_suite.sh +0 -0
  392. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/shakedown_variance.sh +0 -0
  393. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_babysitter.sh +0 -0
  394. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_prompts_50.txt +0 -0
  395. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_prompts_realuser.txt +0 -0
  396. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_prompts_tool_agent.txt +0 -0
  397. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
  398. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_shakedown.py +0 -0
  399. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_telegram_status.py +0 -0
  400. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/stress_watcher.py +0 -0
  401. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/telegram_bot.py +0 -0
  402. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/test_bank.sh +0 -0
  403. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/test_full.sh +0 -0
  404. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/test_smoke.sh +0 -0
  405. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/test_tui_path.py +0 -0
  406. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/tui_test.py +0 -0
  407. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/scripts/vllm_failover.sh +0 -0
  408. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/test/project/dummy +0 -0
  409. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/__init__.py +0 -0
  410. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/conftest.py +0 -0
  411. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_acp.py +0 -0
  412. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_agent_thought.py +0 -0
  413. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_bash.py +0 -0
  414. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_compact_session_updates.py +0 -0
  415. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_content.py +0 -0
  416. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_initialize.py +0 -0
  417. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_list_sessions.py +0 -0
  418. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_load_session.py +0 -0
  419. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_multi_session.py +0 -0
  420. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_new_session.py +0 -0
  421. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_proxy_setup_acp.py +0 -0
  422. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_read_file.py +0 -0
  423. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_search_replace.py +0 -0
  424. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_set_config_option.py +0 -0
  425. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_set_mode.py +0 -0
  426. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_set_model.py +0 -0
  427. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_tool_call_session_update.py +0 -0
  428. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_utils.py +0 -0
  429. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/acp/test_write_file.py +0 -0
  430. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_file_indexer.py +0 -0
  431. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_fuzzy.py +0 -0
  432. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
  433. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_path_completer_recursive.py +0 -0
  434. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_path_completion_controller.py +0 -0
  435. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
  436. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_slash_command_controller.py +0 -0
  437. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
  438. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/__init__.py +0 -0
  439. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/data/__init__.py +0 -0
  440. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/data/fireworks.py +0 -0
  441. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/data/mistral.py +0 -0
  442. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/test_anthropic_adapter.py +0 -0
  443. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/test_backend.py +0 -0
  444. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/test_generic_adapter_sanitize.py +0 -0
  445. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/test_reasoning_adapter.py +0 -0
  446. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
  447. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
  448. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
  449. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
  450. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_bell_notifications.py +0 -0
  451. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_braille_renderer.py +0 -0
  452. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_clipboard.py +0 -0
  453. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_commands.py +0 -0
  454. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_copy_shortcuts.py +0 -0
  455. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_external_editor.py +0 -0
  456. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_no_markup_static.py +0 -0
  457. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_question_app.py +0 -0
  458. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_spinner.py +0 -0
  459. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_switching_mode.py +0 -0
  460. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_ui_clipboard_notifications.py +0 -0
  461. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
  462. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_ui_session_resume.py +0 -0
  463. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/test_ui_skill_dispatch.py +0 -0
  464. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/textual_ui/__init__.py +0 -0
  465. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/cli/textual_ui/test_session_picker.py +0 -0
  466. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/conftest.py +0 -0
  467. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_agents.py +0 -0
  468. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_auth_crypto.py +0 -0
  469. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_auth_github.py +0 -0
  470. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
  471. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
  472. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_config_load_dotenv.py +0 -0
  473. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_config_paths.py +0 -0
  474. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_config_resolution.py +0 -0
  475. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_file_logging.py +0 -0
  476. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_plan_session.py +0 -0
  477. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_proxy_setup.py +0 -0
  478. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_slug.py +0 -0
  479. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_telemetry_send.py +0 -0
  480. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_teleport_git.py +0 -0
  481. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_teleport_nuage.py +0 -0
  482. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_teleport_service.py +0 -0
  483. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_trusted_folders.py +0 -0
  484. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/core/test_utils.py +0 -0
  485. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/e2e/common.py +0 -0
  486. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/e2e/conftest.py +0 -0
  487. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/e2e/mock_server.py +0 -0
  488. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/e2e/test_cli_tui_onboarding.py +0 -0
  489. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/e2e/test_cli_tui_streaming.py +0 -0
  490. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
  491. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/fixtures/doc_qa_system_prd.md +0 -0
  492. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/mock/__init__.py +0 -0
  493. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/mock/mock_backend_factory.py +0 -0
  494. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/mock/mock_entrypoint.py +0 -0
  495. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/mock/utils.py +0 -0
  496. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/onboarding/test_run_onboarding.py +0 -0
  497. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/onboarding/test_ui_onboarding.py +0 -0
  498. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/session/test_session_loader.py +0 -0
  499. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/session/test_session_logger.py +0 -0
  500. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/session/test_session_migration.py +0 -0
  501. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/skills/conftest.py +0 -0
  502. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/skills/test_manager.py +0 -0
  503. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/skills/test_models.py +0 -0
  504. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/skills/test_parser.py +0 -0
  505. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
  506. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
  507. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
  508. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
  509. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
  510. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
  511. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
  512. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
  513. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
  514. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
  515. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
  516. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
  517. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
  518. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
  519. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
  520. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
  521. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
  522. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
  523. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
  524. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
  525. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
  526. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
  527. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
  528. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
  529. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
  530. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
  531. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
  532. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
  533. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
  534. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
  535. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
  536. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
  537. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
  538. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
  539. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
  540. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
  541. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
  542. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
  543. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
  544. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
  545. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
  546. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
  547. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
  548. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
  549. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
  550. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
  551. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
  552. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
  553. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
  554. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
  555. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
  556. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
  557. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
  558. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
  559. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
  560. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
  561. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
  562. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
  563. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
  564. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
  565. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/base_snapshot_test_app.py +0 -0
  566. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/conftest.py +0 -0
  567. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/snap_compare.py +0 -0
  568. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
  569. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
  570. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
  571. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
  572. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
  573. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
  574. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
  575. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
  576. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
  577. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
  578. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
  579. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
  580. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
  581. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
  582. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/stubs/fake_backend.py +0 -0
  583. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/stubs/fake_client.py +0 -0
  584. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/stubs/fake_tool.py +0 -0
  585. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_admiral.py +0 -0
  586. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_admiral_phase3.py +0 -0
  587. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_admiral_proposed.py +0 -0
  588. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_admiral_struggle_dedup.py +0 -0
  589. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_agent_auto_compact.py +0 -0
  590. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_agent_backend.py +0 -0
  591. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_agent_observer_streaming.py +0 -0
  592. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_agent_stats.py +0 -0
  593. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_agent_tasks.py +0 -0
  594. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_agent_tool_call.py +0 -0
  595. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_agents.py +0 -0
  596. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_bank_build.py +0 -0
  597. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_bank_debug.py +0 -0
  598. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_bank_multiagent.py +0 -0
  599. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_bank_prd.py +0 -0
  600. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_bank_prd_extended.py +0 -0
  601. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_bank_tools.py +0 -0
  602. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_bank_update.py +0 -0
  603. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_build_projects.py +0 -0
  604. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_checkpoint.py +0 -0
  605. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_cli_programmatic_preload.py +0 -0
  606. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_current_bugs.py +0 -0
  607. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_drydock_regression.py +0 -0
  608. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_drydock_tasks.py +0 -0
  609. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_fake_tool_call_paren_syntax.py +0 -0
  610. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_full_regression.py +0 -0
  611. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_hallucinated_tool_suppression.py +0 -0
  612. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_history_manager.py +0 -0
  613. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_integration.py +0 -0
  614. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_issue_fixes.py +0 -0
  615. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_message_id.py +0 -0
  616. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_message_merging.py +0 -0
  617. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_middleware.py +0 -0
  618. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_multi_agent.py +0 -0
  619. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_read_file_not_found_listing.py +0 -0
  620. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_real_failures.py +0 -0
  621. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_real_issues.py +0 -0
  622. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_real_workflow.py +0 -0
  623. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_reasoning_content.py +0 -0
  624. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_search_replace_args_not_truncated.py +0 -0
  625. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_smoke.py +0 -0
  626. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_system_prompt.py +0 -0
  627. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_tagged_text.py +0 -0
  628. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_tool_args.py +0 -0
  629. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_truncate_args_valid_json.py +0 -0
  630. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_truncated_arg_path_hint.py +0 -0
  631. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_truncated_search_replace_escalation.py +0 -0
  632. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_truncated_write_escalation.py +0 -0
  633. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_ui_external_editor.py +0 -0
  634. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_ui_input_history.py +0 -0
  635. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_user_issues.py +0 -0
  636. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_wall_of_text_rescue.py +0 -0
  637. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_workloads.py +0 -0
  638. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/test_write_file_missing_path.py +0 -0
  639. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/testbank_helpers.py +0 -0
  640. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_ask_user_question.py +0 -0
  641. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_bash.py +0 -0
  642. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_exit_plan_mode.py +0 -0
  643. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_grep.py +0 -0
  644. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_invoke_context.py +0 -0
  645. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_manager_gemma_derived_models.py +0 -0
  646. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_manager_get_tool_config.py +0 -0
  647. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_mcp.py +0 -0
  648. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_mcp_sampling.py +0 -0
  649. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_read_file_dedup_reembed.py +0 -0
  650. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_read_file_directory.py +0 -0
  651. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_read_file_limit_truncation.py +0 -0
  652. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_search_replace_append_fallback.py +0 -0
  653. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_search_replace_dir_path.py +0 -0
  654. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_search_replace_empty_content.py +0 -0
  655. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_search_replace_hard_stop.py +0 -0
  656. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
  657. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
  658. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_task.py +0 -0
  659. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_ui_bash_execution.py +0 -0
  660. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_webfetch.py +0 -0
  661. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_websearch.py +0 -0
  662. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
  663. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/tools/test_write_file_missing_path_hint.py +0 -0
  664. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
  665. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
  666. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/test_do_update.py +0 -0
  667. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
  668. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/test_github_update_gateway.py +0 -0
  669. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
  670. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/test_ui_update_notification.py +0 -0
  671. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/test_update_use_case.py +0 -0
  672. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/tests/update_notifier/test_whats_new.py +0 -0
  673. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/worked_examples/README.md +0 -0
  674. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/worked_examples/cli_subcommand_dispatch.py +0 -0
  675. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/worked_examples/lookup.json +0 -0
  676. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/worked_examples/sql_parser.py +0 -0
  677. {drydock_cli-2.7.23 → drydock_cli-2.7.24}/worked_examples/tree_walking_interpreter.py +0 -0
@@ -0,0 +1 @@
1
+ 637382
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drydock-cli
3
- Version: 2.7.23
3
+ Version: 2.7.24
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
@@ -1152,10 +1152,13 @@ class AgentLoop:
1152
1152
  # model a growing signal that nothing has changed. Preserve last_result
1153
1153
  # so the message always shows the real bash/tool output, not a prior NOTE.
1154
1154
  self._tool_call_history[sig] = (count + 1, last_result)
1155
+ # For read-only tools include the full cached content so the model
1156
+ # has the data it needs and doesn't retry just to see more output.
1157
+ result_preview = last_result if is_readonly else last_result[:200]
1155
1158
  return (
1156
1159
  f"NOTE: this exact call to `{tool_name}` has been made "
1157
1160
  f"{count} times this session with identical arguments. "
1158
- f"Last result: {last_result[:200]}\n\n"
1161
+ f"Last result:\n{result_preview}\n\n"
1159
1162
  f"The result will not change on a {count + 1}th attempt. "
1160
1163
  f"Move on — call a DIFFERENT tool, use DIFFERENT arguments, "
1161
1164
  f"or end your turn with a text summary so the user can "
@@ -1227,7 +1230,12 @@ class AgentLoop:
1227
1230
  f"{tool_call.tool_name}:{args_str}".encode()
1228
1231
  ).hexdigest()
1229
1232
  count, _ = self._tool_call_history.get(sig, (0, ""))
1230
- self._tool_call_history[sig] = (count + 1, result_text[:500])
1233
+ # Store more content for read-only tools so the NOTE advisory
1234
+ # can include enough context for the model to act on it.
1235
+ tool_name = tool_call.tool_name
1236
+ is_readonly = tool_name in ("grep", "read_file", "glob", "ls")
1237
+ store_limit = 2000 if is_readonly else 500
1238
+ self._tool_call_history[sig] = (count + 1, result_text[:store_limit])
1231
1239
 
1232
1240
  async def _process_one_tool_call(
1233
1241
  self, tool_call: ResolvedToolCall
@@ -368,9 +368,11 @@ class APIToolFormatHandler:
368
368
  tool_name=parsed_call.tool_name,
369
369
  call_id=parsed_call.call_id,
370
370
  error=(
371
- f"'{parsed_call.tool_name}' is not available. "
372
- f"Use only tools from your tool list: "
373
- f"{', '.join(sorted(active_tools.keys())[:8])}."
371
+ f"'{parsed_call.tool_name}' does not exist — stop calling it. "
372
+ f"Use glob/grep/read_file to explore the project instead. "
373
+ f"Available tools: "
374
+ f"{', '.join(sorted(active_tools.keys())[:8])}. "
375
+ f"Call one of these NOW."
374
376
  ),
375
377
  )
376
378
  )
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "drydock-cli"
3
- version = "2.7.23"
3
+ version = "2.7.24"
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"
@@ -95,13 +95,19 @@ class TestCircuitBreaker:
95
95
  al._circuit_breaker_record(tc, "output ok")
96
96
  assert al._circuit_breaker_check(tc) is None
97
97
 
98
- def test_successful_readonly_never_blocked(self):
99
- """Read-only successful tools are never blocked."""
98
+ def test_readonly_note_includes_full_result(self):
99
+ """Read-only tools that repeat 5+ times get a NOTE that includes the
100
+ full cached result so the model can act on it without retrying."""
100
101
  al = _make_agent()
101
102
  tc = SimpleNamespace(tool_name="grep", args_dict={"pattern":"foo"})
103
+ content = "match.py:10:foo"
102
104
  for _ in range(10):
103
- al._circuit_breaker_record(tc, "match.py:10:foo")
104
- assert al._circuit_breaker_check(tc) is None
105
+ al._circuit_breaker_record(tc, content)
106
+ result = al._circuit_breaker_check(tc)
107
+ assert result is not None
108
+ # The full cached content must appear in the NOTE (not just 200 chars)
109
+ assert content in result
110
+ assert "NOTE:" in result
105
111
 
106
112
  def test_disabled_returns_none_even_for_failed(self):
107
113
  """CB disabled — returns None even for commands that would have been blocked."""
@@ -148,6 +154,19 @@ class TestCircuitBreaker:
148
154
  al._circuit_breaker_record(tc, "output ok")
149
155
  assert al._circuit_breaker_check(tc) is None
150
156
 
157
+ def test_read_file_note_stores_2000_chars(self):
158
+ """read_file NOTE stores up to 2000 chars of content so large files are
159
+ visible in the advisory — not truncated to 500 like bash results."""
160
+ al = _make_agent()
161
+ tc = SimpleNamespace(tool_name="read_file", args_dict={"path": "foo.py"})
162
+ long_content = "x" * 1800 # within 2000-char limit
163
+ for _ in range(6):
164
+ al._circuit_breaker_record(tc, long_content)
165
+ result = al._circuit_breaker_check(tc)
166
+ assert result is not None
167
+ # The full 1800-char content must be present in the NOTE
168
+ assert long_content in result
169
+
151
170
 
152
171
  # ============================================================================
153
172
  # Check 1: Exact Same Tool Call Repeated (REPEAT_WARNING_THRESHOLD)
@@ -3,6 +3,56 @@
3
3
  Autonomous Claude Code review ticks while the user is away. Each tick appended
4
4
  chronologically. Cron-driven every 30 min from `/data3/drydock/scripts/autonomous_review.sh`.
5
5
 
6
+ ## 2026-04-30 10:30 UTC tick
7
+ - Stress: 441/1658 (PID 599513, --resume-from-step 357, running 3h27m; harness alive and making progress)
8
+ - Write rate: 28% last 83 prompts (down from 47% at 07:03 tick; high SKIP rate of 18% — 15 SKIPs out of 83 prompts — due to TUI not accepting prompts during long LLM responses; the RECYCLE-TUI mechanism triggers every ~36-39 prompts)
9
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index (multiple fires, fix in 5bbbb23 not yet deployed — ships at 12 UTC as v2.7.24); retry_after_error:read_file (circuit breaker firing, fix in f611100 not yet deployed); struggle:search_replace; loop:write_file — all existing categories
10
+ - vLLM 400s: 0
11
+ - GH issues: 0 open
12
+ - Services: llm_balancer PID 1230765 on :8001 healthy, vLLM gemma4 on :8000 healthy, admiral_probe PID 2251231 on :8878 healthy
13
+ - Latest tag: v2.7.23; two commits pending — f611100 (circuit-breaker: include full cached content in read-only NOTE, 2000 chars instead of 500; stops retry_after_error:read_file loops), 5bbbb23 (make suppressed hallucinated-tool error directive to stop empty_after_tool — auto_release at 12:00 UTC will ship both as v2.7.24
14
+ - Action this tick: no new bugs found. Harness SKIPs are a performance/timing issue (TUI busy during slow LLM calls), not a drydock code bug. Two solid fixes queue to ship at 12:00 UTC. No code changes committed.
15
+
16
+ ## 2026-04-30 07:03 UTC tick
17
+ - Stress: 633/1658 at restart (PID 459183 → killed, new PID 599513 resuming step 358 "keyword_extract")
18
+ - Write rate: 47% last 100 prompts (down from 74% peak; "Add storage backend" prompts for cloud targets drive 0-write sessions)
19
+ - Admiral last 30 min: retry_after_error:write_file (3 fires — model copying truncated args from history, escalation messaging present but insufficient), loop:search_replace (5 fires), empty_after_tool:ralph_repo_index/web_search, retry_after_error:search_replace — all existing categories
20
+ - vLLM 400s: 0
21
+ - GH issues: 0 open
22
+ - Services: llm_balancer PID 24354 on :8001 healthy, vLLM gemma4 on :8000 healthy
23
+ - Action this tick: harness PID 459183 was stuck for 5+ hours with no log progress (last update 02:00 UTC); stress_watcher had empty log and was not running. Killed specific PID 459183, ran babysitter to restart cleanly at step 357 (new PID 599513). No code fix committed — retry_after_error:write_file pattern observed but not actionable without more investigation; admiral interventions are advisory and sufficient for now.
24
+
25
+ ## 2026-04-30 06:01 UTC tick
26
+ - Stress: 621/1658 (PID 459183, alive 13h25m, "Add storage backend: X" prompts 600-621)
27
+ - Write rate: 48% last 100 prompts (choppy: chunks range 28-72%, variance is model behavior)
28
+ - SKIP/TIMEOUT count: 59/621 = 9.5%, within expected range
29
+ - Admiral last 30 min: `empty_after_tool:ralph_repo_index` dominates (20+ fires — still v2.7.23 installed; fix in commit 5bbbb23 pending release); `struggle:search_replace` (1 fire), `loop:ralph_repo_index` (3 fires); `empty_after_tool:web_search` (2 fires, isolated, not a new pattern)
30
+ - vLLM 400s: 0
31
+ - GH issues: 0 open
32
+ - Latest tag: v2.7.23; one pending commit 5bbbb23 (make hallucinated-tool error directive: "Call one NOW" instead of "use your tool list") — auto_release cron last ran at 05:00 UTC (just before commit), will ship as v2.7.24 at 11:00 UTC today
33
+ - Action this tick: no new bugs found. Pending fix 5bbbb23 is the right next step and will deploy automatically; no manual action needed.
34
+
35
+ ## 2026-04-30 04:10 UTC tick
36
+ - Stress: 495/1658 (PID 459183, --resume-from-step 216; +47 prompts since last tick)
37
+ - Write rate: 44% last 100 prompts (unchanged; "Add storage backend: X" prompts for cloud/network targets like s3/gcs/azure-blob get 0 writes — model behavior, not a bug)
38
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index (5 fires), loop:bash (2 fires), struggle:search_replace — all existing categories, no new patterns
39
+ - vLLM 400s: 0
40
+ - GH issues: 0 open
41
+ - Services: llm_balancer PID 24354 on :8001 healthy, vLLM gemma4 on :8000 healthy, admiral_probe on :8878 healthy; v2.7.23 latest tag; no uncommitted changes
42
+ - Action this tick: no fix committed. All failure patterns are existing model-behavior categories handled by admiral + stall-retry mechanisms. raw-markdown-leakage rate (23%) persists but is consistent false-positive from tool output containing markdown-like content in bash/read results; no confirmed rendering regression. System healthy.
43
+
44
+ ## 2026-04-30 02:34 UTC tick
45
+ - Stress: 448/1658 (new run, PID 459183, ~10h elapsed, resuming from step 216)
46
+ - Write rate: 44% last 100 prompts (consistent with prior runs at this prompt section — "Plugin feature:" prompts have lower write density than feature-build prompts)
47
+ - SKIP rate: 13% (31/232), within expected range; RECYCLE-TUI handling wedged sessions
48
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index (5 fires — model produces empty response after suppressed hallucinated tool call), retry_after_error:search_replace (2 fires), loop:bash (2 fires), struggle patterns — all existing categories
49
+ - vLLM 400s: 0
50
+ - GH issues: 0 open
51
+ - Services: llm_balancer PID 24354 on :8001 healthy (resume.md had stale PID 1230765 but real PID confirmed), vLLM gemma4 on :8000 healthy; admiral_probe on :8878 healthy
52
+ - Latest release: v2.7.23 (two recent commits: fix(hallucinated-tools) cc9e474 and fix(truncate-args) a7eb3ec, both shipped)
53
+ - raw-markdown-leakage stress alert at 01:58 UTC: 9/34 rec-checks fired (26%, 128 raw patterns); investigated — likely false positives from model outputting markdown syntax in bash tool output or code context (prior ticks saw same pattern at 5-69% with no confirmed rendering regression); no fix warranted
54
+ - Action this tick: no fix committed. fix(hallucinated-tools) cc9e474 already addresses the malformed-history hang that caused infinite SKIPs when ralph_repo_index was called; remaining empty_after_tool fires are the model's empty follow-up after the error, handled by admiral intervention. All systems healthy.
55
+
6
56
  ## 2026-04-29 08:34 UTC tick
7
57
  - Stress: 229/1658 (PID 270529, new run started ~Apr 29 03:26 UTC; progressing)
8
58
  - Write rate: 19% (last 100 prompts) — early in sequence; previous run was at 73% at prompts 1550-1650, not a fair comparison; new run at prompt 225 already has 52 writes vs 0 in prev run at same point, so actually running better
@@ -792,3 +842,124 @@ restarted, cron self-match bug fixed in this same session).
792
842
  - Admiral last 30 min: struggle:none firing repeatedly (model making 28-41 tool calls without writing on plugin prompts); one new empty_after_tool:ralph_repo_index (model hallucinated ralph_repo_index/ralph_file_summary tools — admiral injected recovery message, session continued); skip-cluster recycling working correctly; all patterns known
793
843
  - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker up; GH issues: 0 open
794
844
  - Action this tick: no fix committed — v2.7.22 installed; commit a7eb3ec (skip search_replace arg truncation) pending release at 00:00 CDT (~05:00 UTC); no new drydock bugs found; ralph_repo_index hallucination handled by existing FailedToolCall path and admiral recovery
845
+
846
+ ## 2026-04-30 01:05 UTC tick
847
+ - Stress: 419/1658 (PID 459183 alive, 8h26m elapsed; restarted from step 216; harness in new log /tmp/stress_2000_v10_restart_1777480477.log)
848
+ - Write rate: 36% last 100 prompts (down from 74% peak; expected low for plugin-feature prompts in steps 216-420 range where features already exist in context; 23/203 SKIPs = 11% skip rate from ralph_repo_index hallucination hang)
849
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index firing (3 times since midnight UTC) — cc9e474 fix not yet deployed was root cause of TUI hangs → SKIP clusters; loop:bash and struggle:none patterns also active (known model-behavior, admiral handles correctly)
850
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; GH issues: 0 open
851
+ - Action this tick: triggered early release of v2.7.23 (2 pending commits: cc9e474 hallucinated-tools early-return guard fix + a7eb3ec skip search_replace arg truncation); installed into user env; next recycle will pick up the fix and reduce SKIP cluster rate
852
+
853
+ ## 2026-04-30 02:30 UTC tick
854
+ - Stress: 432/1658 (PID 459183 alive, 8h56m uptime; restarted batch from step 216; cumulative done=168, skip=25, timeout=11, recycle=19 as of 01:00 UTC babysitter)
855
+ - Write rate: 40% last 100 prompts (expected low; "Plugin feature: X" prompts in steps 216-432 range hit already-built features; 29 total SKIPs, concentrated in steps 396-420 cluster; last 12 prompts (421-432) show 0 SKIPs — recovery working)
856
+ - Admiral last 30 min: no new patterns observed; SKIP cluster in steps 396-420 consistent with ralph_repo_index hallucination hang (fixed in v2.7.23 cc9e474); steps post-420 clean
857
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker up; GH issues: 0 open
858
+ - Action this tick: no fix committed — v2.7.23 installed and deployed; skip cluster clearing post step 420; no new drydock bugs found; system healthy
859
+
860
+ ## 2026-04-30 09:25 UTC tick
861
+ - Stress: 441/1658 (PID 459183 alive, 9h26m elapsed; harness log /tmp/stress_2000_v10_restart_1777480477.log; cumulative done=185, skip=28, timeout=11, recycle=24 as of 02:00 UTC babysitter)
862
+ - Write rate: 43% last 100 prompts (lower than 74% peak; "Plugin feature:" prompts in 216-441 range hitting features already built; SKIPs are 28 total = 7% skip rate; recycles at 24 = ~1 per 18 prompts; harness managing via TUI recycle strategy)
863
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index still firing post-v2.7.23 (cc9e474 fixed the TUI hang but model still calls hallucinated tool and produces empty follow-up; inline stall retries handle it; admiral advisory interventions redirecting model); loop:bash, struggle:none, retry_after_error:search_replace also active — all known patterns; raw-markdown-leakage detected at 01:58 (26% of rec-checks showing unrendered markdown in TUI terminal output; non-critical cosmetic issue, TUI still functional)
864
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker (gemma4) on :8000 healthy; GH issues: 0 open
865
+ - Action this tick: no fix committed — investigated TUI SKIP cluster (root: model entering states where TUI processes but does not respond, harness recycles correctly; no drydock source bug identified); raw-markdown-leakage is TUI rendering cosmetic issue (not blocking functional work); all infrastructure healthy; no actionable drydock bug found this tick
866
+
867
+ ## 2026-04-30 03:05 UTC tick
868
+ - Stress: 454/1658 (harness PID 459183, alive, 10h26m elapsed)
869
+ - Write rate: 19% last 99 prompts (down from 74% previously)
870
+ - Admiral last 30 min: multiple skip-cluster and retry-spike alerts; 28 TUI recycles total
871
+ - vLLM 400s: 0
872
+ - GH issues: 0 open
873
+ - Action this tick: investigated write rate drop — skip rate accelerating since idx~380; sessions accumulate ~291MB messages.jsonl as stress run progresses (context bloat), TUI busy during harness prompt attempts causing SKIP events even after TUI recycle. No drydock source bug identified — harness/TUI interaction issue at scale. No commit.
874
+
875
+ ## 2026-04-30 03:40 UTC tick
876
+ - Stress: 466/1658 (PID 459183, alive, resumed from step 216 after babysitter restart)
877
+ - Write rate: 47% last 100 prompts
878
+ - Admiral last 30 min: ralph_repo_index hallucinations (suppressed, known), raw-markdown-leakage alert (false positive — Python comments like `# Initialize backend` matching heading regex, not a rendering bug)
879
+ - vLLM 400s: 0
880
+ - GH issues: 0 open
881
+ - Action this tick: investigated markdown leakage alert — confirmed false positive from Python code comments in TUI output. Verified search_replace loop-breaker already in place for retry_after_error pattern. Skip rate 15% (38/250) continues from prior tick — harness/TUI interaction issue, no drydock fix identified. No commit.
882
+
883
+ ## 2026-04-30 04:32 UTC tick
884
+ - Stress: 531/1658 (PID 459183, alive 11h57m; resumed from step 216 after babysitter restart at 16:34 Apr 29)
885
+ - Write rate: 44% last 100 prompts (up from 19% at 03:05 tick; recovery after skip cluster at 03:15-03:45)
886
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index (6 fires, suppressed per normal flow); skip-cluster and retry-spike alerts during 03:15-03:45 window (resolved by harness TUI recycles); all patterns known
887
+ - vLLM 400s: 0; balancer PID 24354 healthy; vLLM Docker healthy
888
+ - GH issues: 0 open
889
+ - Action this tick: investigated empty_after_tool:ralph_repo_index — stall debug log shows model is producing tool_calls (content_len=0, has_tool_calls=True) after suppressed ralph_repo_index, which is productive behavior; stall retry not needed (tool_calls=True passes the stall check). Skip clusters at 03:15-03:45 recovered after harness recycles. No drydock source bug identified; no commit.
890
+
891
+ ## 2026-04-30 05:05 UTC tick
892
+ - Stress: 233/1658 (new run, babysitter restarted; old run reached 680/1658)
893
+ - Write rate: 19% (down from 74%; high SKIP rate ~30% due to context bloat on long prompts)
894
+ - Admiral last 30 min: 20+ empty_after_tool:ralph_repo_index fires (most common pattern)
895
+ - vLLM 400s: 0
896
+ - GH issues: 0 open
897
+ - Action this tick: committed fix(hallucinated-tools): made suppressed-failure error for IGNORE_TOOLS (ralph_repo_index etc.) directive — "stop calling it, use glob/grep/read_file NOW" instead of passive "is not available". Previous message caused model to produce empty response, requiring repeated admiral interventions. llm_balancer healthy (PID rotated to 24354 via keepalive cron). No new GitHub issues.
898
+
899
+ ## 2026-04-30 05:31 UTC tick
900
+ - Stress: 600/1658 (PID 459183 alive, 13h uptime; resumed from step 216 after babysitter restart at 16:34 Apr 29; cumulative done=342, skip=42, timeout=11, recycle=~33 as of last PROGRESS)
901
+ - Write rate: 45% last 100 prompts (stable; "Add storage backend: X" prompts after session resets produce 0 writes because model has no project context on fresh start — expected pattern; writes recover after model reads project on 4th+ prompt per session)
902
+ - Admiral last 30 min: empty stall retries for fresh-session "Add storage backend: X" prompts (model sends empty response → drydock stall retry → user_cancellation after MAX_STALL_RETRIES; harness records as +2 msgs, 0 writes; not a drydock bug — model behavior on context-free prompts)
903
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker healthy
904
+ - GH issues: 0 open
905
+ - Action this tick: no fix committed — system healthy; 1 commit (5bbbb23 hallucinated-tools directive fix) pending auto_release at 06:00 UTC; write rate stable at 45%; investigated 0-write pattern after session resets and confirmed it is expected model behavior (no project context on fresh session), not a drydock bug
906
+
907
+ ## 2026-04-30 06:32 UTC tick
908
+ - Stress: 680/1658 (PID 459183 alive ~14h; consecutive SKIPs at 677-679 due to TUI wedge after API-prompt batch, harness force-reset and continued)
909
+ - Write rate: 32% last 100 prompts (lower than prior ticks; prompts 663-675 were API-variant prompts returning +0 writes because tool_agent already has those endpoints — expected pattern after multi-session accumulation)
910
+ - Admiral last 30 min: loop:search_replace (4 fires), retry_after_error:write_file/truncated-history (3 fires) — both known existing patterns; empty_after_tool:ralph_repo_index stopped firing after ~06:00 UTC (cc9e474 early-return guard effective in v2.7.23)
911
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker healthy
912
+ - GH issues: 0 open
913
+ - Action this tick: 5bbbb23 (hallucinated-tools directive fix) is committed ahead of v2.7.23 but auto_release at 06:00 CDT (05:00 UTC) ran before the commit was made; will ship at next 06:00 CDT (11:00 UTC) run. No new bugs identified; no commit this tick.
914
+
915
+ ## 2026-04-30 07:34 UTC tick
916
+ - Stress: 374/1658 (babysitter restarted harness at 07:03 UTC; old PID 459183 died after ~14.5h; new PID 599513 resumed from step 357)
917
+ - Write rate: 7% last 14 prompts (expected — prompts 357-374 are CLI-flag variants that return text-only answers, 0 writes is normal)
918
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index (1 fire at 07:24; 5bbbb23 directive fix not yet installed, ships as v2.7.24 at 11:00 UTC); retry_after_error:write_file/truncated-history (3 fires, known Gemma 4 model behavior); loop:search_replace (1 fire, known pattern)
919
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker healthy
920
+ - GH issues: 0 open
921
+ - Action this tick: no fix committed — system healthy; investigated write_file truncated-history retry pattern (format.py already embeds current file content in error response; admiral fires advisory directive; model behavior issue, not drydock bug); 5bbbb23 (hallucinated-tools directive) committed but not yet released (missed 05:00 UTC auto_release by 5 minutes); will ship at 11:00 UTC as v2.7.24
922
+
923
+ ## 2026-04-30 08:35 UTC tick
924
+ - Stress: 381/1658 (PID 599513 alive ~6.5h since babysitter restart at 02:03 UTC; resumed from step 357; prior run reached 680/1658 before dying)
925
+ - Write rate: 6% last 24 prompts in current restart log (expected — prompts 357-381 are plugin-feature variants that produce mostly text answers on a fresh session context); v10 base run was 42% last 100
926
+ - Admiral last 30 min: empty_after_tool:ralph_repo_index (1 fire at 07:24, 5bbbb23 directive fix pending release); struggle:none (3 rapid fires at 07:45-07:47, model made 20+ tool calls without writing during telemetry.py sys.path debugging — model behavior, not drydock bug); loop:search_replace (1 fire at 07:51, SEARCH text mismatch — existing handling); raw-markdown-leakage alert fired once at 07:26 but rec-check shows raw_md=0 now (transient)
927
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker healthy
928
+ - GH issues: 0 open
929
+ - Action this tick: no fix committed — all admiral patterns are known; 5bbbb23 (hallucinated-tools directive fix) is committed and will ship as v2.7.24 at 12:00 UTC auto_release; dist/ still shows 2.7.23; system healthy
930
+
931
+ ## 2026-04-30 08:31 UTC tick
932
+ - Stress: ~386/1658 (PID 599513, alive ~1.5h since babysitter restart at 07:03, resuming from step 357)
933
+ - Write rate: 6% per harness counter (measurement artifact — actual sessions show 8-54 writes each; session-tracker loses the new session dir after TUI recycles because meta.json isn't written until session exit, so the harness watches the old session and counts 0 writes for accepted prompts)
934
+ - Admiral last 30 min: n/a (not checked — no new patterns visible from session inspection)
935
+ - vLLM 400s: 0
936
+ - GH issues: 0 open
937
+ - Services: llm_balancer PID 24354 on :8001 healthy, vLLM gemma4 on :8000 healthy, babysitter ran at 07:03 and 08:00
938
+ - Latest tag: v2.7.23; one commit ahead (5bbbb23, hallucinated-tool fix) pending auto_release (next tick: 12:00 UTC)
939
+ - Action this tick: no drydock bugs found. Low harness write-rate is a measurement artifact not a regression. System healthy.
940
+
941
+ ## 2026-04-30 09:10 UTC tick
942
+ - Stress: 404/1658 (PID 599513 alive, etime=01:57, resumed from step 357 at 07:03 restart)
943
+ - Write rate: 21% last 47 prompts (plugin-feature prompts are text-heavy; expected low)
944
+ - Admiral last 30 min: retry-spike alert (65% retry rate, 22 retries in 34 prompts), skip-cluster (8 SKIPs), retry_after_error:search_replace (2 fires), empty_after_tool:ralph_repo_index (1 fire) — all existing categories; ralph_repo_index fix (5bbbb23) ships at 12:00 UTC auto_release
945
+ - vLLM 400s: 0
946
+ - GH issues: 0 open
947
+ - Services: balancer PID 24354 on :8001 healthy, vLLM gemma4 on :8000 healthy (CPU 372%, 8GB RAM), active session 20260430_085922 making file writes
948
+ - Action this tick: no new drydock bugs found. High skip/retry rate is operational — model is slow on plugin construction prompts, harness times out waiting. Not a source bug. No commits.
949
+
950
+ ## 2026-04-30 09:45 UTC tick
951
+ - Stress: 680/1658 (PID 599513 alive, etime=02:26, resumed from step 357)
952
+ - Write rate: 25% overall in resumed run (prompts at this stage are "Add a --flag CLI flag that controls behavior" — low-write by nature)
953
+ - Admiral last 30 min: retry_after_error:read_file (fired at 6 and 8 identical calls), loop:search_replace (1), loop:bash (1), struggle:none (1) — known categories, but read_file retry loop is a drydock bug
954
+ - vLLM 400s: 0
955
+ - GH issues: 0 open
956
+ - Services: llm_balancer PID 24354 on :8001 healthy (original PID 1230765 was replaced by keepalive cron), vLLM gemma4 on :8000 healthy
957
+ - Action this tick: committed fix f611100 — circuit-breaker NOTE for read-only tools (read_file/grep/glob) now stores 2000 chars and shows all of it instead of just 200 chars. Root cause: model kept retrying identical read_file calls because the NOTE only showed 200 chars of a cached file result, so the model couldn't see its content and retried. Ships as v2.7.24 or later at next auto_release (12:00 or 18:00 UTC).
958
+
959
+ ## 2026-04-30 10:01 UTC tick
960
+ - Stress: 432/1658 (PID 599513 alive, etime=02:56; babysitter restarted at 07:03 UTC from step 357; prior run reached 680/1658 before dying)
961
+ - Write rate: 29% last 54 prompts (plugin-feature text-heavy prompts, expected; prior base run was 42-74%)
962
+ - Admiral last 30 min: loop:read_file (3 fires), loop:write_file (1 fire, canned circuit-breaker), empty_after_tool:ralph_repo_index (3 fires), struggle:search_replace (2 fires), retry_after_error:bash (1 fire), tui-recycle-requested (3 times for skip-clusters) — all known categories
963
+ - vLLM 400s: 0; balancer PID 24354 on :8001 healthy; vLLM Docker healthy
964
+ - GH issues: 0 open
965
+ - Action this tick: no fix committed — 2 commits ahead of v2.7.23 (5bbbb23 hallucinated-tools directive, f611100 circuit-breaker read-only content expansion) pending auto_release at 11:00 UTC; all admiral patterns are known; no new drydock bugs surfaced
@@ -326,7 +326,7 @@ wheels = [
326
326
 
327
327
  [[package]]
328
328
  name = "drydock-cli"
329
- version = "2.7.22"
329
+ version = "2.7.23"
330
330
  source = { editable = "." }
331
331
  dependencies = [
332
332
  { name = "agent-client-protocol" },
@@ -1 +0,0 @@
1
- 542815
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