drydock-cli 2.7.48__tar.gz → 2.7.49__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 (1019) hide show
  1. drydock_cli-2.7.49/.auto_release.lock +1 -0
  2. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/PKG-INFO +1 -2
  3. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/app.py +15 -1
  4. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/messages.py +33 -6
  5. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/agent_loop.py +16 -1
  6. drydock_cli-2.7.49/drydock/core/config/_dotenv.py +135 -0
  7. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/config/_settings.py +50 -2
  8. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/proxy_setup.py +1 -1
  9. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/write_file.py +14 -1
  10. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/screens/api_key.py +1 -1
  11. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/pyproject.toml +1 -2
  12. drydock_cli-2.7.49/tests/test_config_migration.py +129 -0
  13. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_wall_of_text_rescue.py +25 -0
  14. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/trip_log.md +113 -0
  15. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/uv.lock +1 -3
  16. drydock_cli-2.7.48/.auto_release.lock +0 -1
  17. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.claude/scheduled_tasks.lock +0 -0
  18. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/CODEOWNERS +0 -0
  19. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/DISCUSSION_TEMPLATE/ideas.yml +0 -0
  20. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/ISSUE_TEMPLATE/bug-report.yml +0 -0
  21. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  22. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/workflows/build-and-upload.yml +0 -0
  23. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/workflows/ci.yml +0 -0
  24. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/workflows/issue-labeler.yml +0 -0
  25. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.github/workflows/release.yml +0 -0
  26. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.gitignore +0 -0
  27. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.pre-commit-config.yaml +0 -0
  28. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.python-version +0 -0
  29. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.typos.toml +0 -0
  30. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.vscode/extensions.json +0 -0
  31. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.vscode/launch.json +0 -0
  32. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/.vscode/settings.json +0 -0
  33. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/AGENTS.md +0 -0
  34. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/Admiral.md +0 -0
  35. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/CHANGELOG.md +0 -0
  36. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/CLAUDE.md +0 -0
  37. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/CONTRIBUTING.md +0 -0
  38. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/DEPLOYMENT.md +0 -0
  39. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/HLE_PRD.md +0 -0
  40. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/JETSON_BENCH.md +0 -0
  41. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/LICENSE +0 -0
  42. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/MODEL_SHORTCOMINGS.md +0 -0
  43. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/NOTICE +0 -0
  44. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/README.md +0 -0
  45. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/SOVEREIGN_PRD.md +0 -0
  46. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/TRIAGE_v1.md +0 -0
  47. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/action.yml +0 -0
  48. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/README.md +0 -0
  49. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results1.tsv +0 -0
  50. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results13.tsv +0 -0
  51. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results14.tsv +0 -0
  52. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results15.tsv +0 -0
  53. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results16.tsv +0 -0
  54. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results17.tsv +0 -0
  55. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results18.tsv +0 -0
  56. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results19.tsv +0 -0
  57. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results2.tsv +0 -0
  58. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results20.tsv +0 -0
  59. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results3.tsv +0 -0
  60. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results4.tsv +0 -0
  61. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results5.tsv +0 -0
  62. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results6.tsv +0 -0
  63. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results7.tsv +0 -0
  64. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results8.tsv +0 -0
  65. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results9.tsv +0 -0
  66. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/baseline_history/results_evolved_v1.tsv +0 -0
  67. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/distribution/zed/LICENSE +0 -0
  68. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/distribution/zed/extension.toml +0 -0
  69. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/distribution/zed/icons/mistral_vibe.svg +0 -0
  70. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/README.md +0 -0
  71. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/acp-setup.md +0 -0
  72. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/BASELINE_412.md +0 -0
  73. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/Drydock_rebrand.md +0 -0
  74. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/OVERNIGHT_PROGRESS.md +0 -0
  75. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/OVERNIGHT_REPORT_2026_04_13.md +0 -0
  76. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/PERF_SWEEP_PLAN.md +0 -0
  77. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/PRD.md +0 -0
  78. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/drydock_terms.md +0 -0
  79. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/archive/resume.md +0 -0
  80. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/docs/proxy-setup.md +0 -0
  81. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/__init__.py +0 -0
  82. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/__init__.py +0 -0
  83. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/acp_agent_loop.py +0 -0
  84. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/acp_logger.py +0 -0
  85. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/entrypoint.py +0 -0
  86. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/__init__.py +0 -0
  87. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/base.py +0 -0
  88. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/builtins/bash.py +0 -0
  89. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/builtins/read_file.py +0 -0
  90. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/builtins/search_replace.py +0 -0
  91. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/builtins/todo.py +0 -0
  92. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/builtins/write_file.py +0 -0
  93. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/tools/session_update.py +0 -0
  94. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/acp/utils.py +0 -0
  95. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/__init__.py +0 -0
  96. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/detectors.py +0 -0
  97. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/detectors_proposed.py +0 -0
  98. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/history.py +0 -0
  99. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/interventions.py +0 -0
  100. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/llm_analyzer.py +0 -0
  101. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/metrics.py +0 -0
  102. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/opus_escalator.py +0 -0
  103. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/persistence.py +0 -0
  104. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/policy.py +0 -0
  105. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/proposer.py +0 -0
  106. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/stager.py +0 -0
  107. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/task_classifier.py +0 -0
  108. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/tuning.py +0 -0
  109. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/validator.py +0 -0
  110. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/admiral/worker.py +0 -0
  111. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/__init__.py +0 -0
  112. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/autocompletion/__init__.py +0 -0
  113. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/autocompletion/base.py +0 -0
  114. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/autocompletion/path_completion.py +0 -0
  115. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/autocompletion/slash_command.py +0 -0
  116. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/cli.py +0 -0
  117. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/clipboard.py +0 -0
  118. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/commands.py +0 -0
  119. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/entrypoint.py +0 -0
  120. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/history_manager.py +0 -0
  121. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/plan_offer/adapters/http_whoami_gateway.py +0 -0
  122. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/plan_offer/decide_plan_offer.py +0 -0
  123. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/plan_offer/ports/whoami_gateway.py +0 -0
  124. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/terminal_setup.py +0 -0
  125. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/__init__.py +0 -0
  126. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/ansi_markdown.py +0 -0
  127. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/app.tcss +0 -0
  128. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/external_editor.py +0 -0
  129. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/handlers/__init__.py +0 -0
  130. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/handlers/event_handler.py +0 -0
  131. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/notifications/__init__.py +0 -0
  132. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/notifications/adapters/__init__.py +0 -0
  133. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/notifications/adapters/textual_notification_adapter.py +0 -0
  134. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/notifications/ports/__init__.py +0 -0
  135. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/notifications/ports/notification_port.py +0 -0
  136. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/__init__.py +0 -0
  137. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/approval_app.py +0 -0
  138. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/banner/banner.py +0 -0
  139. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/banner/petit_chat.py +0 -0
  140. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/braille_renderer.py +0 -0
  141. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/chat_input/__init__.py +0 -0
  142. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/chat_input/body.py +0 -0
  143. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/chat_input/completion_manager.py +0 -0
  144. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/chat_input/completion_popup.py +0 -0
  145. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/chat_input/container.py +0 -0
  146. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/chat_input/text_area.py +0 -0
  147. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/checkpoint_picker.py +0 -0
  148. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/compact.py +0 -0
  149. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/config_app.py +0 -0
  150. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/context_progress.py +0 -0
  151. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/load_more.py +0 -0
  152. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/loading.py +0 -0
  153. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/no_markup_static.py +0 -0
  154. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/path_display.py +0 -0
  155. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/proxy_setup_app.py +0 -0
  156. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/question_app.py +0 -0
  157. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/session_picker.py +0 -0
  158. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/spinner.py +0 -0
  159. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/status_message.py +0 -0
  160. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/teleport_message.py +0 -0
  161. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/tool_widgets.py +0 -0
  162. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/tools.py +0 -0
  163. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/widgets/vscode_compat.py +0 -0
  164. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/windowing/__init__.py +0 -0
  165. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/windowing/history.py +0 -0
  166. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/windowing/history_windowing.py +0 -0
  167. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/textual_ui/windowing/state.py +0 -0
  168. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/__init__.py +0 -0
  169. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/adapters/filesystem_update_cache_repository.py +0 -0
  170. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/adapters/github_update_gateway.py +0 -0
  171. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/adapters/pypi_update_gateway.py +0 -0
  172. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/ports/update_cache_repository.py +0 -0
  173. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/ports/update_gateway.py +0 -0
  174. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/update.py +0 -0
  175. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/cli/update_notifier/whats_new.py +0 -0
  176. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/__init__.py +0 -0
  177. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/agents/__init__.py +0 -0
  178. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/agents/manager.py +0 -0
  179. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/agents/models.py +0 -0
  180. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/auth/__init__.py +0 -0
  181. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/auth/crypto.py +0 -0
  182. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/auth/github.py +0 -0
  183. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/__init__.py +0 -0
  184. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/completers.py +0 -0
  185. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/file_indexer/__init__.py +0 -0
  186. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/file_indexer/ignore_rules.py +0 -0
  187. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/file_indexer/indexer.py +0 -0
  188. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/file_indexer/store.py +0 -0
  189. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/file_indexer/watcher.py +0 -0
  190. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/fuzzy.py +0 -0
  191. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/path_prompt.py +0 -0
  192. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/autocompletion/path_prompt_adapter.py +0 -0
  193. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/build_orchestrator.py +0 -0
  194. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/checkpoint.py +0 -0
  195. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/classifier/__init__.py +0 -0
  196. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/classifier/__main__.py +0 -0
  197. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/classifier/classifier.py +0 -0
  198. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/classifier/dispatcher.py +0 -0
  199. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/classifier/rules.py +0 -0
  200. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/classifier/signal.py +0 -0
  201. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/config/__init__.py +0 -0
  202. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/config/doctor.py +0 -0
  203. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/config/harness_files/__init__.py +0 -0
  204. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/config/harness_files/_harness_manager.py +0 -0
  205. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/config/harness_files/_paths.py +0 -0
  206. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/config/local_detect.py +0 -0
  207. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/consultant.py +0 -0
  208. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/context_recovery.py +0 -0
  209. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/drydock_states.py +0 -0
  210. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/hooks.py +0 -0
  211. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/__init__.py +0 -0
  212. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/backend/anthropic.py +0 -0
  213. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/backend/base.py +0 -0
  214. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/backend/factory.py +0 -0
  215. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/backend/generic.py +0 -0
  216. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/backend/mistral.py +0 -0
  217. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/backend/reasoning_adapter.py +0 -0
  218. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/backend/vertex.py +0 -0
  219. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/exceptions.py +0 -0
  220. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/format.py +0 -0
  221. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/message_utils.py +0 -0
  222. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/llm/types.py +0 -0
  223. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/logger.py +0 -0
  224. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/middleware.py +0 -0
  225. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/output_formatters.py +0 -0
  226. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/paths/__init__.py +0 -0
  227. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/paths/_drydock_home.py +0 -0
  228. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/paths/_local_config_walk.py +0 -0
  229. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/paths/conventions.py +0 -0
  230. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/plan_session.py +0 -0
  231. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/plugins.py +0 -0
  232. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/programmatic.py +0 -0
  233. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/__init__.py +0 -0
  234. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/builder.md +0 -0
  235. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/cli.md +0 -0
  236. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/compact.md +0 -0
  237. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/dangerous_directory.md +0 -0
  238. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/diagnostic.md +0 -0
  239. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/explore.md +0 -0
  240. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/gemma4.md +0 -0
  241. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/planner.md +0 -0
  242. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/project_context.md +0 -0
  243. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/prompts/tests.md +0 -0
  244. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/session/agent_memory.py +0 -0
  245. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/session/checkpoints.py +0 -0
  246. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/session/session_loader.py +0 -0
  247. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/session/session_logger.py +0 -0
  248. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/session/session_migration.py +0 -0
  249. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/session/state_file.py +0 -0
  250. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/session_checker.py +0 -0
  251. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/skills/__init__.py +0 -0
  252. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/skills/manager.py +0 -0
  253. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/skills/models.py +0 -0
  254. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/skills/parser.py +0 -0
  255. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/slug.py +0 -0
  256. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/steering_hook.py +0 -0
  257. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/system_prompt.py +0 -0
  258. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/telemetry/__init__.py +0 -0
  259. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/telemetry/send.py +0 -0
  260. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/teleport/errors.py +0 -0
  261. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/teleport/git.py +0 -0
  262. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/teleport/nuage.py +0 -0
  263. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/teleport/teleport.py +0 -0
  264. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/teleport/types.py +0 -0
  265. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/base.py +0 -0
  266. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/_task_manager.py +0 -0
  267. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/ask_user_question.py +0 -0
  268. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/bash.py +0 -0
  269. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/cron.py +0 -0
  270. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/exit_plan_mode.py +0 -0
  271. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/glob_tool.py +0 -0
  272. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/grep.py +0 -0
  273. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/invoke_skill.py +0 -0
  274. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/lsp.py +0 -0
  275. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/mcp_resources.py +0 -0
  276. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/notebook_edit.py +0 -0
  277. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/powershell.py +0 -0
  278. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/__init__.py +0 -0
  279. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/ask_user_question.md +0 -0
  280. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/bash.md +0 -0
  281. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/cron.md +0 -0
  282. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/glob.md +0 -0
  283. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/grep.md +0 -0
  284. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/invoke_skill.md +0 -0
  285. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/lsp.md +0 -0
  286. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/mcp_resources.md +0 -0
  287. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/notebook_edit.md +0 -0
  288. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/powershell.md +0 -0
  289. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/read_file.md +0 -0
  290. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/retrieve.md +0 -0
  291. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/search_replace.md +0 -0
  292. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/swe_bench.md +0 -0
  293. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/task.md +0 -0
  294. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/task_manager.md +0 -0
  295. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/todo.md +0 -0
  296. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/tool_search.md +0 -0
  297. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/webfetch.md +0 -0
  298. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/websearch.md +0 -0
  299. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/worktree.md +0 -0
  300. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/prompts/write_file.md +0 -0
  301. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/read_file.py +0 -0
  302. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/retrieve.py +0 -0
  303. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/search_replace.py +0 -0
  304. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/task.py +0 -0
  305. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/todo.py +0 -0
  306. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/tool_search.py +0 -0
  307. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/webfetch.py +0 -0
  308. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/websearch.py +0 -0
  309. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/builtins/worktree.py +0 -0
  310. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/injection_guard.py +0 -0
  311. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/manager.py +0 -0
  312. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/mcp/__init__.py +0 -0
  313. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/mcp/registry.py +0 -0
  314. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/mcp/tools.py +0 -0
  315. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/mcp_sampling.py +0 -0
  316. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/ui.py +0 -0
  317. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/tools/utils.py +0 -0
  318. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/trusted_folders.py +0 -0
  319. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/types.py +0 -0
  320. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/core/utils.py +0 -0
  321. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/graphrag/__init__.py +0 -0
  322. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/graphrag/__main__.py +0 -0
  323. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/graphrag/code_indexer.py +0 -0
  324. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/graphrag/retriever.py +0 -0
  325. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/graphrag/storage.py +0 -0
  326. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/graphrag/text_indexer.py +0 -0
  327. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/__init__.py +0 -0
  328. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/base.py +0 -0
  329. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/onboarding.tcss +0 -0
  330. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/screens/__init__.py +0 -0
  331. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/screens/choice.py +0 -0
  332. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/screens/local_model.py +0 -0
  333. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/onboarding/screens/welcome.py +0 -0
  334. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/trusted_folders/trust_folder_dialog.py +0 -0
  335. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/setup/trusted_folders/trust_folder_dialog.tcss +0 -0
  336. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/__init__.py +0 -0
  337. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/api-design/SKILL.md +0 -0
  338. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/audit-tests/SKILL.md +0 -0
  339. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/batch/SKILL.md +0 -0
  340. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/commit-code/SKILL.md +0 -0
  341. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/context-summary/SKILL.md +0 -0
  342. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/create-presentation/SKILL.md +0 -0
  343. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/deep-research/SKILL.md +0 -0
  344. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/deploy/SKILL.md +0 -0
  345. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/diff-review/SKILL.md +0 -0
  346. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/doc-gen/SKILL.md +0 -0
  347. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/explain-code/SKILL.md +0 -0
  348. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/explore-code/SKILL.md +0 -0
  349. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/fix-issue/SKILL.md +0 -0
  350. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/git-ops/SKILL.md +0 -0
  351. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/init-project/SKILL.md +0 -0
  352. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/investigate/SKILL.md +0 -0
  353. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/loop/SKILL.md +0 -0
  354. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/migrate/SKILL.md +0 -0
  355. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/perf-analyze/SKILL.md +0 -0
  356. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/plan-impl/SKILL.md +0 -0
  357. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/pr-review/SKILL.md +0 -0
  358. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/refactor/SKILL.md +0 -0
  359. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/regex-help/SKILL.md +0 -0
  360. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/review/SKILL.md +0 -0
  361. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/security-review/SKILL.md +0 -0
  362. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/ship/SKILL.md +0 -0
  363. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/simplify/SKILL.md +0 -0
  364. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/strong-tests/SKILL.md +0 -0
  365. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/skills/test-verify/SKILL.md +0 -0
  366. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/steering/__init__.py +0 -0
  367. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/steering/__main__.py +0 -0
  368. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/steering/applier.py +0 -0
  369. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/steering/config.py +0 -0
  370. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/steering/registry.py +0 -0
  371. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/steering/sandbox.py +0 -0
  372. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/steering/vectors.py +0 -0
  373. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock/whats_new.md +0 -0
  374. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/drydock-acp.spec +0 -0
  375. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/flake.lock +0 -0
  376. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/flake.nix +0 -0
  377. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/config.json +0 -0
  378. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/results.jsonl +0 -0
  379. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/summary.json +0 -0
  380. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66e89811ca68059533a83566/AGENTS.md +0 -0
  381. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66e89ebe7361982cbfbc5952/AGENTS.md +0 -0
  382. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66e8b0a9e5eaa390aa9fdde5/AGENTS.md +0 -0
  383. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66e8ccc4089d1e34c84c76c0/AGENTS.md +0 -0
  384. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66e8d4d65699cf35c9a1527c/AGENTS.md +0 -0
  385. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66e9249c953867e04c273db7/AGENTS.md +0 -0
  386. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66ea40e5b44d5e443ba2eac5/AGENTS.md +0 -0
  387. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66eafb96b082c5e6a76a49c0/AGENTS.md +0 -0
  388. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66ec5671713826aca26a9dba/AGENTS.md +0 -0
  389. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66ec5e266f83e1764787e118/AGENTS.md +0 -0
  390. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66ed5e6a1d24f687ee9b06d1/AGENTS.md +0 -0
  391. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66ed97d1c2becb9452e4d7b4/AGENTS.md +0 -0
  392. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66edc60801af2a724035ad4b/AGENTS.md +0 -0
  393. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66edd3dc1ee489494038d9eb/AGENTS.md +0 -0
  394. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66ee158c5db68805b7d3d27b/AGENTS.md +0 -0
  395. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66ee8c598124ad52c77de7ee/AGENTS.md +0 -0
  396. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66eee253ae4c04f9d17d9420/AGENTS.md +0 -0
  397. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f052e814be84cc1edd3fbd/AGENTS.md +0 -0
  398. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f0bc36c6a29a8fa8010813/AGENTS.md +0 -0
  399. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f1ce25cd6a2b9d36fe8ea2/AGENTS.md +0 -0
  400. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  401. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f454d18ab578bcbb18387c/AGENTS.md +0 -0
  402. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f472d2e4b80835fd2a01bb/AGENTS.md +0 -0
  403. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f47471bba0ce38e1ca559f/AGENTS.md +0 -0
  404. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f579027a2ac7b4fffe1740/AGENTS.md +0 -0
  405. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f5c96b4ae309d465eeca47/AGENTS.md +0 -0
  406. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f5c96b4ae309d465eeca47/solution.py +0 -0
  407. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f6f048b40ada5ac3b91cf8/AGENTS.md +0 -0
  408. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f6f048b40ada5ac3b91cf8/solution.py +0 -0
  409. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f7292f3f4622b6ce24b961/AGENTS.md +0 -0
  410. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66f83aed0d92e99048a4ae9d/AGENTS.md +0 -0
  411. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66faccfb44cb2f3b0e1be0ff/AGENTS.md +0 -0
  412. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc1a0ea7be4edbe85cf15c/AGENTS.md +0 -0
  413. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc2b7dbdebe91c66389e50/AGENTS.md +0 -0
  414. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc2b7dbdebe91c66389e50/solution.py +0 -0
  415. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc2df0b72463921f6c40f2/AGENTS.md +0 -0
  416. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc35ef3d06493836155397/AGENTS.md +0 -0
  417. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc4dc04293a9638d7e0f65/AGENTS.md +0 -0
  418. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc56f5d90ebe461bfd0c9c/AGENTS.md +0 -0
  419. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fc633698a7264ef58309c0/AGENTS.md +0 -0
  420. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fdb31a57cea4445778e8ab/AGENTS.md +0 -0
  421. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66feaec49c469dbc1c0c4ed2/AGENTS.md +0 -0
  422. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66feaec49c469dbc1c0c4ed2/solution.py +0 -0
  423. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fec5fbe0072219a732f0e2/AGENTS.md +0 -0
  424. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fec5fbe0072219a732f0e2/simulation.py +0 -0
  425. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/66fec5fbe0072219a732f0e2/solution.py +0 -0
  426. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/670013827794cc36bc974f27/AGENTS.md +0 -0
  427. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67008f2afc2c0a4040f1d353/AGENTS.md +0 -0
  428. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/670097e2d8f693f97c36c13f/AGENTS.md +0 -0
  429. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6700a5f67899925724a8fa81/AGENTS.md +0 -0
  430. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6700ab4bfa64315ed5204e4d/AGENTS.md +0 -0
  431. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6701d2675f6691877f264511/AGENTS.md +0 -0
  432. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6704465caf0a436d92c65160/AGENTS.md +0 -0
  433. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67055b15222ba55ab0b88431/AGENTS.md +0 -0
  434. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6706033749b90b396d2cb207/AGENTS.md +0 -0
  435. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6706033749b90b396d2cb207/solution.py +0 -0
  436. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6706295df10a8c2ca9a9c288/AGENTS.md +0 -0
  437. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67073a60c033e34a5d675f2e/AGENTS.md +0 -0
  438. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6707b9264ea1e7c28b6169bc/AGENTS.md +0 -0
  439. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6708c1dc2f33698babc6479d/AGENTS.md +0 -0
  440. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/670a7e542e97a7e436a3d951/AGENTS.md +0 -0
  441. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/670d5ce6d57c80b4d4090cb4/AGENTS.md +0 -0
  442. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/670daa682c5d078fa33fba12/AGENTS.md +0 -0
  443. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/670e9d6f5c8f745d79e8d8d1/AGENTS.md +0 -0
  444. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/670fe86a7e294dc6ad20c1ba/AGENTS.md +0 -0
  445. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6710251d73c9583c25138ff0/AGENTS.md +0 -0
  446. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67136bf495e840a8db703aee/AGENTS.md +0 -0
  447. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67152ee0953411f24cd994f0/AGENTS.md +0 -0
  448. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671659f129c718f03e48a198/AGENTS.md +0 -0
  449. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6716dc349a0dd17680df31df/AGENTS.md +0 -0
  450. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6716dc349a0dd17680df31df/solution.py +0 -0
  451. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67171c0c49297038d6740a23/AGENTS.md +0 -0
  452. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67171dca583e0959a2a84f91/AGENTS.md +0 -0
  453. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67171dca583e0959a2a84f91/solve.py +0 -0
  454. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6717207a3d6d949464d26a15/AGENTS.md +0 -0
  455. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67172e73e42c7644e4f00e1f/AGENTS.md +0 -0
  456. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67172e73e42c7644e4f00e1f/solution.py +0 -0
  457. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67178b22b7f6dd9be2a4dd68/AGENTS.md +0 -0
  458. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6717a3b32bfc3643c75ac338/AGENTS.md +0 -0
  459. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6717aef5a5c8a6a9392b1b39/AGENTS.md +0 -0
  460. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6717cfeee8995e9e60504f33/AGENTS.md +0 -0
  461. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671802a3e2dff1f07a1b0508/AGENTS.md +0 -0
  462. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671802a3e2dff1f07a1b0508/solution.py +0 -0
  463. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67184f90f86f5a009aa2ad5f/AGENTS.md +0 -0
  464. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6718577ca88093a75026b186/AGENTS.md +0 -0
  465. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671adbf8439b8a0eaec180d3/AGENTS.md +0 -0
  466. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671bbb559a1f658e2a088aa8/AGENTS.md +0 -0
  467. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671bc0c855449c636f4bbd36/AGENTS.md +0 -0
  468. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671bdc0d90d834b821acb8b1/AGENTS.md +0 -0
  469. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671c6d6392388142386728ee/AGENTS.md +0 -0
  470. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671d16bf60ad0fe6d2494177/AGENTS.md +0 -0
  471. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671d16bf60ad0fe6d2494177/solution.py +0 -0
  472. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671ee72aec85f81abd7a2f92/AGENTS.md +0 -0
  473. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671eeb53c1a668a6c81e5993/AGENTS.md +0 -0
  474. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671f07b1d0f22fd6e50482e7/AGENTS.md +0 -0
  475. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671f0c2578ab3005e439aeba/AGENTS.md +0 -0
  476. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671f1f0bb0b665acec70c3aa/AGENTS.md +0 -0
  477. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671f887676b11ce91b2887ce/AGENTS.md +0 -0
  478. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/671f887676b11ce91b2887ce/solution.py +0 -0
  479. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672068b61177432c7e500289/AGENTS.md +0 -0
  480. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6720c7d9831d6450ba886ff0/AGENTS.md +0 -0
  481. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6720e184a9e1d1cc990cc8e9/AGENTS.md +0 -0
  482. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67210bd65968ddcc0df3a248/AGENTS.md +0 -0
  483. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67213cb9043b1e724244a1c6/AGENTS.md +0 -0
  484. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67213cb9043b1e724244a1c6/reasoning.txt +0 -0
  485. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67214969c04654cf47135a4e/AGENTS.md +0 -0
  486. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67218f865b0747ce2231d48c/AGENTS.md +0 -0
  487. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6721ad631648dda151c2a7ec/AGENTS.md +0 -0
  488. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6721c8e11b5a8e4cb0e9079b/AGENTS.md +0 -0
  489. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6722048cdcce66512a82d9e2/AGENTS.md +0 -0
  490. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6722198c0628f6647e3d591e/AGENTS.md +0 -0
  491. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672235a01e36ca7369b8b157/AGENTS.md +0 -0
  492. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6722870ef7bda9406bc723ac/AGENTS.md +0 -0
  493. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6722889086cf6075e69b96a7/AGENTS.md +0 -0
  494. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6722b2777f84054950978f74/AGENTS.md +0 -0
  495. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6723b207610c8f282a827f3a/AGENTS.md +0 -0
  496. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6723cdf07a517fb44dd35e47/AGENTS.md +0 -0
  497. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6723d9a6271ddeec8bacb9b6/AGENTS.md +0 -0
  498. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672413536c2345e86ea59fe7/AGENTS.md +0 -0
  499. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67242f1f911674ab1b5d904b/AGENTS.md +0 -0
  500. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6724cdd55ae9c8186f31f920/AGENTS.md +0 -0
  501. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6724f79792419e4380b5686a/AGENTS.md +0 -0
  502. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67252b9639b66386e0489e94/AGENTS.md +0 -0
  503. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67252e6e825d7a6248383174/AGENTS.md +0 -0
  504. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67253d7aac6dc24f8aafbfc1/AGENTS.md +0 -0
  505. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67253f2c13c1aec29d1f1849/AGENTS.md +0 -0
  506. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672546cf046774791d0f1a3a/AGENTS.md +0 -0
  507. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67256db1afb4a043e613c929/AGENTS.md +0 -0
  508. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672572ba1b7caf96dfa80324/AGENTS.md +0 -0
  509. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6725b2ba569cf0c62da64cd1/AGENTS.md +0 -0
  510. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6725bb338255543498bdcbec/AGENTS.md +0 -0
  511. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6725dc14097c6790b292765e/AGENTS.md +0 -0
  512. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6725e382086428ce4e2fa8d6/AGENTS.md +0 -0
  513. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672643a2699c78200b0177e9/AGENTS.md +0 -0
  514. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6726bc54d4553efaee99c558/AGENTS.md +0 -0
  515. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6726e3bf4aeb5af8ca49e254/AGENTS.md +0 -0
  516. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6727dd5c5e987b1e8c17f8d9/AGENTS.md +0 -0
  517. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6728c038c556bb2fdda61dd7/AGENTS.md +0 -0
  518. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67298280a5f43bd5a3870e14/AGENTS.md +0 -0
  519. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672a30472091cee6de17ebd1/AGENTS.md +0 -0
  520. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672aac7a78e0ab15cf86003b/AGENTS.md +0 -0
  521. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672b2ff4a7b27beaf0e7779a/AGENTS.md +0 -0
  522. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672c84e4975ce618c77a5c49/AGENTS.md +0 -0
  523. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672c983d4183d91499fad7c5/AGENTS.md +0 -0
  524. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672cdf88f01cb175ca130759/AGENTS.md +0 -0
  525. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672d8366f97c3b404d90f3d3/AGENTS.md +0 -0
  526. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672dceba64a3350407a69646/AGENTS.md +0 -0
  527. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672e09b50a85795d0ed2d36e/AGENTS.md +0 -0
  528. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672f6cfd609b665328565e5c/AGENTS.md +0 -0
  529. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672f7b5d47d2f4c7ca9ff600/AGENTS.md +0 -0
  530. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672f7b5d47d2f4c7ca9ff600/solution.py +0 -0
  531. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672faa45c5a8bce51676ee01/AGENTS.md +0 -0
  532. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672faa45c5a8bce51676ee01/solution.py +0 -0
  533. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672fc00e13e5fbd332372f3f/AGENTS.md +0 -0
  534. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/672ff71e724ca22f42c0ff85/AGENTS.md +0 -0
  535. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67302aea4c42a72918926160/AGENTS.md +0 -0
  536. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67308f79c5ea548175bbf9fc/AGENTS.md +0 -0
  537. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67310e19bf74eff110261caa/AGENTS.md +0 -0
  538. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6732761c77e9a02e661946ac/AGENTS.md +0 -0
  539. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6734830d5fc27d3e41519741/AGENTS.md +0 -0
  540. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6734f24a08351f5bdfd38627/AGENTS.md +0 -0
  541. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67352e9911e5510fc618f619/AGENTS.md +0 -0
  542. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67361730dba36cc0d595f422/AGENTS.md +0 -0
  543. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6736562a41ab088ba14c2bc3/AGENTS.md +0 -0
  544. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673668e658bad7ba89d4ad54/AGENTS.md +0 -0
  545. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6736945a5a7f4f59e4731c4d/AGENTS.md +0 -0
  546. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6736a9b0b949d548db8da965/AGENTS.md +0 -0
  547. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6736ccc7b9b2577c622e944c/AGENTS.md +0 -0
  548. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6736ccc7b9b2577c622e944c/solution.py +0 -0
  549. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6736d8d1278519f8b18450a5/AGENTS.md +0 -0
  550. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6736e9109055c436feb3f65a/AGENTS.md +0 -0
  551. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6737006d3f0517b6e8a60733/AGENTS.md +0 -0
  552. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67370359930c1fd7247f3413/AGENTS.md +0 -0
  553. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673716bd2773953bca4195d7/AGENTS.md +0 -0
  554. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673722c82bfc8ab579ed111f/AGENTS.md +0 -0
  555. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6737259f2c11cb057c97911b/AGENTS.md +0 -0
  556. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6737259f2c11cb057c97911b/solution.py +0 -0
  557. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67373446bb9a786bfe928d2c/AGENTS.md +0 -0
  558. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673738b81bcb9388d8e3b31a/AGENTS.md +0 -0
  559. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67378355cf21a88cec0f42e5/AGENTS.md +0 -0
  560. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67378355cf21a88cec0f42e5/logic.py +0 -0
  561. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67378355cf21a88cec0f42e5/solution.py +0 -0
  562. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673784c950c4b58b2154e4ef/AGENTS.md +0 -0
  563. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6738373cf2df805520bc86ce/AGENTS.md +0 -0
  564. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673852c82e5179091a7648e8/AGENTS.md +0 -0
  565. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6738d6a4475748524584b23c/AGENTS.md +0 -0
  566. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6738d6a4475748524584b23c/analysis.py +0 -0
  567. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6738d6a4475748524584b23c/logic_check.py +0 -0
  568. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6738d6a4475748524584b23c/solution.py +0 -0
  569. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6738df8c201a2bd66499797a/AGENTS.md +0 -0
  570. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67391de141c297471963efc6/AGENTS.md +0 -0
  571. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6739674739118cf30f5f1075/AGENTS.md +0 -0
  572. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673971a55c3de09264d6d373/AGENTS.md +0 -0
  573. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6739fe23f1f7144f9a3c9715/AGENTS.md +0 -0
  574. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a30e39b3ad7c9386b5da4/AGENTS.md +0 -0
  575. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a30e39b3ad7c9386b5da4/solution.py +0 -0
  576. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a33fb2d5ce2b6500f4b48/AGENTS.md +0 -0
  577. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a33fb2d5ce2b6500f4b48/solution.py +0 -0
  578. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a3faaed02a359f6002a78/AGENTS.md +0 -0
  579. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a6dd875a0f3c9ce243dba/AGENTS.md +0 -0
  580. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a73d1addb9293360a5d07/AGENTS.md +0 -0
  581. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673a76559e89466aa6433f66/AGENTS.md +0 -0
  582. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673ac0ef3792ac12ad54f599/AGENTS.md +0 -0
  583. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673b50769ff1dae6f5b8b65d/AGENTS.md +0 -0
  584. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673b6aa505be2302d4445ed4/AGENTS.md +0 -0
  585. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673b6ef1430f8b6e47a67760/AGENTS.md +0 -0
  586. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/673b6ef1430f8b6e47a67760/solution.py +0 -0
  587. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67428dcab53462ceeb83c6f6/AGENTS.md +0 -0
  588. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/674490c88354817cce712062/AGENTS.md +0 -0
  589. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/674490c88354817cce712062/solution.py +0 -0
  590. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67458d2109d194da0dfd7cef/AGENTS.md +0 -0
  591. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6747e0eaaa7f6182ef02efb4/AGENTS.md +0 -0
  592. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6747fa2a456927085f863956/AGENTS.md +0 -0
  593. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6748b7dfac494f3a05306206/AGENTS.md +0 -0
  594. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/675704ad2626c93afa0b3a05/AGENTS.md +0 -0
  595. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/675d7b901ded33d59eb2c94f/AGENTS.md +0 -0
  596. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/675e0f20488645c4ed8af30b/AGENTS.md +0 -0
  597. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67607764fd6487bd2bb7e271/AGENTS.md +0 -0
  598. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6761b89b9d9d4287c0969029/AGENTS.md +0 -0
  599. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/676226f6fbdba9bd68127327/AGENTS.md +0 -0
  600. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/676433a3921b0ce4e14c557f/AGENTS.md +0 -0
  601. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/676433a3921b0ce4e14c557f/solution.py +0 -0
  602. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/676cc5d177aae7d3ee8caaeb/AGENTS.md +0 -0
  603. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/676e9656e3e0846ee73dbf9d/AGENTS.md +0 -0
  604. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/677296942ebbac6133a1d618/AGENTS.md +0 -0
  605. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/677296942ebbac6133a1d618/solution.py +0 -0
  606. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6776ffa855710e45669a4481/AGENTS.md +0 -0
  607. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6778491dcbd83450e1018208/AGENTS.md +0 -0
  608. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/6778491dcbd83450e1018208/solution.py +0 -0
  609. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67833c10f5a1ca415084accd/AGENTS.md +0 -0
  610. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67833c10f5a1ca415084accd/mass_calc.py +0 -0
  611. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777855599/work/67833c10f5a1ca415084accd/solution.py +0 -0
  612. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777893928/config.json +0 -0
  613. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777893928/results.jsonl +0 -0
  614. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777893928/summary.json +0 -0
  615. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777893928/work/674490c88354817cce712062/AGENTS.md +0 -0
  616. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894705/config.json +0 -0
  617. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894779/config.json +0 -0
  618. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894779/results.jsonl +0 -0
  619. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894779/summary.json +0 -0
  620. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894779/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  621. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894988/config.json +0 -0
  622. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894988/results.jsonl +0 -0
  623. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894988/summary.json +0 -0
  624. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777894988/work/66f358d4cdd3ce36208e23ca_iter3/AGENTS.md +0 -0
  625. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895449/config.json +0 -0
  626. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895449/results.jsonl +0 -0
  627. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895449/summary.json +0 -0
  628. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895449/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  629. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895659/config.json +0 -0
  630. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895659/results.jsonl +0 -0
  631. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895659/summary.json +0 -0
  632. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777895659/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  633. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896017/config.json +0 -0
  634. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896017/results.jsonl +0 -0
  635. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896017/summary.json +0 -0
  636. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896017/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  637. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896576/config.json +0 -0
  638. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896576/results.jsonl +0 -0
  639. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896576/summary.json +0 -0
  640. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896576/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  641. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896802/config.json +0 -0
  642. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896802/results.jsonl +0 -0
  643. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896802/summary.json +0 -0
  644. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896802/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  645. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896996/config.json +0 -0
  646. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896996/results.jsonl +0 -0
  647. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896996/summary.json +0 -0
  648. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777896996/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  649. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777897626/config.json +0 -0
  650. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777897626/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  651. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777897976/config.json +0 -0
  652. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777897976/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  653. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777898263/config.json +0 -0
  654. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777898263/results.jsonl +0 -0
  655. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777898263/summary.json +0 -0
  656. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/hle_results_v1_baseline/run_1777898263/work/66f358d4cdd3ce36208e23ca/AGENTS.md +0 -0
  657. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/README.md +0 -0
  658. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/config_base.toml +0 -0
  659. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/config_best.toml +0 -0
  660. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/domain_spec.md +0 -0
  661. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/experimenter.py +0 -0
  662. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/kernel.py +0 -0
  663. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/mini_prd.md +0 -0
  664. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/mini_prompts.txt +0 -0
  665. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/proposer.py +0 -0
  666. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/research/results.tsv +0 -0
  667. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/README.md +0 -0
  668. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/admiral_probe.py +0 -0
  669. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/archive/auto_test_loop.sh +0 -0
  670. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/archive/monitor_test_battery.sh +0 -0
  671. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/archive/overnight_agents_test.sh +0 -0
  672. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/archive/test_bank.sh +0 -0
  673. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/archive/test_full.sh +0 -0
  674. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/archive/test_smoke.sh +0 -0
  675. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/archive/tui_test.py +0 -0
  676. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/audit_sampler.py +0 -0
  677. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/auto_generate_tests.py +0 -0
  678. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/auto_release.sh +0 -0
  679. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/autonomous_review.sh +0 -0
  680. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/autonomous_review_prompt.md +0 -0
  681. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/backup.sh +0 -0
  682. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/bump_version.py +0 -0
  683. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/classify_pulse.sh +0 -0
  684. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/comprehensive_loop.py +0 -0
  685. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/consume_retrieval_queue.py +0 -0
  686. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/deploy_to_github.sh +0 -0
  687. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/discover_cli_tools.sh +0 -0
  688. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/evolve_tests.py +0 -0
  689. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/fetch_arxiv_abstracts.py +0 -0
  690. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/gen_2000_prompts.py +0 -0
  691. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/hle_eval.py +0 -0
  692. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/hle_eval_seed.jsonl +0 -0
  693. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/install.sh +0 -0
  694. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/llm_balancer.py +0 -0
  695. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/mega_loop.py +0 -0
  696. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/meta_ralph_loop.py +0 -0
  697. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/monitor_swebench.sh +0 -0
  698. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/notify_release.py +0 -0
  699. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/oss_task_harness.py +0 -0
  700. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/perf_baseline_when_idle.sh +0 -0
  701. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/perf_sweep.py +0 -0
  702. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/poll_issues.sh +0 -0
  703. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/port_task.py +0 -0
  704. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/prepare_release.py +0 -0
  705. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/publish_to_pypi.sh +0 -0
  706. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/queue_top.py +0 -0
  707. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/ralph_loop.py +0 -0
  708. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/research_babysitter.sh +0 -0
  709. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/session_loop_audit.py +0 -0
  710. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/shakedown.py +0 -0
  711. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/shakedown_interactive.py +0 -0
  712. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/shakedown_regression.sh +0 -0
  713. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/shakedown_suite.sh +0 -0
  714. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/shakedown_variance.sh +0 -0
  715. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_babysitter.sh +0 -0
  716. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_prompts_50.txt +0 -0
  717. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_prompts_realuser.txt +0 -0
  718. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_prompts_tool_agent.txt +0 -0
  719. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_prompts_tool_agent_2000.txt +0 -0
  720. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_shakedown.py +0 -0
  721. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_telegram_status.py +0 -0
  722. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/stress_watcher.py +0 -0
  723. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/telegram_bot.py +0 -0
  724. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/test_tui_path.py +0 -0
  725. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/scripts/vllm_failover.sh +0 -0
  726. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/__init__.py +0 -0
  727. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/conftest.py +0 -0
  728. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_acp.py +0 -0
  729. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_agent_thought.py +0 -0
  730. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_bash.py +0 -0
  731. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_compact_session_updates.py +0 -0
  732. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_content.py +0 -0
  733. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_initialize.py +0 -0
  734. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_list_sessions.py +0 -0
  735. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_load_session.py +0 -0
  736. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_multi_session.py +0 -0
  737. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_new_session.py +0 -0
  738. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_proxy_setup_acp.py +0 -0
  739. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_read_file.py +0 -0
  740. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_search_replace.py +0 -0
  741. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_set_config_option.py +0 -0
  742. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_set_mode.py +0 -0
  743. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_set_model.py +0 -0
  744. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_tool_call_session_update.py +0 -0
  745. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_utils.py +0 -0
  746. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/acp/test_write_file.py +0 -0
  747. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_file_indexer.py +0 -0
  748. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_fuzzy.py +0 -0
  749. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_path_completer_fuzzy.py +0 -0
  750. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_path_completer_recursive.py +0 -0
  751. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_path_completion_controller.py +0 -0
  752. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_path_prompt_transformer.py +0 -0
  753. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_slash_command_controller.py +0 -0
  754. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/autocompletion/test_ui_chat_autocompletion.py +0 -0
  755. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/__init__.py +0 -0
  756. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/data/__init__.py +0 -0
  757. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/data/fireworks.py +0 -0
  758. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/data/mistral.py +0 -0
  759. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/test_anthropic_adapter.py +0 -0
  760. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/test_backend.py +0 -0
  761. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/test_generic_adapter_sanitize.py +0 -0
  762. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/test_reasoning_adapter.py +0 -0
  763. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/backend/test_vertex_anthropic_adapter.py +0 -0
  764. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/plan_offer/adapters/fake_whoami_gateway.py +0 -0
  765. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/plan_offer/test_decide_plan_offer.py +0 -0
  766. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/plan_offer/test_http_whoami_gateway.py +0 -0
  767. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_bell_notifications.py +0 -0
  768. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_braille_renderer.py +0 -0
  769. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_clipboard.py +0 -0
  770. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_commands.py +0 -0
  771. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_copy_shortcuts.py +0 -0
  772. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_external_editor.py +0 -0
  773. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_no_markup_static.py +0 -0
  774. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_question_app.py +0 -0
  775. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_spinner.py +0 -0
  776. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_switching_mode.py +0 -0
  777. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_ui_clipboard_notifications.py +0 -0
  778. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_ui_session_incremental_renderer.py +0 -0
  779. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_ui_session_resume.py +0 -0
  780. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/test_ui_skill_dispatch.py +0 -0
  781. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/textual_ui/__init__.py +0 -0
  782. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/cli/textual_ui/test_session_picker.py +0 -0
  783. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/conftest.py +0 -0
  784. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_agents.py +0 -0
  785. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_auth_crypto.py +0 -0
  786. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_auth_github.py +0 -0
  787. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_circuit_breaker_count_escalation.py +0 -0
  788. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_circuit_breaker_readonly_threshold.py +0 -0
  789. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_config_load_dotenv.py +0 -0
  790. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_config_paths.py +0 -0
  791. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_config_resolution.py +0 -0
  792. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_file_logging.py +0 -0
  793. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_plan_session.py +0 -0
  794. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_proxy_setup.py +0 -0
  795. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_slug.py +0 -0
  796. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_telemetry_send.py +0 -0
  797. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_teleport_git.py +0 -0
  798. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_teleport_nuage.py +0 -0
  799. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_teleport_service.py +0 -0
  800. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_trusted_folders.py +0 -0
  801. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/core/test_utils.py +0 -0
  802. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/e2e/common.py +0 -0
  803. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/e2e/conftest.py +0 -0
  804. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/e2e/mock_server.py +0 -0
  805. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/e2e/test_cli_tui_onboarding.py +0 -0
  806. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/e2e/test_cli_tui_streaming.py +0 -0
  807. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/e2e/test_cli_tui_tool_approval.py +0 -0
  808. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/fixtures/doc_qa_system_prd.md +0 -0
  809. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/mock/__init__.py +0 -0
  810. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/mock/mock_backend_factory.py +0 -0
  811. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/mock/mock_entrypoint.py +0 -0
  812. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/mock/utils.py +0 -0
  813. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/onboarding/test_run_onboarding.py +0 -0
  814. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/onboarding/test_ui_onboarding.py +0 -0
  815. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/session/test_session_loader.py +0 -0
  816. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/session/test_session_logger.py +0 -0
  817. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/session/test_session_migration.py +0 -0
  818. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/skills/conftest.py +0 -0
  819. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/skills/test_manager.py +0 -0
  820. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/skills/test_models.py +0 -0
  821. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/skills/test_parser.py +0 -0
  822. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_collapsed.svg +0 -0
  823. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_ask_user_question/test_snapshot_ask_user_question_expanded.svg +0 -0
  824. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_basic_conversation/test_snapshot_shows_basic_conversation.svg +0 -0
  825. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_code_block_horizontal_scrolling/test_snapshot_allows_horizontal_scrolling_for_long_code_blocks.svg +0 -0
  826. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_empty_assistant_before_reasoning/test_snapshot_empty_assistant_removed_when_reasoning_starts.svg +0 -0
  827. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_accept_edits_mode.svg +0 -0
  828. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_auto_approve_mode.svg +0 -0
  829. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_to_plan_mode.svg +0 -0
  830. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_cycle_wraps_to_default.svg +0 -0
  831. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_modes/test_snapshot_default_mode.svg +0 -0
  832. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_pending.svg +0 -0
  833. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_parallel_tool_calls/test_snapshot_parallel_tool_calls_resolved.svg +0 -0
  834. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_cancel_discards_changes.svg +0 -0
  835. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_edit_existing_values.svg +0 -0
  836. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_empty.svg +0 -0
  837. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_initial_with_values.svg +0 -0
  838. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_error.svg +0 -0
  839. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_proxy_setup/test_snapshot_proxy_setup_save_new_values.svg +0 -0
  840. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_answer_first_advance.svg +0 -0
  841. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_first_answered_checkmark.svg +0 -0
  842. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_initial.svg +0 -0
  843. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_left_wraps.svg +0 -0
  844. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_navigate_right.svg +0 -0
  845. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_question_tab_to_second.svg +0 -0
  846. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_initial.svg +0 -0
  847. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_mixed_selection.svg +0 -0
  848. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_navigate_to_submit.svg +0 -0
  849. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_other_with_text.svg +0 -0
  850. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_first.svg +0 -0
  851. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_toggle_multiple.svg +0 -0
  852. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_multi_select_untoggle.svg +0 -0
  853. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_initial.svg +0 -0
  854. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_down.svg +0 -0
  855. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_other.svg +0 -0
  856. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_to_third_option.svg +0 -0
  857. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_navigate_up_wraps.svg +0 -0
  858. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_question_app/test_snapshot_question_app_other_typing.svg +0 -0
  859. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_buffered_reasoning_yields_before_content.svg +0 -0
  860. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_interleaved_reasoning.svg +0 -0
  861. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content.svg +0 -0
  862. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_reasoning_content/test_snapshot_shows_reasoning_content_expanded.svg +0 -0
  863. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_release_update_notification/test_snapshot_shows_release_update_notification.svg +0 -0
  864. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_session_resume/test_snapshot_shows_resumed_session_messages.svg +0 -0
  865. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_partial.svg +0 -0
  866. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_streaming_tool_call/test_snapshot_tool_call_updated.svg +0 -0
  867. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_cancel_selected.svg +0 -0
  868. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_multiple_commits.svg +0 -0
  869. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_push_confirmation_single_commit.svg +0 -0
  870. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_complete.svg +0 -0
  871. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_auth_required.svg +0 -0
  872. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_checking_git.svg +0 -0
  873. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_complete.svg +0 -0
  874. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_error.svg +0 -0
  875. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_pushing.svg +0 -0
  876. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_sending_token.svg +0 -0
  877. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_teleport/test_snapshot_teleport_status_starting_workflow.svg +0 -0
  878. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_no_plan_message.svg +0 -0
  879. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_switch_message.svg +0 -0
  880. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_upgrade_message.svg +0 -0
  881. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/__snapshots__/test_ui_snapshot_whats_new/test_snapshot_shows_whats_new_message.svg +0 -0
  882. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/base_snapshot_test_app.py +0 -0
  883. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/conftest.py +0 -0
  884. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/snap_compare.py +0 -0
  885. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_ask_user_question.py +0 -0
  886. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_basic_conversation.py +0 -0
  887. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_code_block_horizontal_scrolling.py +0 -0
  888. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_empty_assistant_before_reasoning.py +0 -0
  889. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_modes.py +0 -0
  890. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_parallel_tool_calls.py +0 -0
  891. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_proxy_setup.py +0 -0
  892. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_question_app.py +0 -0
  893. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_reasoning_content.py +0 -0
  894. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_release_update_notification.py +0 -0
  895. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_session_resume.py +0 -0
  896. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_streaming_tool_call.py +0 -0
  897. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_teleport.py +0 -0
  898. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/snapshots/test_ui_snapshot_whats_new.py +0 -0
  899. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/stubs/fake_backend.py +0 -0
  900. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/stubs/fake_client.py +0 -0
  901. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/stubs/fake_tool.py +0 -0
  902. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_admiral.py +0 -0
  903. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_admiral_phase3.py +0 -0
  904. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_admiral_proposed.py +0 -0
  905. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_admiral_struggle_dedup.py +0 -0
  906. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_agent_auto_compact.py +0 -0
  907. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_agent_backend.py +0 -0
  908. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_agent_observer_streaming.py +0 -0
  909. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_agent_stats.py +0 -0
  910. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_agent_tasks.py +0 -0
  911. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_agent_tool_call.py +0 -0
  912. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_agents.py +0 -0
  913. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_bank_build.py +0 -0
  914. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_bank_debug.py +0 -0
  915. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_bank_multiagent.py +0 -0
  916. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_bank_prd.py +0 -0
  917. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_bank_prd_extended.py +0 -0
  918. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_bank_tools.py +0 -0
  919. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_bank_update.py +0 -0
  920. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_build_projects.py +0 -0
  921. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_checkpoint.py +0 -0
  922. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_classifier.py +0 -0
  923. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_cli_programmatic_preload.py +0 -0
  924. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_context_recovery.py +0 -0
  925. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_current_bugs.py +0 -0
  926. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_dispatcher.py +0 -0
  927. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_drydock_regression.py +0 -0
  928. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_drydock_tasks.py +0 -0
  929. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_fake_tool_call_paren_syntax.py +0 -0
  930. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_full_regression.py +0 -0
  931. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_graphrag.py +0 -0
  932. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_hallucinated_tool_suppression.py +0 -0
  933. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_history_manager.py +0 -0
  934. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_integration.py +0 -0
  935. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_issue_fixes.py +0 -0
  936. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_local_detect.py +0 -0
  937. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_loop_detection.py +0 -0
  938. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_message_id.py +0 -0
  939. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_message_merging.py +0 -0
  940. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_middleware.py +0 -0
  941. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_multi_agent.py +0 -0
  942. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_read_file_not_found_listing.py +0 -0
  943. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_real_failures.py +0 -0
  944. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_real_issues.py +0 -0
  945. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_real_workflow.py +0 -0
  946. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_reasoning_content.py +0 -0
  947. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_retrieval_consumer.py +0 -0
  948. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_retrieve_tool.py +0 -0
  949. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_search_replace_args_not_truncated.py +0 -0
  950. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_smoke.py +0 -0
  951. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_steering.py +0 -0
  952. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_steering_hook.py +0 -0
  953. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_system_prompt.py +0 -0
  954. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_tagged_text.py +0 -0
  955. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_task_complete_nudge.py +0 -0
  956. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_tool_args.py +0 -0
  957. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_truncate_args_valid_json.py +0 -0
  958. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_truncated_arg_path_hint.py +0 -0
  959. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_truncated_search_replace_escalation.py +0 -0
  960. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_truncated_write_escalation.py +0 -0
  961. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_ui_external_editor.py +0 -0
  962. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_ui_input_history.py +0 -0
  963. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_user_issues.py +0 -0
  964. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_workloads.py +0 -0
  965. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/test_write_file_missing_path.py +0 -0
  966. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/testbank_helpers.py +0 -0
  967. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_ask_user_question.py +0 -0
  968. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash.py +0 -0
  969. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_binary_grep_hint.py +0 -0
  970. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_consec_empty_search.py +0 -0
  971. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_echo_escape_loop_breaker.py +0 -0
  972. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_empty_search_loop_breaker.py +0 -0
  973. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_error_loop_breaker.py +0 -0
  974. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_exact_cmd_loop_breaker.py +0 -0
  975. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_heredoc_confirmation.py +0 -0
  976. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_kill_exit1_annotation.py +0 -0
  977. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_bash_python_c_syntaxerr_loop_breaker.py +0 -0
  978. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_exit_plan_mode.py +0 -0
  979. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_grep.py +0 -0
  980. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_hallucinated_retrieval_redirect.py +0 -0
  981. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_invoke_context.py +0 -0
  982. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_manager_gemma_derived_models.py +0 -0
  983. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_manager_get_tool_config.py +0 -0
  984. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_mcp.py +0 -0
  985. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_mcp_sampling.py +0 -0
  986. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_read_file_dedup_alternating_offset.py +0 -0
  987. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_read_file_dedup_reembed.py +0 -0
  988. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_read_file_directory.py +0 -0
  989. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_read_file_limit_truncation.py +0 -0
  990. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_append_fallback.py +0 -0
  991. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_dir_path.py +0 -0
  992. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_empty_content.py +0 -0
  993. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_file_not_found.py +0 -0
  994. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_first_failure_hint.py +0 -0
  995. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_hard_stop.py +0 -0
  996. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_malformed_block.py +0 -0
  997. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_no_op_loop_breaker.py +0 -0
  998. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_placeholder.py +0 -0
  999. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_search_replace_refused_loop_breaker.py +0 -0
  1000. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_task.py +0 -0
  1001. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_ui_bash_execution.py +0 -0
  1002. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_webfetch.py +0 -0
  1003. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_websearch.py +0 -0
  1004. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_write_file_dedup_missing_imports.py +0 -0
  1005. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/tools/test_write_file_missing_path_hint.py +0 -0
  1006. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/adapters/fake_update_cache_repository.py +0 -0
  1007. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/adapters/fake_update_gateway.py +0 -0
  1008. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/test_do_update.py +0 -0
  1009. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/test_filesystem_update_cache_repository.py +0 -0
  1010. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/test_github_update_gateway.py +0 -0
  1011. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/test_pypi_update_gateway.py +0 -0
  1012. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/test_ui_update_notification.py +0 -0
  1013. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/test_update_use_case.py +0 -0
  1014. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/tests/update_notifier/test_whats_new.py +0 -0
  1015. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/worked_examples/README.md +0 -0
  1016. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/worked_examples/cli_subcommand_dispatch.py +0 -0
  1017. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/worked_examples/lookup.json +0 -0
  1018. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/worked_examples/sql_parser.py +0 -0
  1019. {drydock_cli-2.7.48 → drydock_cli-2.7.49}/worked_examples/tree_walking_interpreter.py +0 -0
@@ -0,0 +1 @@
1
+ 3339404
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: drydock-cli
3
- Version: 2.7.48
3
+ Version: 2.7.49
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
@@ -41,7 +41,6 @@ Requires-Dist: pydantic-settings>=2.12.0
41
41
  Requires-Dist: pydantic>=2.12.4
42
42
  Requires-Dist: pypdf>=4.0.0
43
43
  Requires-Dist: pyperclip>=1.11.0
44
- Requires-Dist: python-dotenv>=1.0.0
45
44
  Requires-Dist: pyyaml>=6.0.0
46
45
  Requires-Dist: requests>=2.20.0
47
46
  Requires-Dist: rich>=14.0.0
@@ -326,7 +326,21 @@ class DrydockApp(App): # noqa: PLR0904
326
326
  yield ContextProgress()
327
327
 
328
328
  async def on_mount(self) -> None:
329
- self.theme = "textual-ansi"
329
+ # textual-ansi is the cleanest reading experience but isn't
330
+ # registered in every Textual version (e.g. some 8.2.x builds
331
+ # drop unused builtin themes). Falling back keeps the TUI from
332
+ # crashing on launch — the default theme renders correctly,
333
+ # just with sRGB colors instead of ANSI palette colors.
334
+ # Issue #18: Windows install crashed here on Textual 8.2.5
335
+ # with "Theme 'textual-ansi' has not been registered".
336
+ try:
337
+ self.theme = "textual-ansi"
338
+ except Exception as e:
339
+ logger.warning(
340
+ "preferred theme 'textual-ansi' not available "
341
+ "(textual=%s): %s — using default theme",
342
+ getattr(__import__("textual"), "__version__", "?"), e,
343
+ )
330
344
  self._terminal_notifier.restore()
331
345
 
332
346
  self._cached_messages_area = self.query_one("#messages")
@@ -228,12 +228,39 @@ def _preserve_line_breaks(text: str) -> str:
228
228
  """
229
229
  if not text:
230
230
  return text
231
- # Tabs at line start → 2 spaces. Done before anything else so the
232
- # downstream regexes and Markdown widget see consistent indent.
233
- text = "\n".join(
234
- re.sub(r"^\t+", lambda m: " " * len(m.group(0)), line)
235
- for line in text.split("\n")
236
- )
231
+ # Tab handling. Outside fenced code blocks, normalize tabs:
232
+ # - Leading tabs 2 spaces per tab (CommonMark sub-bullet indent).
233
+ # - Mid-line tabs → expand to 4-col tab stops.
234
+ # Textual's Markdown widget routes raw tabs to Rich, which advances
235
+ # to the next 8-col stop. The "column" Rich sees depends on which
236
+ # markdown markers (* `_~) it has consumed, so tabs in mixed content
237
+ # land at unpredictable visible columns and produce the jumbled
238
+ # output users see (issue #16 follow-up reports). Inside fences,
239
+ # preserve tabs — the syntax highlighter handles them consistently.
240
+ _processed: list[str] = []
241
+ _in_fence = False
242
+ for _line in text.split("\n"):
243
+ if _line.lstrip().startswith("```"):
244
+ _in_fence = not _in_fence
245
+ _processed.append(_line)
246
+ continue
247
+ if _in_fence:
248
+ _processed.append(_line)
249
+ continue
250
+ # Leading tabs → 2 spaces.
251
+ _line = re.sub(
252
+ r"^\t+", lambda m: " " * len(m.group(0)), _line
253
+ )
254
+ # Mid-line tabs (any remaining) → spaces at 4-col stops. The
255
+ # leading-indent transform already removed leading tabs, so any
256
+ # \t left is mid-line. Use a fixed 4-space replacement (good
257
+ # enough for table-like output the model emits; we don't try
258
+ # to replicate true tab-stop alignment because the surrounding
259
+ # content's visible width is unknowable without rendering).
260
+ if "\t" in _line:
261
+ _line = _line.replace("\t", " ")
262
+ _processed.append(_line)
263
+ text = "\n".join(_processed)
237
264
  # First pass: rescue wall-of-text responses (flat prose, inline
238
265
  # enumerations, inline bold headings). See _break_walls_of_text.
239
266
  text = _break_walls_of_text(text)
@@ -1027,8 +1027,23 @@ class AgentLoop:
1027
1027
  prev_tool_name = assistant_msg.tool_calls[-1].function.name if assistant_msg.tool_calls[-1].function else None
1028
1028
  _readonly_tools = {"read_file", "grep", "glob", "ls", "pwd"}
1029
1029
  _prev_was_read = prev_tool_name in _readonly_tools
1030
+ # Detect if prior write_file failed due to missing path argument.
1031
+ _prev_tool_result = ""
1032
+ if prev_role == Role.tool and self.messages:
1033
+ _prev_tool_result = str(self.messages[-1].content or "")
1034
+ _prev_write_path_error = (
1035
+ prev_tool_name == "write_file"
1036
+ and "empty path" in _prev_tool_result
1037
+ )
1030
1038
  if _stall_attempt == 0:
1031
- if _prev_was_read:
1039
+ if _prev_write_path_error:
1040
+ note = (
1041
+ "Your write_file call failed because the path argument was empty. "
1042
+ "Retry write_file RIGHT NOW with the correct path. "
1043
+ "Example: write_file(path='package/module.py', content='...'). "
1044
+ "Do NOT send an empty response — call write_file with a path."
1045
+ )
1046
+ elif _prev_was_read:
1032
1047
  note = (
1033
1048
  f"You read a file but produced no output. "
1034
1049
  f"Now use write_file, search_replace, or bash "
@@ -0,0 +1,135 @@
1
+ """Minimal .env file reader/writer — replaces python-dotenv.
2
+
3
+ Supports the subset drydock actually uses:
4
+ dotenv_values(path) → dict[str, str | None]
5
+ set_key(path, key, value) → None
6
+ unset_key(path, key) → None
7
+
8
+ Format handled:
9
+ KEY=VALUE unquoted value
10
+ KEY="VALUE" double-quoted value (backslash escapes respected)
11
+ KEY='VALUE' single-quoted value (no escapes)
12
+ KEY= empty string
13
+ # comment ignored
14
+ (blank line) preserved by set_key/unset_key
15
+ """
16
+ from __future__ import annotations
17
+
18
+ import re
19
+ from pathlib import Path
20
+ from typing import Union
21
+
22
+ _LINE_RE = re.compile(
23
+ r"""
24
+ ^\s*
25
+ (?:export\s+)? # optional 'export '
26
+ ([A-Za-z_][A-Za-z0-9_]*) # key
27
+ \s*=\s*
28
+ ( # value group
29
+ '(?:[^'\\]|\\.)*' # single-quoted
30
+ |"(?:[^"\\]|\\.)*" # double-quoted
31
+ |[^#\r\n]* # unquoted (up to comment or EOL)
32
+ )?
33
+ (?:\s*\#.*)? # optional trailing comment
34
+ $
35
+ """,
36
+ re.VERBOSE,
37
+ )
38
+
39
+
40
+ def _unescape_double(s: str) -> str:
41
+ return s.encode("raw_unicode_escape").decode("unicode_escape")
42
+
43
+
44
+ def _parse_value(raw: str | None) -> str | None:
45
+ if raw is None:
46
+ return None
47
+ raw = raw.strip()
48
+ if not raw:
49
+ return ""
50
+ if raw.startswith('"') and raw.endswith('"') and len(raw) >= 2:
51
+ inner = raw[1:-1]
52
+ return _unescape_double(inner)
53
+ if raw.startswith("'") and raw.endswith("'") and len(raw) >= 2:
54
+ return raw[1:-1]
55
+ return raw
56
+
57
+
58
+ def dotenv_values(path: Union[str, Path]) -> dict[str, str | None]:
59
+ """Read a .env file and return a dict of key→value pairs."""
60
+ path = Path(path)
61
+ result: dict[str, str | None] = {}
62
+ try:
63
+ text = path.read_text(encoding="utf-8", errors="replace")
64
+ except OSError:
65
+ return result
66
+ for line in text.splitlines():
67
+ stripped = line.strip()
68
+ if not stripped or stripped.startswith("#"):
69
+ continue
70
+ m = _LINE_RE.match(line)
71
+ if m:
72
+ result[m.group(1)] = _parse_value(m.group(2))
73
+ return result
74
+
75
+
76
+ def set_key(
77
+ path: Union[str, Path],
78
+ key: str,
79
+ value: str,
80
+ quote_mode: str = "auto",
81
+ export: bool = False,
82
+ ) -> None:
83
+ """Write or update KEY=VALUE in a .env file.
84
+
85
+ If the key already exists, its line is updated in place.
86
+ Otherwise the entry is appended. The file is created if absent.
87
+ """
88
+ path = Path(path)
89
+ path.parent.mkdir(parents=True, exist_ok=True)
90
+
91
+ # Choose quoting: always double-quote so spaces and special chars are safe.
92
+ escaped = value.replace("\\", "\\\\").replace('"', '\\"')
93
+ new_line = f'{key}="{escaped}"'
94
+
95
+ if not path.exists():
96
+ path.write_text(new_line + "\n", encoding="utf-8")
97
+ return
98
+
99
+ lines = path.read_text(encoding="utf-8").splitlines(keepends=True)
100
+ key_re = re.compile(
101
+ r"^\s*(?:export\s+)?" + re.escape(key) + r"\s*="
102
+ )
103
+ replaced = False
104
+ out: list[str] = []
105
+ for line in lines:
106
+ if not replaced and key_re.match(line):
107
+ out.append(new_line + "\n")
108
+ replaced = True
109
+ else:
110
+ out.append(line)
111
+
112
+ if not replaced:
113
+ # Ensure file ends with a newline before appending.
114
+ if out and not out[-1].endswith("\n"):
115
+ out[-1] += "\n"
116
+ out.append(new_line + "\n")
117
+
118
+ path.write_text("".join(out), encoding="utf-8")
119
+
120
+
121
+ def unset_key(
122
+ path: Union[str, Path],
123
+ key: str,
124
+ ) -> None:
125
+ """Remove KEY=... line from a .env file. No-op if file or key is absent."""
126
+ path = Path(path)
127
+ if not path.exists():
128
+ return
129
+
130
+ key_re = re.compile(
131
+ r"^\s*(?:export\s+)?" + re.escape(key) + r"\s*="
132
+ )
133
+ lines = path.read_text(encoding="utf-8").splitlines(keepends=True)
134
+ out = [line for line in lines if not key_re.match(line)]
135
+ path.write_text("".join(out), encoding="utf-8")
@@ -9,7 +9,7 @@ import shlex
9
9
  import tomllib
10
10
  from typing import Annotated, Any, Literal
11
11
 
12
- from dotenv import dotenv_values
12
+ from drydock.core.config._dotenv import dotenv_values
13
13
  from pydantic import BaseModel, Field, field_validator, model_validator
14
14
  from pydantic.fields import FieldInfo
15
15
  from pydantic_core import to_jsonable_python
@@ -656,7 +656,55 @@ class DrydockConfig(BaseSettings):
656
656
 
657
657
  @classmethod
658
658
  def _migrate(cls) -> None:
659
- pass
659
+ """Backfill missing top-level keys in an existing user config.
660
+
661
+ `bootstrap_config_files` only writes the config when the file
662
+ does not exist, so users who installed an older version never
663
+ receive top-level keys added in subsequent releases (e.g.
664
+ `slim_system_prompt`, added in v2.7.x). The result: their
665
+ existing config is missing fields that downstream code expects,
666
+ and silent fallbacks mask the gap.
667
+
668
+ This pass: read the live config, compute the default, and
669
+ write back any TOP-LEVEL keys the user is missing — preserving
670
+ every value the user already has. Nested sections (providers,
671
+ models, tools) are NOT touched here; user customizations there
672
+ are intentional. Idempotent. addresses pattern config:upgrade_drift
673
+ """
674
+ if not get_harness_files_manager().persist_allowed:
675
+ return
676
+ try:
677
+ current = TomlFileSettingsSource(cls).toml_data
678
+ except Exception:
679
+ return # config not on disk yet — bootstrap will create it
680
+ if not current:
681
+ return
682
+ try:
683
+ defaults = cls.create_default()
684
+ except Exception:
685
+ return
686
+ added: list[str] = []
687
+ for key, default_val in defaults.items():
688
+ if key in current:
689
+ continue
690
+ # Only fill in scalar / simple-collection top-level keys.
691
+ # Skip the heavyweight section keys that user installs
692
+ # configure deliberately (providers/models/tools/etc).
693
+ if isinstance(default_val, (dict, list)) and key in {
694
+ "providers", "models", "tools", "session_logging",
695
+ "project_context", "mcp_servers",
696
+ "tool_paths", "agent_paths", "skill_paths",
697
+ "enabled_tools", "disabled_tools",
698
+ "enabled_agents", "disabled_agents",
699
+ "enabled_skills", "disabled_skills",
700
+ }:
701
+ continue
702
+ current[key] = default_val
703
+ added.append(key)
704
+ if added:
705
+ cls.dump_config(
706
+ to_jsonable_python(current, exclude_none=True, fallback=str)
707
+ )
660
708
 
661
709
  @classmethod
662
710
  def load(cls, **overrides: Any) -> DrydockConfig:
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
- from dotenv import dotenv_values, set_key, unset_key
3
+ from drydock.core.config._dotenv import dotenv_values, set_key, unset_key
4
4
 
5
5
  from drydock.core.paths import GLOBAL_ENV_FILE
6
6
 
@@ -710,7 +710,20 @@ class WriteFile(
710
710
 
711
711
  def _prepare_and_validate_path(self, args: WriteFileArgs) -> tuple[Path, bool, int]:
712
712
  if not args.path.strip():
713
- raise ToolError("Path cannot be empty")
713
+ cwd = Path.cwd()
714
+ try:
715
+ pkg_dirs = [
716
+ d.name for d in sorted(cwd.iterdir())
717
+ if d.is_dir() and not d.name.startswith('.') and not d.name.startswith('_')
718
+ ][:4]
719
+ hint = f"Package dirs in {cwd.name}/: {', '.join(pkg_dirs)}" if pkg_dirs else f"cwd: {cwd}"
720
+ except OSError:
721
+ hint = f"cwd: {cwd}"
722
+ raise ToolError(
723
+ f"write_file requires a path argument — you sent an empty path. "
724
+ f"Retry as: write_file(path='<package>/<file>.py', content='...'). "
725
+ f"{hint}."
726
+ )
714
727
 
715
728
  # Warn about binary file extensions
716
729
  ext = Path(args.path).suffix.lower()
@@ -3,7 +3,7 @@ from __future__ import annotations
3
3
  import os
4
4
  from typing import ClassVar
5
5
 
6
- from dotenv import set_key
6
+ from drydock.core.config._dotenv import set_key
7
7
  from textual.app import ComposeResult
8
8
  from textual.binding import Binding, BindingType
9
9
  from textual.containers import Center, Horizontal, Vertical
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "drydock-cli"
3
- version = "2.7.48"
3
+ version = "2.7.49"
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"
@@ -50,7 +50,6 @@ dependencies = [
50
50
  "pydantic-settings>=2.12.0",
51
51
  "pypdf>=4.0.0",
52
52
  "pyperclip>=1.11.0",
53
- "python-dotenv>=1.0.0",
54
53
  "pyyaml>=6.0.0",
55
54
  "requests>=2.20.0",
56
55
  "rich>=14.0.0",
@@ -0,0 +1,129 @@
1
+ """Regression tests for config upgrade migration (issue #17).
2
+
3
+ Existing user configs created by older drydock versions don't get
4
+ top-level keys added in subsequent releases — `bootstrap_config_files`
5
+ only writes the file when it doesn't exist. `DrydockConfig._migrate()`
6
+ backfills any missing top-level keys while preserving user values
7
+ and never touching nested sections (providers/models/tools/etc).
8
+ """
9
+ from __future__ import annotations
10
+
11
+ import os
12
+ import tempfile
13
+ import tomllib
14
+ from pathlib import Path
15
+
16
+ import pytest
17
+ import tomli_w
18
+
19
+
20
+ def _setup_config(tmpdir: Path, contents: dict) -> Path:
21
+ drydock_dir = tmpdir / ".drydock"
22
+ drydock_dir.mkdir(parents=True, exist_ok=True)
23
+ cfg = drydock_dir / "config.toml"
24
+ with cfg.open("wb") as f:
25
+ tomli_w.dump(contents, f)
26
+ return cfg
27
+
28
+
29
+ def _migrate_in_subprocess(drydock_home: Path) -> dict:
30
+ """Run the migration in a subprocess (clean env so module-level
31
+ DRYDOCK_HOME resolves to our temp dir) and return the resulting
32
+ config dict."""
33
+ import subprocess
34
+ py = "/home/bobef/miniforge3/envs/drydock/bin/python3"
35
+ code = (
36
+ "from drydock.core.config.harness_files._harness_manager "
37
+ "import init_harness_files_manager\n"
38
+ "init_harness_files_manager('user')\n"
39
+ "from drydock.core.config._settings import DrydockConfig\n"
40
+ "DrydockConfig._migrate()\n"
41
+ )
42
+ env = {**os.environ, "DRYDOCK_HOME": str(drydock_home)}
43
+ subprocess.run([py, "-c", code], env=env, check=True, capture_output=True)
44
+ cfg_file = drydock_home / "config.toml"
45
+ with cfg_file.open("rb") as f:
46
+ return tomllib.load(f)
47
+
48
+
49
+ def test_migration_adds_missing_top_level_keys():
50
+ """An older config missing slim_system_prompt should get it back."""
51
+ with tempfile.TemporaryDirectory() as td:
52
+ tmp = Path(td)
53
+ _setup_config(tmp, {
54
+ "active_model": "local",
55
+ "auto_approve": False,
56
+ "system_prompt_id": "cli",
57
+ "providers": [{"name": "mistral", "api_base": "x",
58
+ "api_key_env_var": "MISTRAL_API_KEY",
59
+ "backend": "mistral"}],
60
+ })
61
+ cfg = _migrate_in_subprocess(tmp / ".drydock")
62
+ # Missing top-level keys should now be present.
63
+ assert "slim_system_prompt" in cfg
64
+ assert "auto_compact_threshold" in cfg
65
+ assert "context_warnings" in cfg
66
+ # User values preserved verbatim.
67
+ assert cfg["active_model"] == "local"
68
+ assert cfg["system_prompt_id"] == "cli"
69
+ # Nested sections not touched.
70
+ assert cfg["providers"] == [{"name": "mistral", "api_base": "x",
71
+ "api_key_env_var": "MISTRAL_API_KEY",
72
+ "backend": "mistral"}]
73
+
74
+
75
+ def test_migration_idempotent():
76
+ """Running _migrate() twice should produce the same result."""
77
+ with tempfile.TemporaryDirectory() as td:
78
+ tmp = Path(td)
79
+ _setup_config(tmp, {
80
+ "active_model": "local",
81
+ "providers": [],
82
+ })
83
+ first = _migrate_in_subprocess(tmp / ".drydock")
84
+ second = _migrate_in_subprocess(tmp / ".drydock")
85
+ assert first == second
86
+
87
+
88
+ def test_migration_skips_heavyweight_section_keys():
89
+ """User-customizable section keys (providers/models/tools) must
90
+ not be backfilled — leaving them missing means user explicitly
91
+ didn't want defaults there."""
92
+ with tempfile.TemporaryDirectory() as td:
93
+ tmp = Path(td)
94
+ _setup_config(tmp, {
95
+ "active_model": "local",
96
+ "providers": [{"name": "only", "api_base": "x",
97
+ "api_key_env_var": "", "backend": "generic"}],
98
+ })
99
+ cfg = _migrate_in_subprocess(tmp / ".drydock")
100
+ # Only this user's one provider — no default mistral/llamacpp injected.
101
+ assert len(cfg["providers"]) == 1
102
+ # models / tools / session_logging not added.
103
+ assert "models" not in cfg
104
+ assert "tools" not in cfg
105
+ assert "session_logging" not in cfg
106
+
107
+
108
+ def test_migration_no_op_when_no_config_file():
109
+ """Calling _migrate() when there's no existing config must be safe."""
110
+ with tempfile.TemporaryDirectory() as td:
111
+ tmp = Path(td)
112
+ (tmp / ".drydock").mkdir(parents=True, exist_ok=True)
113
+ # Don't create config.toml.
114
+ # Migrate should silently no-op and not raise.
115
+ import subprocess
116
+ py = "/home/bobef/miniforge3/envs/drydock/bin/python3"
117
+ code = (
118
+ "from drydock.core.config.harness_files._harness_manager "
119
+ "import init_harness_files_manager\n"
120
+ "init_harness_files_manager('user')\n"
121
+ "from drydock.core.config._settings import DrydockConfig\n"
122
+ "DrydockConfig._migrate()\n"
123
+ )
124
+ env = {**os.environ, "DRYDOCK_HOME": str(tmp / ".drydock")}
125
+ result = subprocess.run([py, "-c", code], env=env,
126
+ capture_output=True, text=True)
127
+ assert result.returncode == 0, result.stderr
128
+ # Migrate should NOT have created the file.
129
+ assert not (tmp / ".drydock" / "config.toml").exists()
@@ -65,6 +65,31 @@ class TestTabIndentedBlocks:
65
65
  out = _preserve_line_breaks(text)
66
66
  assert "here.\n\nSecond" in out
67
67
 
68
+ def test_midline_tabs_expand_to_4_spaces(self):
69
+ """Mid-line tabs in prose/tables would land at unpredictable
70
+ columns under Rich's tab-stop renderer; expanding to a fixed 4
71
+ spaces gives consistent alignment regardless of surrounding
72
+ markdown markers."""
73
+ text = "Results:\n\nname\tvalue\nfoo\t1\nbar\t2"
74
+ out = _preserve_line_breaks(text)
75
+ assert "name value" in out
76
+ assert "foo 1" in out
77
+ assert "\t" not in out # all tabs gone outside fences
78
+
79
+ def test_fenced_code_preserves_tabs(self):
80
+ """Tabs inside ``` fences must NOT be touched — syntax highlighter
81
+ handles them consistently and code semantics depend on them."""
82
+ text = "Sample:\n```python\ndef foo():\n\treturn 1\n```\nDone."
83
+ out = _preserve_line_breaks(text)
84
+ # The tab inside the fence is preserved.
85
+ assert "\treturn 1" in out
86
+
87
+ def test_inline_tabs_in_prose_normalized(self):
88
+ text = "Step 1:\trun. Step 2:\tcheck."
89
+ out = _preserve_line_breaks(text)
90
+ assert "Step 1: run" in out
91
+ assert "\t" not in out
92
+
68
93
 
69
94
  class TestBreakWallsOfText:
70
95
  def test_short_input_unchanged(self):