monkeybot 3.10.0__tar.gz → 3.11.0__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 (1737) hide show
  1. monkeybot-3.11.0/.cursor/hooks/test-failure-notice.py +106 -0
  2. monkeybot-3.11.0/.cursor/hooks.json +33 -0
  3. monkeybot-3.11.0/.cursor/rules/test-failures.mdc +10 -0
  4. monkeybot-3.11.0/.cursor/skills/mb-retro/SKILL.md +85 -0
  5. monkeybot-3.11.0/.github/workflows/ci.yml +51 -0
  6. monkeybot-3.11.0/.github/workflows/live-eval-smoke.yml +179 -0
  7. monkeybot-3.11.0/.gitignore +90 -0
  8. monkeybot-3.11.0/.pre-commit-config.yaml +36 -0
  9. monkeybot-3.11.0/CHANGELOG.md +607 -0
  10. monkeybot-3.11.0/CONTRIBUTING.md +43 -0
  11. monkeybot-3.11.0/PKG-INFO +202 -0
  12. monkeybot-3.11.0/README.md +105 -0
  13. monkeybot-3.11.0/cli/pyproject.toml +50 -0
  14. monkeybot-3.11.0/cli/skills/monkeybot/SKILL.md +202 -0
  15. monkeybot-3.11.0/cli/skills/monkeybot/references/config-sections.md +170 -0
  16. monkeybot-3.11.0/cli/src/monkeybot_cli/chat_tui_widgets.py +1174 -0
  17. monkeybot-3.11.0/cli/src/monkeybot_cli/overrides.txt +5 -0
  18. monkeybot-3.11.0/cli/src/monkeybot_cli/runtime_python.py +857 -0
  19. monkeybot-3.11.0/cli/src/monkeybot_cli/scaffold.py +517 -0
  20. monkeybot-3.11.0/cli/src/monkeybot_cli/scaffold_defaults/monkeybot.example.yaml +277 -0
  21. monkeybot-3.11.0/cli/tests/test_chat_tui.py +2468 -0
  22. monkeybot-3.11.0/cli/tests/test_runtime_python.py +1233 -0
  23. monkeybot-3.11.0/cli/tests/test_scaffold.py +422 -0
  24. monkeybot-3.11.0/cli/uv.lock +1788 -0
  25. monkeybot-3.11.0/conftest.py +22 -0
  26. monkeybot-3.11.0/docs/deploy-pattern-d-realtime.md +306 -0
  27. monkeybot-3.11.0/docs/features.md +865 -0
  28. monkeybot-3.11.0/docs/getting-started.md +182 -0
  29. monkeybot-3.11.0/docs/live-evals.md +75 -0
  30. monkeybot-3.11.0/docs/spill-dynamic-design.md +557 -0
  31. monkeybot-3.11.0/docs/testing.md +756 -0
  32. monkeybot-3.11.0/docs/verifier-agent-design.md +831 -0
  33. monkeybot-3.11.0/integrations/browser-mcp/pyproject.toml +31 -0
  34. monkeybot-3.11.0/integrations/browser-mcp/uv.lock +1232 -0
  35. monkeybot-3.11.0/pyproject.toml +145 -0
  36. monkeybot-3.11.0/pytest.ini +19 -0
  37. monkeybot-3.11.0/regression/conftest.py +41 -0
  38. monkeybot-3.11.0/regression/drivers/__init__.py +5 -0
  39. monkeybot-3.11.0/regression/drivers/bundles/__init__.py +32 -0
  40. monkeybot-3.11.0/regression/drivers/bundles/git.py +91 -0
  41. monkeybot-3.11.0/regression/drivers/bundles/hooks.py +99 -0
  42. monkeybot-3.11.0/regression/drivers/bundles/host_tools.py +109 -0
  43. monkeybot-3.11.0/regression/drivers/bundles/mcp.py +103 -0
  44. monkeybot-3.11.0/regression/drivers/bundles/memory.py +176 -0
  45. monkeybot-3.11.0/regression/drivers/bundles/policy.py +241 -0
  46. monkeybot-3.11.0/regression/drivers/bundles/prompt_context.py +69 -0
  47. monkeybot-3.11.0/regression/drivers/bundles/protocol.py +86 -0
  48. monkeybot-3.11.0/regression/drivers/bundles/session.py +339 -0
  49. monkeybot-3.11.0/regression/drivers/bundles/store.py +153 -0
  50. monkeybot-3.11.0/regression/drivers/bundles/subagents.py +181 -0
  51. monkeybot-3.11.0/regression/drivers/bundles/verifier.py +230 -0
  52. monkeybot-3.11.0/regression/drivers/bundles/workspace.py +138 -0
  53. monkeybot-3.11.0/regression/drivers/gateway.py +480 -0
  54. monkeybot-3.11.0/regression/drivers/loop.py +682 -0
  55. monkeybot-3.11.0/regression/drivers/realtime.py +607 -0
  56. monkeybot-3.11.0/regression/drivers/replay.py +347 -0
  57. monkeybot-3.11.0/regression/drivers/support/__init__.py +1 -0
  58. monkeybot-3.11.0/regression/drivers/support/config.py +183 -0
  59. monkeybot-3.11.0/regression/drivers/support/env.py +40 -0
  60. monkeybot-3.11.0/regression/drivers/support/executor.py +84 -0
  61. monkeybot-3.11.0/regression/drivers/support/paths.py +36 -0
  62. monkeybot-3.11.0/regression/drivers/support/tokens.py +332 -0
  63. monkeybot-3.11.0/regression/fixtures/__init__.py +1 -0
  64. monkeybot-3.11.0/regression/fixtures/build.py +133 -0
  65. monkeybot-3.11.0/regression/fixtures/configs/agent.base.yaml +21 -0
  66. monkeybot-3.11.0/regression/fixtures/configs/command_allowlist.default.yaml +12 -0
  67. monkeybot-3.11.0/regression/fixtures/configs/command_allowlist.empty.yaml +2 -0
  68. monkeybot-3.11.0/regression/fixtures/configs/command_allowlist.no_deny_patterns.yaml +7 -0
  69. monkeybot-3.11.0/regression/fixtures/configs/command_allowlist.strict.yaml +7 -0
  70. monkeybot-3.11.0/regression/fixtures/configs/grants.corrupt.json +1 -0
  71. monkeybot-3.11.0/regression/fixtures/configs/grants.json +16 -0
  72. monkeybot-3.11.0/regression/fixtures/configs/mcp.autoconnect.json +10 -0
  73. monkeybot-3.11.0/regression/fixtures/configs/mcp.broken.json +15 -0
  74. monkeybot-3.11.0/regression/fixtures/configs/mcp.progressive.json +16 -0
  75. monkeybot-3.11.0/regression/fixtures/configs/mcp.two_prefix.json +16 -0
  76. monkeybot-3.11.0/regression/fixtures/configs/permissions.ask.yaml +4 -0
  77. monkeybot-3.11.0/regression/fixtures/configs/permissions.default.yaml +4 -0
  78. monkeybot-3.11.0/regression/fixtures/configs/permissions.overlap.yaml +11 -0
  79. monkeybot-3.11.0/regression/fixtures/configs/verifier.block.yaml +4 -0
  80. monkeybot-3.11.0/regression/fixtures/configs/verifier.judge.yaml +11 -0
  81. monkeybot-3.11.0/regression/fixtures/configs/verifier.replan.yaml +4 -0
  82. monkeybot-3.11.0/regression/fixtures/configs/verifier.tracker.yaml +10 -0
  83. monkeybot-3.11.0/regression/fixtures/configs/{workspace}/child.db +0 -0
  84. monkeybot-3.11.0/regression/fixtures/conftest.py +8 -0
  85. monkeybot-3.11.0/regression/fixtures/mcp/fixture_mcp_server.py +35 -0
  86. monkeybot-3.11.0/regression/fixtures/scripts/one_turn.yaml +5 -0
  87. monkeybot-3.11.0/regression/fixtures/skills/a/nested/SKILL.md +6 -0
  88. monkeybot-3.11.0/regression/fixtures/skills/diagnostics/SKILL.md +6 -0
  89. monkeybot-3.11.0/regression/fixtures/skills/plain/SKILL.md +1 -0
  90. monkeybot-3.11.0/regression/fixtures/subagent_tapes/absent_file.ndjson +3 -0
  91. monkeybot-3.11.0/regression/fixtures/subagent_tapes/child_error.ndjson +3 -0
  92. monkeybot-3.11.0/regression/fixtures/subagent_tapes/echo.ndjson +2 -0
  93. monkeybot-3.11.0/regression/fixtures/subagent_tapes/hold.ndjson +2 -0
  94. monkeybot-3.11.0/regression/fixtures/subagent_tapes/large_line.ndjson +2 -0
  95. monkeybot-3.11.0/regression/fixtures/subagent_tapes/nested_task.ndjson +4 -0
  96. monkeybot-3.11.0/regression/fixtures/subagent_tapes/present_file.ndjson +3 -0
  97. monkeybot-3.11.0/regression/fixtures/subagent_tapes/roundtrip.ndjson +3 -0
  98. monkeybot-3.11.0/regression/fixtures/subagent_tapes/system_prompt.ndjson +4 -0
  99. monkeybot-3.11.0/regression/fixtures/workspaces/att_secret.txt +1 -0
  100. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/.monkeybot/attachments/loop-scenario/att-link +1 -0
  101. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/.monkeybot/attachments/loop-scenario/att-link.json +1 -0
  102. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/.monkeybot/attachments/loop-scenario/att-pdf +66 -0
  103. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/.monkeybot/attachments/loop-scenario/att-pdf.json +1 -0
  104. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/i1.png +0 -0
  105. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/i2.png +0 -0
  106. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/i3.png +0 -0
  107. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/i4.png +0 -0
  108. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/i5.png +0 -0
  109. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/i6.png +0 -0
  110. monkeybot-3.11.0/regression/fixtures/workspaces/att_ws/tiny.png +0 -0
  111. monkeybot-3.11.0/regression/fixtures/workspaces/drift_ws/DONE.txt +1 -0
  112. monkeybot-3.11.0/regression/fixtures/workspaces/drift_ws/db/migrations/001_init.sql +4 -0
  113. monkeybot-3.11.0/regression/fixtures/workspaces/drift_ws/src/models.py +3 -0
  114. monkeybot-3.11.0/regression/fixtures/workspaces/grants_ws/granted/.env +1 -0
  115. monkeybot-3.11.0/regression/fixtures/workspaces/grants_ws/granted/notes.md +1 -0
  116. monkeybot-3.11.0/regression/fixtures/workspaces/grants_ws/workspace/src/app.txt +1 -0
  117. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/.gitignore +1 -0
  118. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/AGENTS.md +6 -0
  119. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/node_modules/left.js +1 -0
  120. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/notes.txt +1 -0
  121. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/pkg/.gitignore +1 -0
  122. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/pkg/hidden.txt +1 -0
  123. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/pkg/visible.txt +1 -0
  124. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/secret.txt +1 -0
  125. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/src/app.py +2 -0
  126. monkeybot-3.11.0/regression/fixtures/workspaces/hostile_ws/wide.txt +1 -0
  127. monkeybot-3.11.0/regression/plan/AGENT_GUIDE.md +109 -0
  128. monkeybot-3.11.0/regression/plan/README.md +132 -0
  129. monkeybot-3.11.0/regression/plan/phases/phase-0a-tier1-reorg.md +222 -0
  130. monkeybot-3.11.0/regression/plan/phases/phase-0b-foundations.md +184 -0
  131. monkeybot-3.11.0/regression/plan/phases/phase-1-t2-harness-logic.md +213 -0
  132. monkeybot-3.11.0/regression/plan/phases/phase-2-contracts-and-gateway.md +147 -0
  133. monkeybot-3.11.0/regression/plan/phases/phase-3-record-replay.md +84 -0
  134. monkeybot-3.11.0/regression/plan/phases/phase-4-live.md +129 -0
  135. monkeybot-3.11.0/regression/plan/phases/phase-5-trials.md +62 -0
  136. monkeybot-3.11.0/regression/plan/phases/phase-6-cutover.md +30 -0
  137. monkeybot-3.11.0/regression/plan/reference/01-goals-and-principles.md +65 -0
  138. monkeybot-3.11.0/regression/plan/reference/03-tiers.md +48 -0
  139. monkeybot-3.11.0/regression/plan/reference/04-file-structure.md +825 -0
  140. monkeybot-3.11.0/regression/plan/reference/05.1-doubles.md +26 -0
  141. monkeybot-3.11.0/regression/plan/reference/05.10-testing-doc.md +48 -0
  142. monkeybot-3.11.0/regression/plan/reference/05.11-live-provider.md +37 -0
  143. monkeybot-3.11.0/regression/plan/reference/05.2-scenario-schema.md +31 -0
  144. monkeybot-3.11.0/regression/plan/reference/05.3-assertions-and-invariants.md +52 -0
  145. monkeybot-3.11.0/regression/plan/reference/05.4-fixtures.md +25 -0
  146. monkeybot-3.11.0/regression/plan/reference/05.5-cassettes.md +98 -0
  147. monkeybot-3.11.0/regression/plan/reference/05.6-pytest-reporting-trials.md +37 -0
  148. monkeybot-3.11.0/regression/plan/reference/05.9-failure-ledger.md +138 -0
  149. monkeybot-3.11.0/regression/plan/reference/06-coverage/00-index.md +6 -0
  150. monkeybot-3.11.0/regression/plan/reference/06-coverage/6A-loop.md +55 -0
  151. monkeybot-3.11.0/regression/plan/reference/06-coverage/6B-ctx.md +38 -0
  152. monkeybot-3.11.0/regression/plan/reference/06-coverage/6C-hook.md +29 -0
  153. monkeybot-3.11.0/regression/plan/reference/06-coverage/6D-file.md +52 -0
  154. monkeybot-3.11.0/regression/plan/reference/06-coverage/6E-shell.md +31 -0
  155. monkeybot-3.11.0/regression/plan/reference/06-coverage/6F-pol.md +25 -0
  156. monkeybot-3.11.0/regression/plan/reference/06-coverage/6G-code.md +32 -0
  157. monkeybot-3.11.0/regression/plan/reference/06-coverage/6H-att.md +21 -0
  158. monkeybot-3.11.0/regression/plan/reference/06-coverage/6I-comp.md +18 -0
  159. monkeybot-3.11.0/regression/plan/reference/06-coverage/6J-sub.md +33 -0
  160. monkeybot-3.11.0/regression/plan/reference/06-coverage/6K-ver.md +39 -0
  161. monkeybot-3.11.0/regression/plan/reference/06-coverage/6L-sched.md +28 -0
  162. monkeybot-3.11.0/regression/plan/reference/06-coverage/6M-skill.md +20 -0
  163. monkeybot-3.11.0/regression/plan/reference/06-coverage/6N-mcp.md +26 -0
  164. monkeybot-3.11.0/regression/plan/reference/06-coverage/6O-web.md +14 -0
  165. monkeybot-3.11.0/regression/plan/reference/06-coverage/6P-mem.md +27 -0
  166. monkeybot-3.11.0/regression/plan/reference/06-coverage/6Q-store.md +42 -0
  167. monkeybot-3.11.0/regression/plan/reference/06-coverage/6R-cfg.md +23 -0
  168. monkeybot-3.11.0/regression/plan/reference/06-coverage/6S-todo.md +19 -0
  169. monkeybot-3.11.0/regression/plan/reference/06-coverage/6T-prov.md +30 -0
  170. monkeybot-3.11.0/regression/plan/reference/06-coverage/6U-gw.md +55 -0
  171. monkeybot-3.11.0/regression/plan/reference/06-coverage/6V-rt.md +20 -0
  172. monkeybot-3.11.0/regression/plan/reference/06-coverage/6W-ops.md +20 -0
  173. monkeybot-3.11.0/regression/plan/reference/07-migration-map.md +30 -0
  174. monkeybot-3.11.0/regression/plan/reference/09-ci.md +17 -0
  175. monkeybot-3.11.0/regression/plan/reference/10-policies.md +31 -0
  176. monkeybot-3.11.0/regression/plan/reference/11-known-issues.md +24 -0
  177. monkeybot-3.11.0/regression/plan/reference/12-decisions.md +20 -0
  178. monkeybot-3.11.0/regression/plan/reference/appendices.md +29 -0
  179. monkeybot-3.11.0/regression/plan/status.md +1170 -0
  180. monkeybot-3.11.0/regression/plan/tasks.md +71 -0
  181. monkeybot-3.11.0/regression/plugin.py +371 -0
  182. monkeybot-3.11.0/regression/schema/__init__.py +5 -0
  183. monkeybot-3.11.0/regression/schema/assertions.py +2238 -0
  184. monkeybot-3.11.0/regression/schema/events.py +170 -0
  185. monkeybot-3.11.0/regression/schema/invariants.py +286 -0
  186. monkeybot-3.11.0/regression/schema/scenario.py +342 -0
  187. monkeybot-3.11.0/regression/schema/sse_norm.py +100 -0
  188. monkeybot-3.11.0/regression/schema/steps.py +618 -0
  189. monkeybot-3.11.0/regression/selftest/__init__.py +1 -0
  190. monkeybot-3.11.0/regression/selftest/recorded/t4_run_smoke_sample.json +121 -0
  191. monkeybot-3.11.0/regression/selftest/test_agent_project.py +129 -0
  192. monkeybot-3.11.0/regression/selftest/test_assertions.py +1159 -0
  193. monkeybot-3.11.0/regression/selftest/test_bundle_order.py +34 -0
  194. monkeybot-3.11.0/regression/selftest/test_coding_hard_oracle.py +257 -0
  195. monkeybot-3.11.0/regression/selftest/test_diff.py +72 -0
  196. monkeybot-3.11.0/regression/selftest/test_fixtures.py +368 -0
  197. monkeybot-3.11.0/regression/selftest/test_from_transcript.py +598 -0
  198. monkeybot-3.11.0/regression/selftest/test_gateway_driver.py +125 -0
  199. monkeybot-3.11.0/regression/selftest/test_invariants.py +231 -0
  200. monkeybot-3.11.0/regression/selftest/test_judge.py +87 -0
  201. monkeybot-3.11.0/regression/selftest/test_live_engine.py +620 -0
  202. monkeybot-3.11.0/regression/selftest/test_live_ledger.py +252 -0
  203. monkeybot-3.11.0/regression/selftest/test_live_scenarios.py +129 -0
  204. monkeybot-3.11.0/regression/selftest/test_preflight.py +353 -0
  205. monkeybot-3.11.0/regression/selftest/test_report.py +264 -0
  206. monkeybot-3.11.0/regression/selftest/test_runner_sse.py +321 -0
  207. monkeybot-3.11.0/regression/selftest/test_scenario_schema.py +877 -0
  208. monkeybot-3.11.0/regression/selftest/test_scorer.py +38 -0
  209. monkeybot-3.11.0/regression/selftest/test_steps.py +435 -0
  210. monkeybot-3.11.0/regression/selftest/test_trials_stats.py +540 -0
  211. monkeybot-3.11.0/regression/t2/gateway/harness.py +207 -0
  212. monkeybot-3.11.0/regression/t2/gateway/scenarios/gw/reconnect_last_event_id.yaml +24 -0
  213. monkeybot-3.11.0/regression/t2/gateway/scenarios/gw/scripted_turn_golden_sse.yaml +16 -0
  214. monkeybot-3.11.0/regression/t2/gateway/scenarios/gw/tool_turn_golden_sse.yaml +25 -0
  215. monkeybot-3.11.0/regression/t2/gateway/test_cases.py +1246 -0
  216. monkeybot-3.11.0/regression/t2/loop/scenarios/attachments/attachment_symlink_leaf_rejected.yaml +30 -0
  217. monkeybot-3.11.0/regression/t2/loop/scenarios/attachments/freeze_descriptors_in_history.yaml +38 -0
  218. monkeybot-3.11.0/regression/t2/loop/scenarios/attachments/load_both_args.yaml +30 -0
  219. monkeybot-3.11.0/regression/t2/loop/scenarios/attachments/load_image_preview.yaml +21 -0
  220. monkeybot-3.11.0/regression/t2/loop/scenarios/attachments/load_pdf.yaml +34 -0
  221. monkeybot-3.11.0/regression/t2/loop/scenarios/attachments/load_per_reply_cap.yaml +72 -0
  222. monkeybot-3.11.0/regression/t2/loop/scenarios/attachments/load_text_rejected.yaml +30 -0
  223. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/compaction_forgets_reads.yaml +67 -0
  224. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/fix_failing_test.yaml +53 -0
  225. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_background_verify_not_counted.yaml +49 -0
  226. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_cap_then_accept.yaml +38 -0
  227. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_custom_verify_commands.yaml +66 -0
  228. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_masked_exit.yaml +61 -0
  229. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_non_executing_wrapper.yaml +73 -0
  230. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_open_todos_reject.yaml +42 -0
  231. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_passes_when_verified.yaml +50 -0
  232. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_question_not_gated.yaml +22 -0
  233. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_rejected_answer_not_persisted.yaml +42 -0
  234. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_rejects_unverified.yaml +61 -0
  235. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/gate_write_after_verify.yaml +58 -0
  236. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/git_context_absent.yaml +24 -0
  237. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/git_context_note.yaml +27 -0
  238. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/git_env_isolation.yaml +34 -0
  239. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/read_before_write.yaml +67 -0
  240. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/subagent_has_ledger_no_gate.yaml +48 -0
  241. monkeybot-3.11.0/regression/t2/loop/scenarios/coding/subagent_ledger_child.yml +18 -0
  242. monkeybot-3.11.0/regression/t2/loop/scenarios/computer/clipboard_cap.yaml +47 -0
  243. monkeybot-3.11.0/regression/t2/loop/scenarios/computer/denied_apps_and_schemes.yaml +59 -0
  244. monkeybot-3.11.0/regression/t2/loop/scenarios/computer/denied_dirs_and_globs.yaml +225 -0
  245. monkeybot-3.11.0/regression/t2/loop/scenarios/computer/move_trash_not_always_scoped.yaml +58 -0
  246. monkeybot-3.11.0/regression/t2/loop/scenarios/computer/open_exec_suffix_denied.yaml +35 -0
  247. monkeybot-3.11.0/regression/t2/loop/scenarios/computer/trash_huge_tree_refused.yaml +42 -0
  248. monkeybot-3.11.0/regression/t2/loop/scenarios/computer/x.sh +3 -0
  249. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/background_summary_applied.yaml +58 -0
  250. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/background_summary_stale_fallback.yaml +78 -0
  251. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/base64_sanitized.yaml +30 -0
  252. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/compact_at_trigger.yaml +45 -0
  253. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/compact_does_not_persist_repairs.yaml +59 -0
  254. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/compact_fallback.yaml +20042 -0
  255. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/compact_keep_tail_ratio.yaml +55 -0
  256. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/compact_pins_verdict_attachment_thinking.yaml +59 -0
  257. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/compact_trailer_from_goal_ledger.yaml +43 -0
  258. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/context_usage_current_not_peak.yaml +59 -0
  259. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/epoch_after_compaction.yaml +45 -0
  260. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/epoch_stable_change.yaml +43 -0
  261. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/epoch_volatile_update.yaml +53 -0
  262. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/memory_wake_up_large.yaml +19 -0
  263. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/project_instructions_spoof_heading.yaml +22 -0
  264. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/slash_skill_turn_scoped.yaml +17 -0
  265. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/stable_prefix_byte_stable.yaml +61 -0
  266. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/summarizer_model_override.yaml +42 -0
  267. monkeybot-3.11.0/regression/t2/loop/scenarios/ctx/tool_result_shaping_under_pressure.yaml +66 -0
  268. monkeybot-3.11.0/regression/t2/loop/scenarios/file/glob_cap_incomplete.yaml +30 -0
  269. monkeybot-3.11.0/regression/t2/loop/scenarios/file/glob_skips_noise.yaml +34 -0
  270. monkeybot-3.11.0/regression/t2/loop/scenarios/file/grep_gitignore_default.yaml +57 -0
  271. monkeybot-3.11.0/regression/t2/loop/scenarios/file/grep_incomplete_scan.yaml +29 -0
  272. monkeybot-3.11.0/regression/t2/loop/scenarios/file/grep_invalid_regex.yaml +23 -0
  273. monkeybot-3.11.0/regression/t2/loop/scenarios/file/grep_pagination.yaml +54 -0
  274. monkeybot-3.11.0/regression/t2/loop/scenarios/file/list_dir_truncate.yaml +25 -0
  275. monkeybot-3.11.0/regression/t2/loop/scenarios/file/overwrite_unread_rejected.yaml +26 -0
  276. monkeybot-3.11.0/regression/t2/loop/scenarios/file/patch_add_existing.yaml +29 -0
  277. monkeybot-3.11.0/regression/t2/loop/scenarios/file/patch_fail_closed.yaml +47 -0
  278. monkeybot-3.11.0/regression/t2/loop/scenarios/file/patch_move_dest_exists.yaml +39 -0
  279. monkeybot-3.11.0/regression/t2/loop/scenarios/file/patch_rollback.yaml +44 -0
  280. monkeybot-3.11.0/regression/t2/loop/scenarios/file/patch_update_requires_read.yaml +41 -0
  281. monkeybot-3.11.0/regression/t2/loop/scenarios/file/read_absolute_needs_grant.yaml +27 -0
  282. monkeybot-3.11.0/regression/t2/loop/scenarios/file/read_escape_dotdot.yaml +27 -0
  283. monkeybot-3.11.0/regression/t2/loop/scenarios/file/read_escape_symlink.yaml +27 -0
  284. monkeybot-3.11.0/regression/t2/loop/scenarios/file/read_huge_single_line.yaml +34 -0
  285. monkeybot-3.11.0/regression/t2/loop/scenarios/file/read_offset_past_eof.yaml +28 -0
  286. monkeybot-3.11.0/regression/t2/loop/scenarios/file/read_paging_no_gap.yaml +36 -0
  287. monkeybot-3.11.0/regression/t2/loop/scenarios/file/replace_error_codes.yaml +67 -0
  288. monkeybot-3.11.0/regression/t2/loop/scenarios/file/replace_fuzzy_unicode.yaml +35 -0
  289. monkeybot-3.11.0/regression/t2/loop/scenarios/file/skills_read_only.yaml +26 -0
  290. monkeybot-3.11.0/regression/t2/loop/scenarios/file/spill_large_tool_output.yaml +37 -0
  291. monkeybot-3.11.0/regression/t2/loop/scenarios/file/spill_session_id_sanitized.yaml +31 -0
  292. monkeybot-3.11.0/regression/t2/loop/scenarios/file/stale_read_rejected.yaml +53 -0
  293. monkeybot-3.11.0/regression/t2/loop/scenarios/file/tool_glob_grep.yaml +28 -0
  294. monkeybot-3.11.0/regression/t2/loop/scenarios/file/tool_read.yaml +25 -0
  295. monkeybot-3.11.0/regression/t2/loop/scenarios/file/tool_replace_apply_patch.yaml +49 -0
  296. monkeybot-3.11.0/regression/t2/loop/scenarios/file/tool_write.yaml +37 -0
  297. monkeybot-3.11.0/regression/t2/loop/scenarios/file/virtual_mounts.yaml +66 -0
  298. monkeybot-3.11.0/regression/t2/loop/scenarios/file/write_new_without_read_ok.yaml +30 -0
  299. monkeybot-3.11.0/regression/t2/loop/scenarios/file/write_outside_scope.yaml +35 -0
  300. monkeybot-3.11.0/regression/t2/loop/scenarios/file/write_payload_too_large.yaml +29 -0
  301. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/evidence_grep_only_not_accepted.yaml +39 -0
  302. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/evidence_missing_path.yaml +42 -0
  303. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/evidence_thread_isolation.yaml +44 -0
  304. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/evidence_unread_then_read.yaml +50 -0
  305. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/secret_ends_routine_turn.yaml +34 -0
  306. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/secret_in_tool_args.yaml +32 -0
  307. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/secret_redacted_interactive.yaml +32 -0
  308. monkeybot-3.11.0/regression/t2/loop/scenarios/hook/secret_scanner_failure_fails_closed.yaml +35 -0
  309. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/all_parse_error_batch_rejected.yaml +38 -0
  310. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/ask_user_non_interactive.yaml +30 -0
  311. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/ask_user_roundtrip.yaml +42 -0
  312. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/background_check_raises_fails_closed.yaml +24 -0
  313. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/background_nudge_then_release.yaml +48 -0
  314. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/background_nudges_exhausted.yaml +47 -0
  315. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/cancel_after_tool_call_before_execute.yaml +33 -0
  316. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/cancel_mid_stream.yaml +33 -0
  317. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/confirm_always_remembered.yaml +55 -0
  318. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/confirm_approve.yaml +38 -0
  319. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/confirm_deny.yaml +36 -0
  320. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/confirm_timeout.yaml +38 -0
  321. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/doom_disabled.yaml +48 -0
  322. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/doom_exempt_poll.yaml +58 -0
  323. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/doom_identical_read.yaml +40 -0
  324. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/doom_path_reset_on_success.yaml +53 -0
  325. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/doom_path_retry_spelling.yaml +44 -0
  326. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/empty_exhausted.yaml +22 -0
  327. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/empty_then_text.yaml +22 -0
  328. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/grounding_event_passthrough.yaml +28 -0
  329. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/max_turns_cap.yaml +31 -0
  330. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/max_turns_not_on_clean_finish.yaml +27 -0
  331. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/mixed_parse_error_batch_runs_valid.yaml +37 -0
  332. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/parallel_concurrency_cap.yaml +91 -0
  333. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/parallel_results_in_submission_order.yaml +52 -0
  334. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/post_tool_empty_retry.yaml +32 -0
  335. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/promote_follow_up_provenance.yaml +49 -0
  336. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/provider_raises.yaml +25 -0
  337. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/registry_refresh_same_turn.yaml +38 -0
  338. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/repair_missing_tool_result.yaml +35 -0
  339. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/repair_orphan_tool_response.yaml +39 -0
  340. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/resume_thinking_budget_routine.yaml +36 -0
  341. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/steer_mid_turn.yaml +35 -0
  342. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/thinking_block_order.yaml +32 -0
  343. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/thinking_only_is_empty.yaml +25 -0
  344. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/thought_signature_preserved.yaml +26 -0
  345. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/tool_input_delta_passthrough.yaml +37 -0
  346. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/truncated_batch_rejected.yaml +41 -0
  347. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/turn_completion.yaml +14 -0
  348. monkeybot-3.11.0/regression/t2/loop/scenarios/loop/usage_totals.yaml +28 -0
  349. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/autoconnect_failure_is_status.yaml +38 -0
  350. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/catalog_diff_reload.yaml +97 -0
  351. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/disable_removes_tools.yaml +35 -0
  352. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/disabled_server_not_catalogued.yaml +37 -0
  353. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/enable_then_call.yaml +47 -0
  354. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/enable_unknown_server.yaml +31 -0
  355. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/env_interpolation_missing.yaml +42 -0
  356. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/meta_tools_only_when_connected.yaml +42 -0
  357. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/name_prefix_split.yaml +36 -0
  358. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/resources_and_prompts.yaml +76 -0
  359. monkeybot-3.11.0/regression/t2/loop/scenarios/mcp/strict_load_rolls_back.yaml +27 -0
  360. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/ephemeral_palace_shared_outbox_rejected.yaml +23 -0
  361. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/memory_off.yaml +47 -0
  362. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/memory_write_inject.yaml +18 -0
  363. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/mempalace_search_real.yaml +43 -0
  364. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/outbox_failure_does_not_fail_turn.yaml +26 -0
  365. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/outbox_ingest_then_inject.yaml +27 -0
  366. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/outbox_thread_isolation.yaml +35 -0
  367. monkeybot-3.11.0/regression/t2/loop/scenarios/memory/subagent_no_ingest.yaml +31 -0
  368. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/command_grant_from_store.yaml +33 -0
  369. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/default_deny_patterns.yaml +71 -0
  370. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/grant_revocation_clears.yaml +52 -0
  371. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/granted_folder_credential_denied.yaml +55 -0
  372. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/path_grant_read.yaml +52 -0
  373. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/permissions_last_match_wins.yaml +44 -0
  374. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/permissions_missing_file_fail_open.yaml +34 -0
  375. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/start_loop_always_confirms.yaml +65 -0
  376. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/symlink_in_grant_does_not_widen.yaml +31 -0
  377. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/unknown_binary_confirm_approve.yaml +39 -0
  378. monkeybot-3.11.0/regression/t2/loop/scenarios/policy/unknown_binary_confirm_deny.yaml +42 -0
  379. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/create_goal_requires_slash_goal.yaml +31 -0
  380. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/create_goal_with_slash_goal.yaml +31 -0
  381. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/enable_loops_progressive.yaml +59 -0
  382. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/loop_goal_isolation.yaml +33 -0
  383. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/loop_lifecycle_real_store.yaml +96 -0
  384. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/one_open_goal_per_session.yaml +46 -0
  385. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/start_loop_requires_stop_guard.yaml +37 -0
  386. monkeybot-3.11.0/regression/t2/loop/scenarios/scheduler/tool_loops.yaml +28 -0
  387. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/allowlist_deny.yaml +33 -0
  388. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/argv_forms.yaml +59 -0
  389. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/bg_job_cap.yaml +54 -0
  390. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/bg_kill_command.yaml +51 -0
  391. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/bg_killed_at_turn_end.yaml +50 -0
  392. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/bg_start_await_cursor.yaml +61 -0
  393. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/cwd_escape.yaml +26 -0
  394. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/home_escape.yaml +41 -0
  395. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/large_stdout_spill_keeps_exit.yaml +29 -0
  396. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/mempalace_refused_memory_off.yaml +34 -0
  397. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/mempalace_search_only.yaml +83 -0
  398. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/nonzero_exit.yaml +29 -0
  399. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/run_command.yaml +21 -0
  400. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/shell_wrapper_bypass.yaml +31 -0
  401. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/timeout_partial_output.yaml +71 -0
  402. monkeybot-3.11.0/regression/t2/loop/scenarios/shell/unscreenable_script_fails_closed.yaml +32 -0
  403. monkeybot-3.11.0/regression/t2/loop/scenarios/skills/list_then_read_skill.yaml +37 -0
  404. monkeybot-3.11.0/regression/t2/loop/scenarios/skills/skill_symlink_escape.yaml +27 -0
  405. monkeybot-3.11.0/regression/t2/loop/scenarios/skills/skill_write_denied.yaml +64 -0
  406. monkeybot-3.11.0/regression/t2/loop/scenarios/skills/skills_in_prompt.yaml +21 -0
  407. monkeybot-3.11.0/regression/t2/loop/scenarios/skills/skills_path_hot_reload.yaml +37 -0
  408. monkeybot-3.11.0/regression/t2/loop/scenarios/skills/slash_unknown_skill.yaml +23 -0
  409. monkeybot-3.11.0/regression/t2/loop/scenarios/store/compaction_reset_row_ids.yaml +45 -0
  410. monkeybot-3.11.0/regression/t2/loop/scenarios/store/transcript_convertible.yaml +35 -0
  411. monkeybot-3.11.0/regression/t2/loop/scenarios/store/usage_recorded_on_turn_complete.yaml +27 -0
  412. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/child_errors_record_failed.yaml +36 -0
  413. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/child_memory_read_only.yaml +40 -0
  414. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/expect_files_absent.yaml +34 -0
  415. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/expect_files_escape.yaml +38 -0
  416. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/expect_files_present.yaml +37 -0
  417. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/large_ndjson_line.yaml +39 -0
  418. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/ledger_context_forwarded.yaml +29 -0
  419. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/nested_task_refused.yaml +35 -0
  420. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/parallel_task_cap.yaml +89 -0
  421. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/parent_cancel.yaml +36 -0
  422. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/persona_applied.yaml +43 -0
  423. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/queue_pending_not_success.yaml +33 -0
  424. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/subagent_roundtrip.yaml +50 -0
  425. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/subagent_timeout.yaml +43 -0
  426. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/system_prompt_redacted_on_pipe.yaml +36 -0
  427. monkeybot-3.11.0/regression/t2/loop/scenarios/subagents/unknown_subagent_type.yaml +37 -0
  428. monkeybot-3.11.0/regression/t2/loop/scenarios/todo/caps.yaml +98 -0
  429. monkeybot-3.11.0/regression/t2/loop/scenarios/todo/ids_stable.yaml +58 -0
  430. monkeybot-3.11.0/regression/t2/loop/scenarios/todo/mirror_hydrate.yaml +37 -0
  431. monkeybot-3.11.0/regression/t2/loop/scenarios/todo/reminder_once.yaml +147 -0
  432. monkeybot-3.11.0/regression/t2/loop/scenarios/todo/single_in_progress.yaml +46 -0
  433. monkeybot-3.11.0/regression/t2/loop/scenarios/todo/todo_list.yaml +22 -0
  434. monkeybot-3.11.0/regression/t2/loop/scenarios/todo/todo_list_steps.yaml +67 -0
  435. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/block_denies_mutating_tools.yaml +79 -0
  436. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/constraint_touch_negative.yaml +49 -0
  437. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/constraint_touch_positive.yaml +54 -0
  438. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/done_unmet_positive.yaml +45 -0
  439. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/error_streak_negative.yaml +42 -0
  440. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/error_streak_positive.yaml +61 -0
  441. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/free_text_constraint_never_matches.yaml +62 -0
  442. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/judge_malformed_fails_open.yaml +64 -0
  443. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/judge_rate_limits.yaml +66 -0
  444. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/judge_replay_valid.yaml +79 -0
  445. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/judge_spend_ratio.yaml +73 -0
  446. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/mailbox_stale_checkpoint_dropped.yaml +62 -0
  447. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/min_turn_before_verdict.yaml +74 -0
  448. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/no_progress_budget_burn_not_mailboxed.yaml +60 -0
  449. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/preempt_negative.yaml +39 -0
  450. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/repeat_correction_positive.yaml +58 -0
  451. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/replan_one_turn.yaml +63 -0
  452. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/rewrite_churn_positive.yaml +70 -0
  453. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/rewrite_effects_branch_copy.yaml +36 -0
  454. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/severity_cap_nudge.yaml +80 -0
  455. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/sticky_nudge.yaml +72 -0
  456. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/supersession_negative.yaml +39 -0
  457. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/verdict_in_history_stripped_for_provider.yaml +62 -0
  458. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/verifier_off_no_effect.yaml +35 -0
  459. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/write_without_read_negative.yaml +43 -0
  460. monkeybot-3.11.0/regression/t2/loop/scenarios/verifier/write_without_read_positive.yaml +65 -0
  461. monkeybot-3.11.0/regression/t2/loop/scenarios/web/backend_none_not_advertised.yaml +25 -0
  462. monkeybot-3.11.0/regression/t2/loop/scenarios/web/browser_mcp.json +13 -0
  463. monkeybot-3.11.0/regression/t2/loop/scenarios/web/browser_stop_on_disconnect.yaml +38 -0
  464. monkeybot-3.11.0/regression/t2/loop/scenarios/web/browser_stop_server.py +30 -0
  465. monkeybot-3.11.0/regression/t2/loop/scenarios/web/empty_query.yaml +32 -0
  466. monkeybot-3.11.0/regression/t2/loop/scenarios/web/max_results.yaml +31 -0
  467. monkeybot-3.11.0/regression/t2/loop/scenarios/web/web_search.yaml +37 -0
  468. monkeybot-3.11.0/regression/t2/python/test_drift_confusion_matrix.py +150 -0
  469. monkeybot-3.11.0/regression/t2/python/test_e2e_simple_reply.py +118 -0
  470. monkeybot-3.11.0/regression/t2/python/test_grep_parity.py +56 -0
  471. monkeybot-3.11.0/regression/t2/python/test_hooks_lifecycle.py +250 -0
  472. monkeybot-3.11.0/regression/t2/python/test_jail.py +93 -0
  473. monkeybot-3.11.0/regression/t2/python/test_memory_commit.py +70 -0
  474. monkeybot-3.11.0/regression/t2/python/test_observability_acceptance.py +252 -0
  475. monkeybot-3.11.0/regression/t2/python/test_observability_integration.py +403 -0
  476. monkeybot-3.11.0/regression/t2/python/test_ops_cli.py +283 -0
  477. monkeybot-3.11.0/regression/t2/python/test_ops_observability.py +245 -0
  478. monkeybot-3.11.0/regression/t2/python/test_prompt_caching_integration.py +142 -0
  479. monkeybot-3.11.0/regression/t2/python/test_scheduler_engine.py +389 -0
  480. monkeybot-3.11.0/regression/t2/python/test_sse_stream_pressure.py +100 -0
  481. monkeybot-3.11.0/regression/t2/python/test_subagent_worker_pool.py +155 -0
  482. monkeybot-3.11.0/regression/t2/realtime/scenarios/ws_blocks_history_rewrite.yaml +17 -0
  483. monkeybot-3.11.0/regression/t2/realtime/scenarios/ws_guardrail_budget.yaml +21 -0
  484. monkeybot-3.11.0/regression/t2/realtime/scenarios/ws_interrupt.yaml +33 -0
  485. monkeybot-3.11.0/regression/t2/realtime/scenarios/ws_slot_limit.yaml +23 -0
  486. monkeybot-3.11.0/regression/t2/realtime/scenarios/ws_text_turn.yaml +32 -0
  487. monkeybot-3.11.0/regression/t2/realtime/scenarios/ws_tool_confirmation.yaml +41 -0
  488. monkeybot-3.11.0/regression/t2/realtime/scenarios/ws_tool_turn.yaml +32 -0
  489. monkeybot-3.11.0/regression/t3/__init__.py +1 -0
  490. monkeybot-3.11.0/regression/t3/mcp/tools_list_call.json +110 -0
  491. monkeybot-3.11.0/regression/t3/memory/wake_up_snapshot.json +107 -0
  492. monkeybot-3.11.0/regression/t3/sse/basic_turn.sse +26 -0
  493. monkeybot-3.11.0/regression/t3/sse/cassette_turn.sse +56 -0
  494. monkeybot-3.11.0/regression/t3/sse/tool_turn.sse +47 -0
  495. monkeybot-3.11.0/regression/t3/subagents/child_tape.ndjson +9 -0
  496. monkeybot-3.11.0/regression/t3/test_golden_sse.py +152 -0
  497. monkeybot-3.11.0/regression/t3/test_replay_mcp.py +261 -0
  498. monkeybot-3.11.0/regression/t3/test_replay_subagent_tape.py +191 -0
  499. monkeybot-3.11.0/regression/t3/test_replay_trajectories.py +252 -0
  500. monkeybot-3.11.0/regression/t3/test_replay_wake_up.py +237 -0
  501. monkeybot-3.11.0/regression/t3/test_replay_wire.py +157 -0
  502. monkeybot-3.11.0/regression/t3/tools/__init__.py +1 -0
  503. monkeybot-3.11.0/regression/t3/tools/cassette.py +248 -0
  504. monkeybot-3.11.0/regression/t3/tools/check_staleness.py +94 -0
  505. monkeybot-3.11.0/regression/t3/tools/from_transcript.py +511 -0
  506. monkeybot-3.11.0/regression/t3/tools/record_wire.py +498 -0
  507. monkeybot-3.11.0/regression/t3/trajectories/ctx/replay_live_compaction.cassette.json +4622 -0
  508. monkeybot-3.11.0/regression/t3/trajectories/ctx/replay_live_compaction.yaml +41 -0
  509. monkeybot-3.11.0/regression/t3/trajectories/loop/replay_live_doom_loop.cassette.json +198 -0
  510. monkeybot-3.11.0/regression/t3/trajectories/loop/replay_live_doom_loop.yaml +31 -0
  511. monkeybot-3.11.0/regression/t3/trajectories/loop/replay_live_truncation.cassette.json +65 -0
  512. monkeybot-3.11.0/regression/t3/trajectories/loop/replay_live_truncation.yaml +30 -0
  513. monkeybot-3.11.0/regression/t3/trajectories/shell/replay_live_pytest_run.cassette.json +895 -0
  514. monkeybot-3.11.0/regression/t3/trajectories/shell/replay_live_pytest_run.yaml +21 -0
  515. monkeybot-3.11.0/regression/t3/trajectories/verifier/replay_drift_tape.cassette.json +434 -0
  516. monkeybot-3.11.0/regression/t3/trajectories/verifier/replay_drift_tape.yaml +45 -0
  517. monkeybot-3.11.0/regression/t3/wire/ollama_cloud/glm_tool_turn.json +137 -0
  518. monkeybot-3.11.0/regression/t3/wire/ollama_cloud/thinking_only_completion.json +151 -0
  519. monkeybot-3.11.0/regression/t4/__init__.py +1 -0
  520. monkeybot-3.11.0/regression/t4/__main__.py +8 -0
  521. monkeybot-3.11.0/regression/t4/agent/memory/.embedder_identity +1 -0
  522. monkeybot-3.11.0/regression/t4/agent/memory/.embedding-migrate.lock +0 -0
  523. monkeybot-3.11.0/regression/t4/agent/memory/.palace_id +1 -0
  524. monkeybot-3.11.0/regression/t4/agent/memory/.palace_write.lock +0 -0
  525. monkeybot-3.11.0/regression/t4/agent/memory/2d1891d4-34d0-43bd-8eea-2fb73026046b/data_level0.bin +0 -0
  526. monkeybot-3.11.0/regression/t4/agent/memory/2d1891d4-34d0-43bd-8eea-2fb73026046b/header.bin +0 -0
  527. monkeybot-3.11.0/regression/t4/agent/memory/2d1891d4-34d0-43bd-8eea-2fb73026046b/length.bin +0 -0
  528. monkeybot-3.11.0/regression/t4/agent/memory/2d1891d4-34d0-43bd-8eea-2fb73026046b/link_lists.bin +0 -0
  529. monkeybot-3.11.0/regression/t4/agent/memory/identity.txt +3 -0
  530. monkeybot-3.11.0/regression/t4/agent/memory/mempalace_embedder.json +6 -0
  531. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/.t4-gateway-993b836fb2a9.yaml +31 -0
  532. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/AGENT.researcher.md +3 -0
  533. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/grants.json +14 -0
  534. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/mcp.json +12 -0
  535. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/mcp.progressive.json +12 -0
  536. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/monkeybot.coding.yaml +56 -0
  537. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/monkeybot.verifier-judge.yaml +55 -0
  538. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/monkeybot.verifier-tracker.yaml +54 -0
  539. monkeybot-3.11.0/regression/t4/agent/monkeybot_config/monkeybot.yaml +40 -0
  540. monkeybot-3.11.0/regression/t4/agent/pyproject.toml +19 -0
  541. monkeybot-3.11.0/regression/t4/agent/uv.lock +4078 -0
  542. monkeybot-3.11.0/regression/t4/assertions.py +509 -0
  543. monkeybot-3.11.0/regression/t4/baselines/smoke.md +55 -0
  544. monkeybot-3.11.0/regression/t4/conftest.py +2 -0
  545. monkeybot-3.11.0/regression/t4/diff.py +127 -0
  546. monkeybot-3.11.0/regression/t4/eval_config.yaml +4 -0
  547. monkeybot-3.11.0/regression/t4/gateway.py +451 -0
  548. monkeybot-3.11.0/regression/t4/models.py +189 -0
  549. monkeybot-3.11.0/regression/t4/persistence.py +196 -0
  550. monkeybot-3.11.0/regression/t4/preflight.py +249 -0
  551. monkeybot-3.11.0/regression/t4/python/__init__.py +1 -0
  552. monkeybot-3.11.0/regression/t4/python/test_docker_image_health.py +108 -0
  553. monkeybot-3.11.0/regression/t4/python/test_provider_live_matrix.py +164 -0
  554. monkeybot-3.11.0/regression/t4/report.py +607 -0
  555. monkeybot-3.11.0/regression/t4/runner.py +817 -0
  556. monkeybot-3.11.0/regression/t4/scenario_loader.py +234 -0
  557. monkeybot-3.11.0/regression/t4/scenarios/attachments/describe_image_live.yaml +14 -0
  558. monkeybot-3.11.0/regression/t4/scenarios/coding/add_feature_with_tests.yaml +21 -0
  559. monkeybot-3.11.0/regression/t4/scenarios/coding/fix_failing_test.yaml +18 -0
  560. monkeybot-3.11.0/regression/t4/scenarios/coding/navigate_repo.yaml +19 -0
  561. monkeybot-3.11.0/regression/t4/scenarios/coding_hard/add_bulk_discount.yaml +24 -0
  562. monkeybot-3.11.0/regression/t4/scenarios/coding_hard/fix_discount_rounding.yaml +19 -0
  563. monkeybot-3.11.0/regression/t4/scenarios/coding_hard/honest_unfixable_failure.yaml +17 -0
  564. monkeybot-3.11.0/regression/t4/scenarios/coding_hard/multi_feature_long.yaml +26 -0
  565. monkeybot-3.11.0/regression/t4/scenarios/coding_hard/navigate_intl_rate.yaml +16 -0
  566. monkeybot-3.11.0/regression/t4/scenarios/coding_hard/noisy_test_failure.yaml +18 -0
  567. monkeybot-3.11.0/regression/t4/scenarios/coding_hard/rename_calc_tax.yaml +19 -0
  568. monkeybot-3.11.0/regression/t4/scenarios/config/reload_memory_off_live.yaml +18 -0
  569. monkeybot-3.11.0/regression/t4/scenarios/context/post_compaction_continuity.yaml +35 -0
  570. monkeybot-3.11.0/regression/t4/scenarios/context/summarization_trigger.yaml +51 -0
  571. monkeybot-3.11.0/regression/t4/scenarios/drift/declares_done.yaml +23 -0
  572. monkeybot-3.11.0/regression/t4/scenarios/drift/path_constraint.yaml +28 -0
  573. monkeybot-3.11.0/regression/t4/scenarios/drift/preempt.yaml +22 -0
  574. monkeybot-3.11.0/regression/t4/scenarios/drift/repeat_correction.yaml +23 -0
  575. monkeybot-3.11.0/regression/t4/scenarios/drift/supersession.yaml +21 -0
  576. monkeybot-3.11.0/regression/t4/scenarios/file/core_read.yaml +13 -0
  577. monkeybot-3.11.0/regression/t4/scenarios/file/core_read_error.yaml +13 -0
  578. monkeybot-3.11.0/regression/t4/scenarios/file/core_write.yaml +13 -0
  579. monkeybot-3.11.0/regression/t4/scenarios/file/grep_absence_honesty.yaml +24 -0
  580. monkeybot-3.11.0/regression/t4/scenarios/gateway/live_resume.yaml +17 -0
  581. monkeybot-3.11.0/regression/t4/scenarios/hooks/evidence_citation_live.yaml +15 -0
  582. monkeybot-3.11.0/regression/t4/scenarios/mcp/enable_then_echo_live.yaml +19 -0
  583. monkeybot-3.11.0/regression/t4/scenarios/mcp/get_prompt.yaml +15 -0
  584. monkeybot-3.11.0/regression/t4/scenarios/mcp/list_resources.yaml +15 -0
  585. monkeybot-3.11.0/regression/t4/scenarios/mcp/tool_invoke.yaml +15 -0
  586. monkeybot-3.11.0/regression/t4/scenarios/memory/recall_cross_session.yaml +15 -0
  587. monkeybot-3.11.0/regression/t4/scenarios/memory/recall_single_session.yaml +14 -0
  588. monkeybot-3.11.0/regression/t4/scenarios/memory/search_past_session.yaml +19 -0
  589. monkeybot-3.11.0/regression/t4/scenarios/multi_turn/task_tracking.yaml +14 -0
  590. monkeybot-3.11.0/regression/t4/scenarios/scheduler/http_one_tick_live.yaml +18 -0
  591. monkeybot-3.11.0/regression/t4/scenarios/scheduler/model_starts_loop.yaml +20 -0
  592. monkeybot-3.11.0/regression/t4/scenarios/shell/core_run_command.yaml +14 -0
  593. monkeybot-3.11.0/regression/t4/scenarios/shell/core_run_command_sandbox.yaml +23 -0
  594. monkeybot-3.11.0/regression/t4/scenarios/skills/skill_invocation.yaml +14 -0
  595. monkeybot-3.11.0/regression/t4/scenarios/subagents/dispatch_complete.yaml +12 -0
  596. monkeybot-3.11.0/regression/t4/scenarios/subagents/persona_dispatch.yaml +22 -0
  597. monkeybot-3.11.0/regression/t4/score.py +383 -0
  598. monkeybot-3.11.0/regression/t4/suites/coding.yaml +15 -0
  599. monkeybot-3.11.0/regression/t4/suites/coding_hard.yaml +18 -0
  600. monkeybot-3.11.0/regression/t4/suites/context.yaml +14 -0
  601. monkeybot-3.11.0/regression/t4/suites/drift.yaml +17 -0
  602. monkeybot-3.11.0/regression/t4/suites/mcp.yaml +16 -0
  603. monkeybot-3.11.0/regression/t4/suites/memory.yaml +13 -0
  604. monkeybot-3.11.0/regression/t4/suites/nightly.yaml +64 -0
  605. monkeybot-3.11.0/regression/t4/suites/scheduler.yaml +12 -0
  606. monkeybot-3.11.0/regression/t4/suites/smoke.yaml +26 -0
  607. monkeybot-3.11.0/regression/t4/suites/subagents.yaml +11 -0
  608. monkeybot-3.11.0/regression/t5/__init__.py +1 -0
  609. monkeybot-3.11.0/regression/t5/__main__.py +8 -0
  610. monkeybot-3.11.0/regression/t5/baselines/subagents__ollama-cloud__glm-5.3-flash.json +18 -0
  611. monkeybot-3.11.0/regression/t5/compare.py +124 -0
  612. monkeybot-3.11.0/regression/t5/parallel.py +210 -0
  613. monkeybot-3.11.0/regression/t5/python/test_cancel_storm.py +59 -0
  614. monkeybot-3.11.0/regression/t5/python/test_reconnect_storm.py +69 -0
  615. monkeybot-3.11.0/regression/t5/runs/coding.json +173 -0
  616. monkeybot-3.11.0/regression/t5/runs/mcp.json +468 -0
  617. monkeybot-3.11.0/regression/t5/runs/smoke.json +394 -0
  618. monkeybot-3.11.0/regression/t5/runs/subagents.json +216 -0
  619. monkeybot-3.11.0/regression/t5/stats.py +242 -0
  620. monkeybot-3.11.0/regression/t5/suites/capability.yaml +33 -0
  621. monkeybot-3.11.0/regression/t5/suites/drift.yaml +17 -0
  622. monkeybot-3.11.0/regression/t5/suites/reliability.yaml +15 -0
  623. monkeybot-3.11.0/regression/t5/trials.py +498 -0
  624. monkeybot-3.11.0/scripts/ci-local.sh +83 -0
  625. monkeybot-3.11.0/scripts/create_schema.py +82 -0
  626. monkeybot-3.11.0/scripts/precommit-pytest.sh +33 -0
  627. monkeybot-3.11.0/scripts/smoke_global_cli.sh +91 -0
  628. monkeybot-3.11.0/src/monkeybot/computer/permissions.py +224 -0
  629. monkeybot-3.11.0/src/monkeybot/core/bootstrap.py +315 -0
  630. monkeybot-3.11.0/src/monkeybot/core/coding/verification_gate.py +385 -0
  631. monkeybot-3.11.0/src/monkeybot/core/config/snapshot.py +1080 -0
  632. monkeybot-3.11.0/src/monkeybot/core/config/validation.py +302 -0
  633. monkeybot-3.11.0/src/monkeybot/core/context/__init__.py +1227 -0
  634. monkeybot-3.11.0/src/monkeybot/core/context/secret_egress.py +455 -0
  635. monkeybot-3.11.0/src/monkeybot/core/hooks/evidence_guard.py +302 -0
  636. monkeybot-3.11.0/src/monkeybot/core/layout.py +351 -0
  637. monkeybot-3.11.0/src/monkeybot/core/mcp/mcp_client.py +1730 -0
  638. monkeybot-3.11.0/src/monkeybot/core/mcp/ports_mcp.py +150 -0
  639. monkeybot-3.11.0/src/monkeybot/core/memory/migrate_embedding.py +328 -0
  640. monkeybot-3.11.0/src/monkeybot/core/memory/outbox.py +525 -0
  641. monkeybot-3.11.0/src/monkeybot/core/memory/palace.py +490 -0
  642. monkeybot-3.11.0/src/monkeybot/core/memory/subsystem.py +368 -0
  643. monkeybot-3.11.0/src/monkeybot/core/memory/writer.py +222 -0
  644. monkeybot-3.11.0/src/monkeybot/core/persistence/backends.py +334 -0
  645. monkeybot-3.11.0/src/monkeybot/core/persistence/durable_runs.py +376 -0
  646. monkeybot-3.11.0/src/monkeybot/core/persistence/firestore.py +1778 -0
  647. monkeybot-3.11.0/src/monkeybot/core/persistence/firestore_scheduled_loops.py +527 -0
  648. monkeybot-3.11.0/src/monkeybot/core/persistence/goal_ledger.py +556 -0
  649. monkeybot-3.11.0/src/monkeybot/core/persistence/postgres.py +2046 -0
  650. monkeybot-3.11.0/src/monkeybot/core/persistence/scheduled_loops.py +735 -0
  651. monkeybot-3.11.0/src/monkeybot/core/persistence/session_turn_locks.py +108 -0
  652. monkeybot-3.11.0/src/monkeybot/core/persistence/transcript.py +808 -0
  653. monkeybot-3.11.0/src/monkeybot/core/persistence/usage_buckets.py +77 -0
  654. monkeybot-3.11.0/src/monkeybot/core/prompts/harness_prompt.py +228 -0
  655. monkeybot-3.11.0/src/monkeybot/core/runtime/background_summary.py +424 -0
  656. monkeybot-3.11.0/src/monkeybot/core/runtime/chat_title.py +107 -0
  657. monkeybot-3.11.0/src/monkeybot/core/runtime/context_budget.py +256 -0
  658. monkeybot-3.11.0/src/monkeybot/core/runtime/history_compaction.py +872 -0
  659. monkeybot-3.11.0/src/monkeybot/core/runtime/realtime_loop.py +778 -0
  660. monkeybot-3.11.0/src/monkeybot/core/runtime/tool_dispatch.py +1198 -0
  661. monkeybot-3.11.0/src/monkeybot/core/runtime/turn_loop.py +2204 -0
  662. monkeybot-3.11.0/src/monkeybot/core/runtime/utterance_buffer.py +186 -0
  663. monkeybot-3.11.0/src/monkeybot/core/subagents/subagent_proto.py +388 -0
  664. monkeybot-3.11.0/src/monkeybot/core/subagents/subagent_worker.py +552 -0
  665. monkeybot-3.11.0/src/monkeybot/core/testing/mocks_provider.py +588 -0
  666. monkeybot-3.11.0/src/monkeybot/core/tools/core_tool_executor.py +3193 -0
  667. monkeybot-3.11.0/src/monkeybot/core/tools/fs_isolation.py +992 -0
  668. monkeybot-3.11.0/src/monkeybot/core/tools/grant_store.py +310 -0
  669. monkeybot-3.11.0/src/monkeybot/core/tools/inspector.py +656 -0
  670. monkeybot-3.11.0/src/monkeybot/core/tools/path_grant_inspector.py +116 -0
  671. monkeybot-3.11.0/src/monkeybot/core/tools/workspace_service.py +1974 -0
  672. monkeybot-3.11.0/src/monkeybot/core/verifier/classify.py +285 -0
  673. monkeybot-3.11.0/src/monkeybot/core/verifier/judge.py +588 -0
  674. monkeybot-3.11.0/src/monkeybot/core/verifier/ledger.py +574 -0
  675. monkeybot-3.11.0/src/monkeybot/core/verifier/mailbox.py +574 -0
  676. monkeybot-3.11.0/src/monkeybot/core/verifier/tracker.py +383 -0
  677. monkeybot-3.11.0/src/monkeybot/gateway/realtime/app.py +119 -0
  678. monkeybot-3.11.0/src/monkeybot/gateway/realtime/routes.py +1070 -0
  679. monkeybot-3.11.0/src/monkeybot/gateway/realtime/session.py +249 -0
  680. monkeybot-3.11.0/src/monkeybot/gateway/sse/app.py +1554 -0
  681. monkeybot-3.11.0/src/monkeybot/gateway/sse/models.py +302 -0
  682. monkeybot-3.11.0/src/monkeybot/gateway/sse/routes.py +1517 -0
  683. monkeybot-3.11.0/src/monkeybot/providers/_openai_compat.py +1744 -0
  684. monkeybot-3.11.0/src/monkeybot/providers/_stream_marks.py +108 -0
  685. monkeybot-3.11.0/src/monkeybot/providers/fireworks.py +135 -0
  686. monkeybot-3.11.0/src/monkeybot/providers/gemini.py +1036 -0
  687. monkeybot-3.11.0/src/monkeybot/providers/huggingface.py +157 -0
  688. monkeybot-3.11.0/src/monkeybot/providers/nvidia.py +132 -0
  689. monkeybot-3.11.0/src/monkeybot/providers/ollama.py +351 -0
  690. monkeybot-3.11.0/src/monkeybot/providers/openai.py +174 -0
  691. monkeybot-3.11.0/src/monkeybot/providers/openrouter.py +134 -0
  692. monkeybot-3.11.0/src/monkeybot/providers/pricing.py +400 -0
  693. monkeybot-3.11.0/src/monkeybot/scaffold/__init__.py +31 -0
  694. monkeybot-3.11.0/src/monkeybot/scheduler/engine.py +394 -0
  695. monkeybot-3.11.0/src/monkeybot/todo_list/__init__.py +44 -0
  696. monkeybot-3.11.0/src/monkeybot/todo_list/hook.py +97 -0
  697. monkeybot-3.11.0/src/monkeybot/todo_list/store.py +346 -0
  698. monkeybot-3.11.0/src/monkeybot/todo_list/tool.py +149 -0
  699. monkeybot-3.11.0/testkit/__init__.py +0 -0
  700. monkeybot-3.11.0/testkit/backends.py +68 -0
  701. monkeybot-3.11.0/testkit/clock.py +25 -0
  702. monkeybot-3.11.0/testkit/context.py +108 -0
  703. monkeybot-3.11.0/testkit/conversations.py +153 -0
  704. monkeybot-3.11.0/testkit/data/attachments/tiny.jpg +0 -0
  705. monkeybot-3.11.0/testkit/data/attachments/tiny.png +0 -0
  706. monkeybot-3.11.0/testkit/data/attachments/with-text.pdf +66 -0
  707. monkeybot-3.11.0/testkit/data/attachments/without-text.pdf +45 -0
  708. monkeybot-3.11.0/testkit/executors.py +75 -0
  709. monkeybot-3.11.0/testkit/failure_ledger.py +685 -0
  710. monkeybot-3.11.0/testkit/failures/__init__.py +0 -0
  711. monkeybot-3.11.0/testkit/failures/__main__.py +257 -0
  712. monkeybot-3.11.0/testkit/failures/catalog.py +281 -0
  713. monkeybot-3.11.0/testkit/failures/store.py +452 -0
  714. monkeybot-3.11.0/testkit/gateway.py +263 -0
  715. monkeybot-3.11.0/testkit/gateway_ports.py +54 -0
  716. monkeybot-3.11.0/testkit/history.py +61 -0
  717. monkeybot-3.11.0/testkit/hooks.py +48 -0
  718. monkeybot-3.11.0/testkit/inspectors.py +11 -0
  719. monkeybot-3.11.0/testkit/mcp.py +215 -0
  720. monkeybot-3.11.0/testkit/memory.py +44 -0
  721. monkeybot-3.11.0/testkit/palace.py +110 -0
  722. monkeybot-3.11.0/testkit/pending_bus.py +100 -0
  723. monkeybot-3.11.0/testkit/provider.py +183 -0
  724. monkeybot-3.11.0/testkit/py.typed +0 -0
  725. monkeybot-3.11.0/testkit/sandbox.py +96 -0
  726. monkeybot-3.11.0/testkit/scrub.py +85 -0
  727. monkeybot-3.11.0/testkit/sse.py +318 -0
  728. monkeybot-3.11.0/testkit/subagent_worker.py +261 -0
  729. monkeybot-3.11.0/testkit/verifier.py +339 -0
  730. monkeybot-3.11.0/testkit/web_search.py +47 -0
  731. monkeybot-3.11.0/tests/conftest.py +99 -0
  732. monkeybot-3.11.0/tests/contracts/__init__.py +1 -0
  733. monkeybot-3.11.0/tests/contracts/conftest.py +76 -0
  734. monkeybot-3.11.0/tests/contracts/goldens/prompts/harness_prompt.default.txt +51 -0
  735. monkeybot-3.11.0/tests/contracts/goldens/prompts/harness_prompt.emission_terse.txt +66 -0
  736. monkeybot-3.11.0/tests/contracts/goldens/prompts/harness_prompt.mcp_catalog.txt +52 -0
  737. monkeybot-3.11.0/tests/contracts/goldens/prompts/harness_prompt.memory_off.txt +51 -0
  738. monkeybot-3.11.0/tests/contracts/goldens/prompts/harness_prompt.sandbox_on.txt +51 -0
  739. monkeybot-3.11.0/tests/contracts/goldens/prompts/harness_prompt.task_terse.txt +74 -0
  740. monkeybot-3.11.0/tests/contracts/goldens/prompts/volatile_tail_parts.json +8 -0
  741. monkeybot-3.11.0/tests/contracts/goldens/routes.txt +53 -0
  742. monkeybot-3.11.0/tests/contracts/goldens/span_names.txt +41 -0
  743. monkeybot-3.11.0/tests/contracts/goldens/sse/schema.json +1270 -0
  744. monkeybot-3.11.0/tests/contracts/goldens/tool_error_codes.txt +43 -0
  745. monkeybot-3.11.0/tests/contracts/tables/config_precedence.yaml +116 -0
  746. monkeybot-3.11.0/tests/contracts/tables/policy_decisions.yaml +297 -0
  747. monkeybot-3.11.0/tests/contracts/tables/provider_error_mapping.yaml +28 -0
  748. monkeybot-3.11.0/tests/contracts/test_catalog_pairing.py +177 -0
  749. monkeybot-3.11.0/tests/contracts/test_config_matrix.py +214 -0
  750. monkeybot-3.11.0/tests/contracts/test_harness_prompt_golden.py +186 -0
  751. monkeybot-3.11.0/tests/contracts/test_migrations_replay.py +291 -0
  752. monkeybot-3.11.0/tests/contracts/test_policy_decision_table.py +220 -0
  753. monkeybot-3.11.0/tests/contracts/test_provider_conformance.py +1427 -0
  754. monkeybot-3.11.0/tests/contracts/test_realtime_divergence.py +122 -0
  755. monkeybot-3.11.0/tests/contracts/test_route_table.py +229 -0
  756. monkeybot-3.11.0/tests/contracts/test_scaffold_reexports.py +44 -0
  757. monkeybot-3.11.0/tests/contracts/test_span_names.py +143 -0
  758. monkeybot-3.11.0/tests/contracts/test_sse_schema.py +572 -0
  759. monkeybot-3.11.0/tests/contracts/test_storage_parity.py +503 -0
  760. monkeybot-3.11.0/tests/contracts/test_tool_error_catalog.py +254 -0
  761. monkeybot-3.11.0/tests/unit/__init__.py +0 -0
  762. monkeybot-3.11.0/tests/unit/cli/__init__.py +0 -0
  763. monkeybot-3.11.0/tests/unit/computer/__init__.py +0 -0
  764. monkeybot-3.11.0/tests/unit/computer/test_permissions.py +348 -0
  765. monkeybot-3.11.0/tests/unit/computer/test_platform_gate.py +35 -0
  766. monkeybot-3.11.0/tests/unit/computer/test_wiring.py +177 -0
  767. monkeybot-3.11.0/tests/unit/conftest.py +15 -0
  768. monkeybot-3.11.0/tests/unit/core/attachments/__init__.py +0 -0
  769. monkeybot-3.11.0/tests/unit/core/coding/__init__.py +0 -0
  770. monkeybot-3.11.0/tests/unit/core/coding/test_verification_gate.py +394 -0
  771. monkeybot-3.11.0/tests/unit/core/config/__init__.py +0 -0
  772. monkeybot-3.11.0/tests/unit/core/config/test_env_map_grep_gates.py +44 -0
  773. monkeybot-3.11.0/tests/unit/core/config/test_runtime_config_snapshot.py +935 -0
  774. monkeybot-3.11.0/tests/unit/core/context/__init__.py +0 -0
  775. monkeybot-3.11.0/tests/unit/core/context/test_context.py +692 -0
  776. monkeybot-3.11.0/tests/unit/core/context/test_project_context.py +448 -0
  777. monkeybot-3.11.0/tests/unit/core/context/test_secret_egress.py +477 -0
  778. monkeybot-3.11.0/tests/unit/core/context/test_skill_discovery_rules.py +52 -0
  779. monkeybot-3.11.0/tests/unit/core/context/test_tool_result_ingress.py +208 -0
  780. monkeybot-3.11.0/tests/unit/core/fixtures/__init__.py +0 -0
  781. monkeybot-3.11.0/tests/unit/core/goals/__init__.py +0 -0
  782. monkeybot-3.11.0/tests/unit/core/goals/test_goals.py +496 -0
  783. monkeybot-3.11.0/tests/unit/core/hooks/__init__.py +0 -0
  784. monkeybot-3.11.0/tests/unit/core/hooks/test_evidence_guard.py +433 -0
  785. monkeybot-3.11.0/tests/unit/core/hooks/test_hooks.py +215 -0
  786. monkeybot-3.11.0/tests/unit/core/hooks/test_settlement.py +106 -0
  787. monkeybot-3.11.0/tests/unit/core/llm/__init__.py +0 -0
  788. monkeybot-3.11.0/tests/unit/core/llm/test_provider_contract.py +259 -0
  789. monkeybot-3.11.0/tests/unit/core/mcp/__init__.py +0 -0
  790. monkeybot-3.11.0/tests/unit/core/mcp/test_mcp_client.py +1609 -0
  791. monkeybot-3.11.0/tests/unit/core/memory/__init__.py +0 -0
  792. monkeybot-3.11.0/tests/unit/core/memory/test_memory_scoping.py +175 -0
  793. monkeybot-3.11.0/tests/unit/core/memory/test_mempalace.py +492 -0
  794. monkeybot-3.11.0/tests/unit/core/memory/test_migrate_embedding.py +144 -0
  795. monkeybot-3.11.0/tests/unit/core/memory/test_review_fixes.py +1310 -0
  796. monkeybot-3.11.0/tests/unit/core/messages/__init__.py +0 -0
  797. monkeybot-3.11.0/tests/unit/core/messages/test_gemini_history_replay.py +353 -0
  798. monkeybot-3.11.0/tests/unit/core/messages/test_tool_integrity.py +198 -0
  799. monkeybot-3.11.0/tests/unit/core/persistence/__init__.py +0 -0
  800. monkeybot-3.11.0/tests/unit/core/persistence/test_durable_runs.py +217 -0
  801. monkeybot-3.11.0/tests/unit/core/persistence/test_goal_ledger.py +815 -0
  802. monkeybot-3.11.0/tests/unit/core/persistence/test_history.py +436 -0
  803. monkeybot-3.11.0/tests/unit/core/prompts/__init__.py +0 -0
  804. monkeybot-3.11.0/tests/unit/core/prompts/test_harness_prompt.py +218 -0
  805. monkeybot-3.11.0/tests/unit/core/prompts/test_prompt.py +399 -0
  806. monkeybot-3.11.0/tests/unit/core/runtime/__init__.py +0 -0
  807. monkeybot-3.11.0/tests/unit/core/runtime/test_background_summary.py +533 -0
  808. monkeybot-3.11.0/tests/unit/core/runtime/test_chat_title.py +124 -0
  809. monkeybot-3.11.0/tests/unit/core/runtime/test_doom_loop.py +682 -0
  810. monkeybot-3.11.0/tests/unit/core/runtime/test_empty_completion.py +184 -0
  811. monkeybot-3.11.0/tests/unit/core/runtime/test_history_compaction_split.py +313 -0
  812. monkeybot-3.11.0/tests/unit/core/runtime/test_input_admission.py +924 -0
  813. monkeybot-3.11.0/tests/unit/core/runtime/test_loop.py +3731 -0
  814. monkeybot-3.11.0/tests/unit/core/runtime/test_loop_hooks.py +968 -0
  815. monkeybot-3.11.0/tests/unit/core/runtime/test_loop_observability.py +202 -0
  816. monkeybot-3.11.0/tests/unit/core/runtime/test_truncated_tool_batch.py +205 -0
  817. monkeybot-3.11.0/tests/unit/core/runtime/test_utterance_buffer.py +140 -0
  818. monkeybot-3.11.0/tests/unit/core/subagents/__init__.py +0 -0
  819. monkeybot-3.11.0/tests/unit/core/subagents/test_child_tool_list.py +119 -0
  820. monkeybot-3.11.0/tests/unit/core/subagents/test_subagent_proto.py +505 -0
  821. monkeybot-3.11.0/tests/unit/core/subagents/test_subagent_trace_propagation.py +620 -0
  822. monkeybot-3.11.0/tests/unit/core/subagents/test_subagent_worker_paths.py +420 -0
  823. monkeybot-3.11.0/tests/unit/core/subagents/test_worker_pool.py +794 -0
  824. monkeybot-3.11.0/tests/unit/core/test_bootstrap.py +499 -0
  825. monkeybot-3.11.0/tests/unit/core/testing/__init__.py +0 -0
  826. monkeybot-3.11.0/tests/unit/core/tools/__init__.py +0 -0
  827. monkeybot-3.11.0/tests/unit/core/tools/test_background_jobs.py +593 -0
  828. monkeybot-3.11.0/tests/unit/core/tools/test_core_tool_executor.py +5682 -0
  829. monkeybot-3.11.0/tests/unit/core/tools/test_fs_isolation.py +1026 -0
  830. monkeybot-3.11.0/tests/unit/core/tools/test_grant_store.py +194 -0
  831. monkeybot-3.11.0/tests/unit/core/tools/test_inspector.py +500 -0
  832. monkeybot-3.11.0/tests/unit/core/tools/test_path_grant_inspector.py +247 -0
  833. monkeybot-3.11.0/tests/unit/core/tools/test_sandbox_executor.py +871 -0
  834. monkeybot-3.11.0/tests/unit/core/tools/test_spill_dynamic.py +402 -0
  835. monkeybot-3.11.0/tests/unit/core/types/__init__.py +0 -0
  836. monkeybot-3.11.0/tests/unit/core/verifier/__init__.py +0 -0
  837. monkeybot-3.11.0/tests/unit/core/verifier/test_progress_tracker.py +771 -0
  838. monkeybot-3.11.0/tests/unit/core/verifier/test_verifier_inspector.py +108 -0
  839. monkeybot-3.11.0/tests/unit/core/verifier/test_verifier_judge.py +709 -0
  840. monkeybot-3.11.0/tests/unit/core/verifier/test_verifier_mailbox_lifecycle.py +351 -0
  841. monkeybot-3.11.0/tests/unit/core/verifier/test_verifier_port.py +30 -0
  842. monkeybot-3.11.0/tests/unit/core/verifier/test_verifier_rewrite_effects.py +360 -0
  843. monkeybot-3.11.0/tests/unit/core/verifier/test_verifier_sticky_nudge.py +478 -0
  844. monkeybot-3.11.0/tests/unit/core/verifier/test_verifier_tracker.py +62 -0
  845. monkeybot-3.11.0/tests/unit/core/workspace/__init__.py +0 -0
  846. monkeybot-3.11.0/tests/unit/gateway/realtime/__init__.py +0 -0
  847. monkeybot-3.11.0/tests/unit/gateway/sse/__init__.py +0 -0
  848. monkeybot-3.11.0/tests/unit/gateway/sse/test_chat_title_route.py +150 -0
  849. monkeybot-3.11.0/tests/unit/gateway/sse/test_routes.py +686 -0
  850. monkeybot-3.11.0/tests/unit/gateway/sse/test_session_bus.py +243 -0
  851. monkeybot-3.11.0/tests/unit/gateway/test_otel_lifespan.py +158 -0
  852. monkeybot-3.11.0/tests/unit/observability/test_loop_hook_spans.py +80 -0
  853. monkeybot-3.11.0/tests/unit/observability/test_span_contract.py +236 -0
  854. monkeybot-3.11.0/tests/unit/observability/test_sqlite_exporter.py +709 -0
  855. monkeybot-3.11.0/tests/unit/observability/test_turn_complete_trace.py +61 -0
  856. monkeybot-3.11.0/tests/unit/packaging/__init__.py +0 -0
  857. monkeybot-3.11.0/tests/unit/packaging/test_cold_start.py +90 -0
  858. monkeybot-3.11.0/tests/unit/packaging/test_packaging_config.py +93 -0
  859. monkeybot-3.11.0/tests/unit/packaging/test_release_script.py +192 -0
  860. monkeybot-3.11.0/tests/unit/providers/__init__.py +0 -0
  861. monkeybot-3.11.0/tests/unit/providers/conftest.py +16 -0
  862. monkeybot-3.11.0/tests/unit/providers/test_anthropic_cache.py +742 -0
  863. monkeybot-3.11.0/tests/unit/providers/test_bedrock_converse.py +613 -0
  864. monkeybot-3.11.0/tests/unit/providers/test_connection_warm.py +164 -0
  865. monkeybot-3.11.0/tests/unit/providers/test_openai_history.py +489 -0
  866. monkeybot-3.11.0/tests/unit/providers/test_pricing.py +368 -0
  867. monkeybot-3.11.0/tests/unit/providers/test_sampling.py +490 -0
  868. monkeybot-3.11.0/tests/unit/providers/test_sdk_client_reuse.py +747 -0
  869. monkeybot-3.11.0/tests/unit/providers/test_sonnet5_sampling.py +568 -0
  870. monkeybot-3.11.0/tests/unit/providers/test_source_grep_gates.py +68 -0
  871. monkeybot-3.11.0/tests/unit/providers/test_tiktoken_encoding.py +161 -0
  872. monkeybot-3.11.0/tests/unit/providers/test_vertex_claude_history.py +37 -0
  873. monkeybot-3.11.0/tests/unit/scheduler/__init__.py +0 -0
  874. monkeybot-3.11.0/tests/unit/scheduler/test_interval.py +86 -0
  875. monkeybot-3.11.0/tests/unit/skills/test_generate_image_script.py +208 -0
  876. monkeybot-3.11.0/tests/unit/testkit/__init__.py +0 -0
  877. monkeybot-3.11.0/tests/unit/testkit/test_clock.py +255 -0
  878. monkeybot-3.11.0/tests/unit/testkit/test_failure_ledger.py +379 -0
  879. monkeybot-3.11.0/tests/unit/testkit/test_failures_cli.py +348 -0
  880. monkeybot-3.11.0/tests/unit/testkit/test_fake_history.py +35 -0
  881. monkeybot-3.11.0/tests/unit/testkit/test_scripted_provider.py +478 -0
  882. monkeybot-3.11.0/tests/unit/testkit/test_scrub.py +62 -0
  883. monkeybot-3.11.0/tests/unit/testkit/test_sse_reader.py +78 -0
  884. monkeybot-3.11.0/tests/unit/todo_list/__init__.py +0 -0
  885. monkeybot-3.11.0/tests/unit/todo_list/test_todo_list.py +592 -0
  886. monkeybot-3.11.0/tests/unit/web_search/__init__.py +0 -0
  887. monkeybot-3.11.0/tests/unit/web_search/test_web_search.py +301 -0
  888. monkeybot-3.11.0/uv.lock +5578 -0
  889. monkeybot-3.10.0/.cursor/hooks.json +0 -21
  890. monkeybot-3.10.0/.cursor/skills/mb-retro/SKILL.md +0 -85
  891. monkeybot-3.10.0/.github/workflows/ci.yml +0 -52
  892. monkeybot-3.10.0/.github/workflows/live-eval-smoke.yml +0 -208
  893. monkeybot-3.10.0/.gitignore +0 -75
  894. monkeybot-3.10.0/.pre-commit-config.yaml +0 -36
  895. monkeybot-3.10.0/CHANGELOG.md +0 -568
  896. monkeybot-3.10.0/CONTRIBUTING.md +0 -43
  897. monkeybot-3.10.0/PKG-INFO +0 -202
  898. monkeybot-3.10.0/README.md +0 -105
  899. monkeybot-3.10.0/cli/pyproject.toml +0 -44
  900. monkeybot-3.10.0/cli/skills/monkeybot/SKILL.md +0 -202
  901. monkeybot-3.10.0/cli/skills/monkeybot/references/config-sections.md +0 -168
  902. monkeybot-3.10.0/cli/src/monkeybot_cli/chat_tui_widgets.py +0 -1117
  903. monkeybot-3.10.0/cli/src/monkeybot_cli/runtime_python.py +0 -746
  904. monkeybot-3.10.0/cli/src/monkeybot_cli/scaffold.py +0 -515
  905. monkeybot-3.10.0/cli/src/monkeybot_cli/scaffold_defaults/monkeybot.example.yaml +0 -277
  906. monkeybot-3.10.0/cli/tests/test_chat_tui.py +0 -2389
  907. monkeybot-3.10.0/cli/tests/test_runtime_python.py +0 -1078
  908. monkeybot-3.10.0/cli/tests/test_scaffold.py +0 -421
  909. monkeybot-3.10.0/cli/uv.lock +0 -1768
  910. monkeybot-3.10.0/docs/deploy-pattern-d-realtime.md +0 -306
  911. monkeybot-3.10.0/docs/features.md +0 -871
  912. monkeybot-3.10.0/docs/getting-started.md +0 -182
  913. monkeybot-3.10.0/docs/live-evals.md +0 -152
  914. monkeybot-3.10.0/docs/spill-dynamic-design.md +0 -557
  915. monkeybot-3.10.0/docs/verifier-agent-design.md +0 -831
  916. monkeybot-3.10.0/evals/TEST_COVERAGE.md +0 -67
  917. monkeybot-3.10.0/evals/assertions.py +0 -323
  918. monkeybot-3.10.0/evals/baselines/smoke.md +0 -55
  919. monkeybot-3.10.0/evals/conftest.py +0 -4
  920. monkeybot-3.10.0/evals/diff.py +0 -130
  921. monkeybot-3.10.0/evals/eval_config.yaml +0 -5
  922. monkeybot-3.10.0/evals/models.py +0 -141
  923. monkeybot-3.10.0/evals/persistence.py +0 -193
  924. monkeybot-3.10.0/evals/report.py +0 -386
  925. monkeybot-3.10.0/evals/runner.py +0 -315
  926. monkeybot-3.10.0/evals/scenario_loader.py +0 -195
  927. monkeybot-3.10.0/evals/scenarios/coding/add_feature_with_tests.yaml +0 -19
  928. monkeybot-3.10.0/evals/scenarios/coding/fix_failing_test.yaml +0 -16
  929. monkeybot-3.10.0/evals/scenarios/coding/navigate_repo.yaml +0 -17
  930. monkeybot-3.10.0/evals/scenarios/coding_hard/add_bulk_discount.yaml +0 -22
  931. monkeybot-3.10.0/evals/scenarios/coding_hard/fix_discount_rounding.yaml +0 -17
  932. monkeybot-3.10.0/evals/scenarios/coding_hard/honest_unfixable_failure.yaml +0 -15
  933. monkeybot-3.10.0/evals/scenarios/coding_hard/multi_feature_long.yaml +0 -24
  934. monkeybot-3.10.0/evals/scenarios/coding_hard/navigate_intl_rate.yaml +0 -14
  935. monkeybot-3.10.0/evals/scenarios/coding_hard/noisy_test_failure.yaml +0 -16
  936. monkeybot-3.10.0/evals/scenarios/coding_hard/rename_calc_tax.yaml +0 -17
  937. monkeybot-3.10.0/evals/scenarios/context/summarization_trigger.yaml +0 -33
  938. monkeybot-3.10.0/evals/scenarios/drift/declares_done.yaml +0 -20
  939. monkeybot-3.10.0/evals/scenarios/drift/path_constraint.yaml +0 -26
  940. monkeybot-3.10.0/evals/scenarios/drift/preempt.yaml +0 -20
  941. monkeybot-3.10.0/evals/scenarios/drift/repeat_correction.yaml +0 -21
  942. monkeybot-3.10.0/evals/scenarios/drift/supersession.yaml +0 -19
  943. monkeybot-3.10.0/evals/scenarios/mcp/get_prompt.yaml +0 -13
  944. monkeybot-3.10.0/evals/scenarios/mcp/list_resources.yaml +0 -13
  945. monkeybot-3.10.0/evals/scenarios/mcp/tool_invoke.yaml +0 -13
  946. monkeybot-3.10.0/evals/scenarios/memory/recall_cross_session.yaml +0 -13
  947. monkeybot-3.10.0/evals/scenarios/memory/recall_single_session.yaml +0 -12
  948. monkeybot-3.10.0/evals/scenarios/multi_turn/task_tracking.yaml +0 -12
  949. monkeybot-3.10.0/evals/scenarios/skills/skill_invocation.yaml +0 -11
  950. monkeybot-3.10.0/evals/scenarios/subagents/dispatch_complete.yaml +0 -9
  951. monkeybot-3.10.0/evals/scenarios/tools/core_read.yaml +0 -11
  952. monkeybot-3.10.0/evals/scenarios/tools/core_read_error.yaml +0 -11
  953. monkeybot-3.10.0/evals/scenarios/tools/core_run_command.yaml +0 -12
  954. monkeybot-3.10.0/evals/scenarios/tools/core_run_command_sandbox.yaml +0 -21
  955. monkeybot-3.10.0/evals/scenarios/tools/core_write.yaml +0 -11
  956. monkeybot-3.10.0/evals/scorer.py +0 -382
  957. monkeybot-3.10.0/evals/smoke_agent/.env.example +0 -5
  958. monkeybot-3.10.0/evals/smoke_agent/fixture_mcp_server.py +0 -35
  959. monkeybot-3.10.0/evals/smoke_agent/monkeybot_config/mcp.json +0 -12
  960. monkeybot-3.10.0/evals/smoke_agent/monkeybot_config/monkeybot.coding.yaml +0 -56
  961. monkeybot-3.10.0/evals/smoke_agent/monkeybot_config/monkeybot.verifier-on.yaml +0 -53
  962. monkeybot-3.10.0/evals/smoke_agent/monkeybot_config/monkeybot.yaml +0 -40
  963. monkeybot-3.10.0/evals/smoke_agent/pyproject.toml +0 -15
  964. monkeybot-3.10.0/evals/smoke_agent/uv.lock +0 -3887
  965. monkeybot-3.10.0/evals/suites/coding.yaml +0 -9
  966. monkeybot-3.10.0/evals/suites/coding_hard.yaml +0 -11
  967. monkeybot-3.10.0/evals/suites/drift.yaml +0 -10
  968. monkeybot-3.10.0/evals/suites/smoke.yaml +0 -19
  969. monkeybot-3.10.0/evals/test_assertions.py +0 -447
  970. monkeybot-3.10.0/evals/test_coding_hard_oracle.py +0 -264
  971. monkeybot-3.10.0/evals/test_diff.py +0 -88
  972. monkeybot-3.10.0/evals/test_judge.py +0 -82
  973. monkeybot-3.10.0/evals/test_report.py +0 -264
  974. monkeybot-3.10.0/evals/test_runner_sse.py +0 -336
  975. monkeybot-3.10.0/evals/test_scorer.py +0 -53
  976. monkeybot-3.10.0/evals/trials.py +0 -128
  977. monkeybot-3.10.0/integrations/browser-mcp/pyproject.toml +0 -27
  978. monkeybot-3.10.0/integrations/browser-mcp/uv.lock +0 -1212
  979. monkeybot-3.10.0/pyproject.toml +0 -136
  980. monkeybot-3.10.0/pytest.ini +0 -15
  981. monkeybot-3.10.0/scripts/ci-local.sh +0 -79
  982. monkeybot-3.10.0/scripts/create_schema.py +0 -82
  983. monkeybot-3.10.0/scripts/precommit-pytest.sh +0 -28
  984. monkeybot-3.10.0/scripts/smoke_global_cli.sh +0 -91
  985. monkeybot-3.10.0/src/monkeybot/computer/permissions.py +0 -220
  986. monkeybot-3.10.0/src/monkeybot/core/bootstrap.py +0 -293
  987. monkeybot-3.10.0/src/monkeybot/core/coding/verification_gate.py +0 -383
  988. monkeybot-3.10.0/src/monkeybot/core/config/snapshot.py +0 -1048
  989. monkeybot-3.10.0/src/monkeybot/core/config/validation.py +0 -271
  990. monkeybot-3.10.0/src/monkeybot/core/context/__init__.py +0 -1207
  991. monkeybot-3.10.0/src/monkeybot/core/context/secret_egress.py +0 -445
  992. monkeybot-3.10.0/src/monkeybot/core/hooks/evidence_guard.py +0 -271
  993. monkeybot-3.10.0/src/monkeybot/core/layout.py +0 -341
  994. monkeybot-3.10.0/src/monkeybot/core/mcp/mcp_client.py +0 -1476
  995. monkeybot-3.10.0/src/monkeybot/core/mcp/ports_mcp.py +0 -136
  996. monkeybot-3.10.0/src/monkeybot/core/memory/outbox.py +0 -499
  997. monkeybot-3.10.0/src/monkeybot/core/memory/palace.py +0 -446
  998. monkeybot-3.10.0/src/monkeybot/core/memory/subsystem.py +0 -355
  999. monkeybot-3.10.0/src/monkeybot/core/memory/writer.py +0 -205
  1000. monkeybot-3.10.0/src/monkeybot/core/persistence/backends.py +0 -319
  1001. monkeybot-3.10.0/src/monkeybot/core/persistence/durable_runs.py +0 -372
  1002. monkeybot-3.10.0/src/monkeybot/core/persistence/firestore.py +0 -1736
  1003. monkeybot-3.10.0/src/monkeybot/core/persistence/firestore_scheduled_loops.py +0 -514
  1004. monkeybot-3.10.0/src/monkeybot/core/persistence/goal_ledger.py +0 -555
  1005. monkeybot-3.10.0/src/monkeybot/core/persistence/postgres.py +0 -2015
  1006. monkeybot-3.10.0/src/monkeybot/core/persistence/scheduled_loops.py +0 -718
  1007. monkeybot-3.10.0/src/monkeybot/core/persistence/session_turn_locks.py +0 -107
  1008. monkeybot-3.10.0/src/monkeybot/core/persistence/transcript.py +0 -802
  1009. monkeybot-3.10.0/src/monkeybot/core/persistence/usage_buckets.py +0 -77
  1010. monkeybot-3.10.0/src/monkeybot/core/prompts/harness_prompt.py +0 -227
  1011. monkeybot-3.10.0/src/monkeybot/core/runtime/context_budget.py +0 -254
  1012. monkeybot-3.10.0/src/monkeybot/core/runtime/history_compaction.py +0 -631
  1013. monkeybot-3.10.0/src/monkeybot/core/runtime/realtime_loop.py +0 -770
  1014. monkeybot-3.10.0/src/monkeybot/core/runtime/tool_dispatch.py +0 -1190
  1015. monkeybot-3.10.0/src/monkeybot/core/runtime/turn_loop.py +0 -2094
  1016. monkeybot-3.10.0/src/monkeybot/core/runtime/utterance_buffer.py +0 -177
  1017. monkeybot-3.10.0/src/monkeybot/core/subagents/subagent_proto.py +0 -372
  1018. monkeybot-3.10.0/src/monkeybot/core/subagents/subagent_worker.py +0 -544
  1019. monkeybot-3.10.0/src/monkeybot/core/testing/mocks_provider.py +0 -86
  1020. monkeybot-3.10.0/src/monkeybot/core/tools/core_tool_executor.py +0 -2918
  1021. monkeybot-3.10.0/src/monkeybot/core/tools/fs_isolation.py +0 -962
  1022. monkeybot-3.10.0/src/monkeybot/core/tools/grant_store.py +0 -259
  1023. monkeybot-3.10.0/src/monkeybot/core/tools/inspector.py +0 -618
  1024. monkeybot-3.10.0/src/monkeybot/core/tools/path_grant_inspector.py +0 -115
  1025. monkeybot-3.10.0/src/monkeybot/core/tools/workspace_service.py +0 -1952
  1026. monkeybot-3.10.0/src/monkeybot/core/verifier/classify.py +0 -275
  1027. monkeybot-3.10.0/src/monkeybot/core/verifier/judge.py +0 -572
  1028. monkeybot-3.10.0/src/monkeybot/core/verifier/ledger.py +0 -574
  1029. monkeybot-3.10.0/src/monkeybot/core/verifier/mailbox.py +0 -551
  1030. monkeybot-3.10.0/src/monkeybot/core/verifier/tracker.py +0 -381
  1031. monkeybot-3.10.0/src/monkeybot/gateway/realtime/app.py +0 -118
  1032. monkeybot-3.10.0/src/monkeybot/gateway/realtime/routes.py +0 -1039
  1033. monkeybot-3.10.0/src/monkeybot/gateway/realtime/session.py +0 -244
  1034. monkeybot-3.10.0/src/monkeybot/gateway/sse/app.py +0 -1533
  1035. monkeybot-3.10.0/src/monkeybot/gateway/sse/models.py +0 -291
  1036. monkeybot-3.10.0/src/monkeybot/gateway/sse/routes.py +0 -1450
  1037. monkeybot-3.10.0/src/monkeybot/providers/_openai_compat.py +0 -1534
  1038. monkeybot-3.10.0/src/monkeybot/providers/fireworks.py +0 -126
  1039. monkeybot-3.10.0/src/monkeybot/providers/gemini.py +0 -989
  1040. monkeybot-3.10.0/src/monkeybot/providers/huggingface.py +0 -148
  1041. monkeybot-3.10.0/src/monkeybot/providers/nvidia.py +0 -123
  1042. monkeybot-3.10.0/src/monkeybot/providers/ollama.py +0 -342
  1043. monkeybot-3.10.0/src/monkeybot/providers/openai.py +0 -179
  1044. monkeybot-3.10.0/src/monkeybot/providers/openrouter.py +0 -125
  1045. monkeybot-3.10.0/src/monkeybot/providers/pricing.py +0 -109
  1046. monkeybot-3.10.0/src/monkeybot/scaffold/__init__.py +0 -33
  1047. monkeybot-3.10.0/src/monkeybot/scheduler/engine.py +0 -363
  1048. monkeybot-3.10.0/src/monkeybot/todo_list/__init__.py +0 -42
  1049. monkeybot-3.10.0/src/monkeybot/todo_list/store.py +0 -262
  1050. monkeybot-3.10.0/src/monkeybot/todo_list/tool.py +0 -130
  1051. monkeybot-3.10.0/tests/acceptance/test_observability_acceptance.py +0 -252
  1052. monkeybot-3.10.0/tests/computer/test_permissions.py +0 -342
  1053. monkeybot-3.10.0/tests/computer/test_wiring.py +0 -174
  1054. monkeybot-3.10.0/tests/conftest.py +0 -101
  1055. monkeybot-3.10.0/tests/core/memory/helpers.py +0 -28
  1056. monkeybot-3.10.0/tests/core/memory/in_memory_palace.py +0 -107
  1057. monkeybot-3.10.0/tests/core/memory/test_mempalace.py +0 -489
  1058. monkeybot-3.10.0/tests/core/memory/test_review_fixes.py +0 -1235
  1059. monkeybot-3.10.0/tests/core/test_background_jobs.py +0 -591
  1060. monkeybot-3.10.0/tests/core/test_bootstrap.py +0 -396
  1061. monkeybot-3.10.0/tests/core/test_context.py +0 -759
  1062. monkeybot-3.10.0/tests/core/test_core_tool_executor.py +0 -5724
  1063. monkeybot-3.10.0/tests/core/test_doom_loop.py +0 -705
  1064. monkeybot-3.10.0/tests/core/test_durable_runs.py +0 -217
  1065. monkeybot-3.10.0/tests/core/test_empty_completion.py +0 -180
  1066. monkeybot-3.10.0/tests/core/test_env_map_grep_gates.py +0 -44
  1067. monkeybot-3.10.0/tests/core/test_evidence_guard.py +0 -392
  1068. monkeybot-3.10.0/tests/core/test_fs_isolation.py +0 -997
  1069. monkeybot-3.10.0/tests/core/test_gemini_history_replay.py +0 -353
  1070. monkeybot-3.10.0/tests/core/test_goal_ledger.py +0 -840
  1071. monkeybot-3.10.0/tests/core/test_goals.py +0 -494
  1072. monkeybot-3.10.0/tests/core/test_grant_store.py +0 -185
  1073. monkeybot-3.10.0/tests/core/test_harness_prompt.py +0 -213
  1074. monkeybot-3.10.0/tests/core/test_history.py +0 -436
  1075. monkeybot-3.10.0/tests/core/test_history_compaction_split.py +0 -265
  1076. monkeybot-3.10.0/tests/core/test_hooks.py +0 -219
  1077. monkeybot-3.10.0/tests/core/test_input_admission.py +0 -922
  1078. monkeybot-3.10.0/tests/core/test_inspector.py +0 -476
  1079. monkeybot-3.10.0/tests/core/test_loop.py +0 -3840
  1080. monkeybot-3.10.0/tests/core/test_loop_hooks.py +0 -1055
  1081. monkeybot-3.10.0/tests/core/test_loop_observability.py +0 -204
  1082. monkeybot-3.10.0/tests/core/test_mcp_client.py +0 -1317
  1083. monkeybot-3.10.0/tests/core/test_path_grant_inspector.py +0 -224
  1084. monkeybot-3.10.0/tests/core/test_progress_tracker.py +0 -799
  1085. monkeybot-3.10.0/tests/core/test_project_context.py +0 -448
  1086. monkeybot-3.10.0/tests/core/test_prompt.py +0 -418
  1087. monkeybot-3.10.0/tests/core/test_provider_contract.py +0 -259
  1088. monkeybot-3.10.0/tests/core/test_runtime_config_snapshot.py +0 -916
  1089. monkeybot-3.10.0/tests/core/test_sandbox_executor.py +0 -954
  1090. monkeybot-3.10.0/tests/core/test_secret_egress.py +0 -462
  1091. monkeybot-3.10.0/tests/core/test_settlement.py +0 -104
  1092. monkeybot-3.10.0/tests/core/test_spill_dynamic.py +0 -399
  1093. monkeybot-3.10.0/tests/core/test_subagent_proto.py +0 -490
  1094. monkeybot-3.10.0/tests/core/test_subagent_trace_propagation.py +0 -659
  1095. monkeybot-3.10.0/tests/core/test_subagent_worker_paths.py +0 -420
  1096. monkeybot-3.10.0/tests/core/test_tool_integrity.py +0 -198
  1097. monkeybot-3.10.0/tests/core/test_tool_result_ingress.py +0 -208
  1098. monkeybot-3.10.0/tests/core/test_truncated_tool_batch.py +0 -201
  1099. monkeybot-3.10.0/tests/core/test_utterance_buffer.py +0 -133
  1100. monkeybot-3.10.0/tests/core/test_verification_gate.py +0 -383
  1101. monkeybot-3.10.0/tests/core/test_verifier_inspector.py +0 -114
  1102. monkeybot-3.10.0/tests/core/test_verifier_judge.py +0 -673
  1103. monkeybot-3.10.0/tests/core/test_verifier_mailbox_lifecycle.py +0 -348
  1104. monkeybot-3.10.0/tests/core/test_verifier_rewrite_effects.py +0 -358
  1105. monkeybot-3.10.0/tests/core/test_verifier_sticky_nudge.py +0 -466
  1106. monkeybot-3.10.0/tests/core/test_verifier_tracker.py +0 -62
  1107. monkeybot-3.10.0/tests/core/test_worker_pool.py +0 -791
  1108. monkeybot-3.10.0/tests/evals/__init__.py +0 -1
  1109. monkeybot-3.10.0/tests/evals/scenario_runner.py +0 -359
  1110. monkeybot-3.10.0/tests/evals/scenarios/coding_fix_failing_test.yaml +0 -39
  1111. monkeybot-3.10.0/tests/evals/scenarios/coding_gate_passes_when_verified.yaml +0 -35
  1112. monkeybot-3.10.0/tests/evals/scenarios/coding_gate_rejects_unverified.yaml +0 -41
  1113. monkeybot-3.10.0/tests/evals/scenarios/coding_read_before_write.yaml +0 -48
  1114. monkeybot-3.10.0/tests/evals/scenarios/memory_wake_up_large.yaml +0 -14
  1115. monkeybot-3.10.0/tests/evals/scenarios/memory_write_inject.yaml +0 -12
  1116. monkeybot-3.10.0/tests/evals/scenarios/subagent_roundtrip.yaml +0 -17
  1117. monkeybot-3.10.0/tests/evals/scenarios/tool_glob_grep.yaml +0 -24
  1118. monkeybot-3.10.0/tests/evals/scenarios/tool_load_file.yaml +0 -17
  1119. monkeybot-3.10.0/tests/evals/scenarios/tool_loops.yaml +0 -24
  1120. monkeybot-3.10.0/tests/evals/scenarios/tool_read.yaml +0 -17
  1121. monkeybot-3.10.0/tests/evals/scenarios/tool_replace_apply_patch.yaml +0 -32
  1122. monkeybot-3.10.0/tests/evals/scenarios/tool_run_command.yaml +0 -17
  1123. monkeybot-3.10.0/tests/evals/scenarios/tool_search_memory.yaml +0 -17
  1124. monkeybot-3.10.0/tests/evals/scenarios/tool_todo_list.yaml +0 -18
  1125. monkeybot-3.10.0/tests/evals/scenarios/tool_web_search.yaml +0 -17
  1126. monkeybot-3.10.0/tests/evals/scenarios/tool_write.yaml +0 -18
  1127. monkeybot-3.10.0/tests/evals/scenarios/turn_completion.yaml +0 -10
  1128. monkeybot-3.10.0/tests/evals/test_agent_behavior.py +0 -41
  1129. monkeybot-3.10.0/tests/evals/test_verifier_port.py +0 -30
  1130. monkeybot-3.10.0/tests/gateway/sse/test_routes.py +0 -733
  1131. monkeybot-3.10.0/tests/gateway/sse/test_session_bus.py +0 -242
  1132. monkeybot-3.10.0/tests/gateway/test_otel_lifespan.py +0 -108
  1133. monkeybot-3.10.0/tests/integration/__init__.py +0 -1
  1134. monkeybot-3.10.0/tests/integration/test_mb_e2e_simple_reply.py +0 -118
  1135. monkeybot-3.10.0/tests/integration/test_observability_integration.py +0 -402
  1136. monkeybot-3.10.0/tests/integration/test_prompt_caching_integration.py +0 -140
  1137. monkeybot-3.10.0/tests/observability/test_loop_hook_spans.py +0 -76
  1138. monkeybot-3.10.0/tests/observability/test_span_contract.py +0 -238
  1139. monkeybot-3.10.0/tests/observability/test_sqlite_exporter.py +0 -705
  1140. monkeybot-3.10.0/tests/observability/test_turn_complete_trace.py +0 -57
  1141. monkeybot-3.10.0/tests/providers/conftest.py +0 -119
  1142. monkeybot-3.10.0/tests/providers/test_anthropic_cache.py +0 -745
  1143. monkeybot-3.10.0/tests/providers/test_bedrock_converse.py +0 -613
  1144. monkeybot-3.10.0/tests/providers/test_openai_history.py +0 -489
  1145. monkeybot-3.10.0/tests/providers/test_pricing.py +0 -105
  1146. monkeybot-3.10.0/tests/providers/test_sampling.py +0 -490
  1147. monkeybot-3.10.0/tests/providers/test_sdk_client_reuse.py +0 -743
  1148. monkeybot-3.10.0/tests/providers/test_sonnet5_sampling.py +0 -568
  1149. monkeybot-3.10.0/tests/providers/test_source_grep_gates.py +0 -68
  1150. monkeybot-3.10.0/tests/providers/test_vertex_claude_history.py +0 -37
  1151. monkeybot-3.10.0/tests/scheduler/test_interval.py +0 -29
  1152. monkeybot-3.10.0/tests/skills/test_generate_image_script.py +0 -208
  1153. monkeybot-3.10.0/tests/test_cold_start.py +0 -90
  1154. monkeybot-3.10.0/tests/test_packaging_config.py +0 -93
  1155. monkeybot-3.10.0/tests/test_release_script.py +0 -192
  1156. monkeybot-3.10.0/tests/todo_list/test_todo_list.py +0 -306
  1157. monkeybot-3.10.0/tests/web_search/test_web_search.py +0 -298
  1158. monkeybot-3.10.0/uv.lock +0 -5364
  1159. {monkeybot-3.10.0 → monkeybot-3.11.0}/.cursor/hooks/pre-pr.py +0 -0
  1160. {monkeybot-3.10.0 → monkeybot-3.11.0}/.dockerignore +0 -0
  1161. {monkeybot-3.10.0 → monkeybot-3.11.0}/.github/workflows/prepare-release.yml +0 -0
  1162. {monkeybot-3.10.0 → monkeybot-3.11.0}/.github/workflows/publish-release.yml +0 -0
  1163. {monkeybot-3.10.0 → monkeybot-3.11.0}/BACKLOG.md +0 -0
  1164. {monkeybot-3.10.0 → monkeybot-3.11.0}/LICENSE +0 -0
  1165. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/__init__.py +0 -0
  1166. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_file_index.py +0 -0
  1167. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_local_shell.py +0 -0
  1168. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_renderer.py +0 -0
  1169. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_session.py +0 -0
  1170. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_status_bar.py +0 -0
  1171. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_theme.py +0 -0
  1172. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_tool_display.py +0 -0
  1173. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/chat_tui.py +0 -0
  1174. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/__init__.py +0 -0
  1175. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/chat.py +0 -0
  1176. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/doctor.py +0 -0
  1177. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/loop.py +0 -0
  1178. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/mcp_login.py +0 -0
  1179. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/new.py +0 -0
  1180. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/refresh.py +0 -0
  1181. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/run_cmd.py +0 -0
  1182. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/talk.py +0 -0
  1183. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/trace.py +0 -0
  1184. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/commands/validate.py +0 -0
  1185. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/compat.py +0 -0
  1186. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/config_resolve.py +0 -0
  1187. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/exit_commands.py +0 -0
  1188. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/extras_catalog.py +0 -0
  1189. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/gateway_health.py +0 -0
  1190. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/main.py +0 -0
  1191. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/opensandbox_lifecycle.py +0 -0
  1192. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/output.py +0 -0
  1193. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/process_tree.py +0 -0
  1194. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/providers.py +0 -0
  1195. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/__init__.py +0 -0
  1196. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/audio_io.py +0 -0
  1197. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/client.py +0 -0
  1198. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/gateway_manager.py +0 -0
  1199. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/push_to_talk.py +0 -0
  1200. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/session.py +0 -0
  1201. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/session_controller.py +0 -0
  1202. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/talk_ui.py +0 -0
  1203. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/realtime/wire_encode.py +0 -0
  1204. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/AGENT.md +0 -0
  1205. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/Dockerfile +0 -0
  1206. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/__init__.py +0 -0
  1207. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/browser/SKILL.md +0 -0
  1208. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/command_allowlist.yaml +0 -0
  1209. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/dockerignore +0 -0
  1210. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/env.example +0 -0
  1211. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/goal/SKILL.md +0 -0
  1212. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/image-generator/SKILL.md +0 -0
  1213. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/image-generator/generate_image.py +0 -0
  1214. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/loop/SKILL.md +0 -0
  1215. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/mcp.json +0 -0
  1216. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/opensandbox.docker.toml +0 -0
  1217. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/otel-collector.example.yaml +0 -0
  1218. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/permissions.yaml +0 -0
  1219. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/templates/coding/AGENT.md +0 -0
  1220. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/templates/coding/command_allowlist.yaml +0 -0
  1221. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/templates/coding/monkeybot.overrides.yaml +0 -0
  1222. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/scaffold_defaults/templates/coding/permissions.yaml +0 -0
  1223. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/session_controller.py +0 -0
  1224. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/src/monkeybot_cli/terminal_markdown.py +0 -0
  1225. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_continue.py +0 -0
  1226. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_e2e.py +0 -0
  1227. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_errors.py +0 -0
  1228. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_file_index.py +0 -0
  1229. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_grounding.py +0 -0
  1230. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_local_shell.py +0 -0
  1231. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_renderer_parity.py +0 -0
  1232. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_session.py +0 -0
  1233. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_status_bar.py +0 -0
  1234. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_theme.py +0 -0
  1235. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_chat_tool_display.py +0 -0
  1236. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_cli.py +0 -0
  1237. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_config_resolve.py +0 -0
  1238. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_doctor.py +0 -0
  1239. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_extras_catalog.py +0 -0
  1240. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_gateway_health.py +0 -0
  1241. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_opensandbox_lifecycle.py +0 -0
  1242. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_realtime_session_controller.py +0 -0
  1243. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_run_cmd.py +0 -0
  1244. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_terminal_markdown.py +0 -0
  1245. {monkeybot-3.10.0 → monkeybot-3.11.0}/cli/tests/test_trace_cmd.py +0 -0
  1246. {monkeybot-3.10.0 → monkeybot-3.11.0}/docker/Dockerfile +0 -0
  1247. {monkeybot-3.10.0 → monkeybot-3.11.0}/docker/demo-model.yaml +0 -0
  1248. {monkeybot-3.10.0 → monkeybot-3.11.0}/docker/demo.yaml +0 -0
  1249. {monkeybot-3.10.0 → monkeybot-3.11.0}/docker/docker-compose.sandbox.yml +0 -0
  1250. {monkeybot-3.10.0 → monkeybot-3.11.0}/docker/opensandbox.docker.toml +0 -0
  1251. {monkeybot-3.10.0 → monkeybot-3.11.0}/docker/sandbox.Dockerfile +0 -0
  1252. {monkeybot-3.10.0 → monkeybot-3.11.0}/docker-compose.yml +0 -0
  1253. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/agent-layout.md +0 -0
  1254. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/assets/logo.png +0 -0
  1255. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/browser-mcp-perf-baseline.md +0 -0
  1256. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/browser-mcp-performance-plan.md +0 -0
  1257. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/browser-mcp.md +0 -0
  1258. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/cloud-deployment-design.md +0 -0
  1259. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/deploy-aws-agentcore.md +0 -0
  1260. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/deploy-pattern-a-container.md +0 -0
  1261. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/deploy-pattern-b-serverless.md +0 -0
  1262. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/deploy-pattern-c-agent-platform.md +0 -0
  1263. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/mcp.md +0 -0
  1264. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/migrations/agent-scope-namespacing.md +0 -0
  1265. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/migrations/history-row-id.sql +0 -0
  1266. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/migrations/memory-outbox.sql +0 -0
  1267. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/migrations/session-branches.sql +0 -0
  1268. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/observability-runbook.md +0 -0
  1269. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/ollama-local.md +0 -0
  1270. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/otel-collector.example.yaml +0 -0
  1271. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/progressive-loop-tools.md +0 -0
  1272. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/progressive-mcp-tools.md +0 -0
  1273. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/skills.md +0 -0
  1274. {monkeybot-3.10.0 → monkeybot-3.11.0}/docs/sse-gateway-ui.md +0 -0
  1275. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/README.md +0 -0
  1276. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/agentcore/handler.py +0 -0
  1277. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/agentcore/runtime_app.py +0 -0
  1278. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/agentengine/handler.py +0 -0
  1279. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/cloud-functions/main.py +0 -0
  1280. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/lambda/handler.py +0 -0
  1281. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/ollama/PrefixStable.Modelfile +0 -0
  1282. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/skills/browser/SKILL.md +0 -0
  1283. {monkeybot-3.10.0/evals/smoke_agent/workspace → monkeybot-3.11.0/examples/skills/browser/playbooks}/.gitkeep +0 -0
  1284. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/skills/diagnostics/README.md +0 -0
  1285. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/skills/diagnostics/SKILL.md +0 -0
  1286. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/skills/diagnostics/__init__.py +0 -0
  1287. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/skills/diagnostics/diagnostics.py +0 -0
  1288. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/skills/image-generator/SKILL.md +0 -0
  1289. {monkeybot-3.10.0 → monkeybot-3.11.0}/examples/skills/image-generator/generate_image.py +0 -0
  1290. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/scripts/agentcore_smoke.py +0 -0
  1291. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/scripts/dump_tool_surface.py +0 -0
  1292. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/scripts/perf_bench.py +0 -0
  1293. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/__init__.py +0 -0
  1294. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/actions.py +0 -0
  1295. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/agentcore.py +0 -0
  1296. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/app.py +0 -0
  1297. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/assets/NOTICE.md +0 -0
  1298. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/assets/dom_tree.js +0 -0
  1299. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/assets/pa_driver.js +0 -0
  1300. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/backend.py +0 -0
  1301. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/chat_context.py +0 -0
  1302. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/chat_scope.py +0 -0
  1303. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/dom_indexing.py +0 -0
  1304. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/in_app_cdp.py +0 -0
  1305. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/login.py +0 -0
  1306. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/observe.py +0 -0
  1307. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/perf.py +0 -0
  1308. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/playbooks.py +0 -0
  1309. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/playwright_helpers.py +0 -0
  1310. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/results.py +0 -0
  1311. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/screenshots.py +0 -0
  1312. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/server.py +0 -0
  1313. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tab_ops.py +0 -0
  1314. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tabs.py +0 -0
  1315. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/__init__.py +0 -0
  1316. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/batch.py +0 -0
  1317. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/capture.py +0 -0
  1318. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/interact.py +0 -0
  1319. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/navigate.py +0 -0
  1320. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/playbook.py +0 -0
  1321. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/read.py +0 -0
  1322. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/src/browser_mcp/tools/tab_control.py +0 -0
  1323. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/conftest.py +0 -0
  1324. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/fixtures/api.json +0 -0
  1325. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/fixtures/article.html +0 -0
  1326. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/fixtures/cards.html +0 -0
  1327. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/fixtures/form.html +0 -0
  1328. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/fixtures/long_list.html +0 -0
  1329. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/fixtures/spa.html +0 -0
  1330. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/fixtures/tool_surface.json +0 -0
  1331. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/conftest.py +0 -0
  1332. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/test_act_observe.py +0 -0
  1333. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/test_driver_persist.py +0 -0
  1334. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/test_intent_tools.py +0 -0
  1335. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/test_multi_tab.py +0 -0
  1336. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/test_observation.py +0 -0
  1337. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/test_run_playbook.py +0 -0
  1338. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/integration/test_wait_for.py +0 -0
  1339. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_act.py +0 -0
  1340. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_agentcore.py +0 -0
  1341. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_chat_isolation.py +0 -0
  1342. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_chat_scope.py +0 -0
  1343. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_dom_indexing.py +0 -0
  1344. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_fill_form.py +0 -0
  1345. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_in_app_cdp.py +0 -0
  1346. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_indexed_tools.py +0 -0
  1347. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_observe.py +0 -0
  1348. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_observe_after.py +0 -0
  1349. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_perf.py +0 -0
  1350. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_playbook_flows.py +0 -0
  1351. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_playbooks.py +0 -0
  1352. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_playwright_helpers.py +0 -0
  1353. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_screenshots.py +0 -0
  1354. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_server_shutdown.py +0 -0
  1355. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_tabs.py +0 -0
  1356. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_tool_surface.py +0 -0
  1357. {monkeybot-3.10.0 → monkeybot-3.11.0}/integrations/browser-mcp/tests/test_wait_tools.py +0 -0
  1358. {monkeybot-3.10.0/evals/fixtures/coding/shop_repo/shop/legacy → monkeybot-3.11.0/regression}/__init__.py +0 -0
  1359. /monkeybot-3.10.0/tests/evals/eval_hook.py → /monkeybot-3.11.0/regression/drivers/record.py +0 -0
  1360. {monkeybot-3.10.0/evals/smoke_agent/workspace/skills/browser/playbooks → monkeybot-3.11.0/regression/fixtures/subagent_tapes}/.gitkeep +0 -0
  1361. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/.gitignore +0 -0
  1362. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/AGENTS.md +0 -0
  1363. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/build/calc/ops.py +0 -0
  1364. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/calc/__init__.py +0 -0
  1365. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/calc/ops.py +0 -0
  1366. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/node_modules/left-pad/index.js +0 -0
  1367. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/node_modules/left-pad/package.json +0 -0
  1368. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/pyproject.toml +0 -0
  1369. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo/tests/test_ops.py +0 -0
  1370. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/.gitignore +0 -0
  1371. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/AGENTS.md +0 -0
  1372. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/build/calc/ops.py +0 -0
  1373. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/calc/__init__.py +0 -0
  1374. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/calc/ops.py +0 -0
  1375. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/node_modules/left-pad/index.js +0 -0
  1376. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/node_modules/left-pad/package.json +0 -0
  1377. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/pyproject.toml +0 -0
  1378. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/calc_repo_green/tests/test_ops.py +0 -0
  1379. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/overlays/bug_discount/shop/pricing.py +0 -0
  1380. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/overlays/noisy_tests/shop/taxes.py +0 -0
  1381. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/overlays/noisy_tests/tests/conftest.py +0 -0
  1382. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/overlays/offline_gateway/tests/test_gateway.py +0 -0
  1383. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/.gitignore +0 -0
  1384. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/AGENTS.md +0 -0
  1385. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/CHANGELOG.md +0 -0
  1386. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/README.md +0 -0
  1387. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/build/shop/shipping.py +0 -0
  1388. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/pyproject.toml +0 -0
  1389. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/__init__.py +0 -0
  1390. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/cart.py +0 -0
  1391. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/coupons.py +0 -0
  1392. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/gateway.py +0 -0
  1393. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/inventory.py +0 -0
  1394. {monkeybot-3.10.0/evals/fixtures/coding/shop_repo/shop/utils → monkeybot-3.11.0/regression/fixtures/workspaces/shop_repo/shop/legacy}/__init__.py +0 -0
  1395. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/legacy/pricing_v1.py +0 -0
  1396. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/legacy/shipping_v1.py +0 -0
  1397. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/models.py +0 -0
  1398. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/orders.py +0 -0
  1399. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/pricing.py +0 -0
  1400. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/reports.py +0 -0
  1401. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/shipping.py +0 -0
  1402. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/taxes.py +0 -0
  1403. {monkeybot-3.10.0/tests/cli → monkeybot-3.11.0/regression/fixtures/workspaces/shop_repo/shop/utils}/__init__.py +0 -0
  1404. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/utils/money.py +0 -0
  1405. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/shop/utils/text.py +0 -0
  1406. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_cart.py +0 -0
  1407. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_coupons.py +0 -0
  1408. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_inventory.py +0 -0
  1409. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_money.py +0 -0
  1410. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_orders.py +0 -0
  1411. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_pricing.py +0 -0
  1412. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_reports.py +0 -0
  1413. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_shipping.py +0 -0
  1414. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/tests/test_taxes.py +0 -0
  1415. {monkeybot-3.10.0/evals/fixtures/coding → monkeybot-3.11.0/regression/fixtures/workspaces}/shop_repo/vendor/pricekit/__init__.py +0 -0
  1416. {monkeybot-3.10.0/tests/computer → monkeybot-3.11.0/regression/t2}/__init__.py +0 -0
  1417. {monkeybot-3.10.0/tests/gateway/realtime → monkeybot-3.11.0/regression/t2/python}/__init__.py +0 -0
  1418. {monkeybot-3.10.0/evals/smoke_agent → monkeybot-3.11.0/regression/t4/agent}/.gitignore +0 -0
  1419. /monkeybot-3.10.0/examples/skills/browser/playbooks/.gitkeep → /monkeybot-3.11.0/regression/t4/agent/memory/.blob_seq_ids_migrated +0 -0
  1420. /monkeybot-3.10.0/tests/web_search/__init__.py → /monkeybot-3.11.0/regression/t4/agent/memory/.collection_type_fixed +0 -0
  1421. {monkeybot-3.10.0/evals/smoke_agent → monkeybot-3.11.0/regression/t4/agent}/monkeybot_config/AGENT.coding.md +0 -0
  1422. {monkeybot-3.10.0/evals/smoke_agent → monkeybot-3.11.0/regression/t4/agent}/monkeybot_config/AGENT.md +0 -0
  1423. {monkeybot-3.10.0/evals/smoke_agent → monkeybot-3.11.0/regression/t4/agent}/monkeybot_config/command_allowlist.yaml +0 -0
  1424. {monkeybot-3.10.0/evals/smoke_agent → monkeybot-3.11.0/regression/t4/agent}/monkeybot_config/permissions.yaml +0 -0
  1425. {monkeybot-3.10.0/evals/smoke_agent → monkeybot-3.11.0/regression/t4/agent}/skills/browser/SKILL.md +0 -0
  1426. {monkeybot-3.10.0/evals → monkeybot-3.11.0/regression/t4}/baselines/smoke.json +0 -0
  1427. {monkeybot-3.10.0 → monkeybot-3.11.0}/scripts/release.py +0 -0
  1428. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/__init__.py +0 -0
  1429. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/cli/__init__.py +0 -0
  1430. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/cli/__main__.py +0 -0
  1431. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/cli/audio_io.py +0 -0
  1432. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/cli/gateway_manager.py +0 -0
  1433. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/cli/main.py +0 -0
  1434. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/cli/push_to_talk.py +0 -0
  1435. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/cli/realtime_client.py +0 -0
  1436. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/computer/__init__.py +0 -0
  1437. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/computer/approvals.py +0 -0
  1438. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/computer/safety.py +0 -0
  1439. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/computer/tools.py +0 -0
  1440. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/__init__.py +0 -0
  1441. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/__init__.py +0 -0
  1442. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/catalog.py +0 -0
  1443. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/config.py +0 -0
  1444. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/freeze.py +0 -0
  1445. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/image_preview.py +0 -0
  1446. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/resolve.py +0 -0
  1447. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/store.py +0 -0
  1448. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/text.py +0 -0
  1449. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/attachments/tools.py +0 -0
  1450. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/coding/__init__.py +0 -0
  1451. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/coding/git_context_hook.py +0 -0
  1452. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/coding/read_ledger_hook.py +0 -0
  1453. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/config/__init__.py +0 -0
  1454. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/config/realtime_config.py +0 -0
  1455. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/config/runtime_env.py +0 -0
  1456. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/config/settings.py +0 -0
  1457. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/config/yaml_loader.py +0 -0
  1458. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/campaign_context.py +0 -0
  1459. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/common.py +0 -0
  1460. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/epoch.py +0 -0
  1461. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/project_context.py +0 -0
  1462. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/slash_skills.py +0 -0
  1463. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/tool_output_policy.py +0 -0
  1464. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/tool_result_ingress.py +0 -0
  1465. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/context/tool_shapers.py +0 -0
  1466. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/goals/__init__.py +0 -0
  1467. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/goals/service.py +0 -0
  1468. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/hooks/__init__.py +0 -0
  1469. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/llm/__init__.py +0 -0
  1470. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/llm/provider.py +0 -0
  1471. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/llm/realtime_provider.py +0 -0
  1472. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/llm/usage.py +0 -0
  1473. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/lockfile_names.py +0 -0
  1474. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/logging_utils.py +0 -0
  1475. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/mcp/__init__.py +0 -0
  1476. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/mcp/oauth_flow.py +0 -0
  1477. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/__init__.py +0 -0
  1478. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/config.py +0 -0
  1479. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/hook.py +0 -0
  1480. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/ids.py +0 -0
  1481. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/ingest.py +0 -0
  1482. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/migrate_layout.py +0 -0
  1483. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/observability.py +0 -0
  1484. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/memory/uri.py +0 -0
  1485. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/messages/__init__.py +0 -0
  1486. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/messages/convert_provider.py +0 -0
  1487. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/messages/tool_integrity.py +0 -0
  1488. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/messages/transform_context.py +0 -0
  1489. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/path_safety.py +0 -0
  1490. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/__init__.py +0 -0
  1491. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/branches.py +0 -0
  1492. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/db.py +0 -0
  1493. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/errors.py +0 -0
  1494. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/firestore.indexes.json +0 -0
  1495. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/history.py +0 -0
  1496. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/row_ids.py +0 -0
  1497. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/runs.py +0 -0
  1498. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/sqlite.py +0 -0
  1499. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/sqlite_backend.py +0 -0
  1500. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/thread_summary.py +0 -0
  1501. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/transcript_reader.py +0 -0
  1502. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/persistence/usage.py +0 -0
  1503. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/prompts/__init__.py +0 -0
  1504. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/prompts/headings.py +0 -0
  1505. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/prompts/prompt.py +0 -0
  1506. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/__init__.py +0 -0
  1507. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/doom_loop.py +0 -0
  1508. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/events.py +0 -0
  1509. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/history_rewrite.py +0 -0
  1510. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/input_admission.py +0 -0
  1511. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/loop.py +0 -0
  1512. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/loop_hooks.py +0 -0
  1513. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/loop_messages.py +0 -0
  1514. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/loop_ports.py +0 -0
  1515. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/loop_usage.py +0 -0
  1516. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/provider_stream_mapper.py +0 -0
  1517. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/runtime/tool_batch.py +0 -0
  1518. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/subagents/__init__.py +0 -0
  1519. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/subagents/progress_publish.py +0 -0
  1520. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/subagents/worker_pool.py +0 -0
  1521. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/subprocess_groups.py +0 -0
  1522. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/testing/__init__.py +0 -0
  1523. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/testing/mocks_realtime_provider.py +0 -0
  1524. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/__init__.py +0 -0
  1525. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/ask_user.py +0 -0
  1526. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/background_jobs.py +0 -0
  1527. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/command_executor.py +0 -0
  1528. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/gitignore.py +0 -0
  1529. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/loop_inspector.py +0 -0
  1530. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/patch.py +0 -0
  1531. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/permission.py +0 -0
  1532. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/read_ledger.py +0 -0
  1533. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/sandbox_executor.py +0 -0
  1534. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/spill_inventory.py +0 -0
  1535. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/terminal.py +0 -0
  1536. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/text_normalize.py +0 -0
  1537. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/tool_hint.py +0 -0
  1538. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/tool_kind.py +0 -0
  1539. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/tools/types.py +0 -0
  1540. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/types/__init__.py +0 -0
  1541. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/types/content_blocks.py +0 -0
  1542. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/types/interfaces.py +0 -0
  1543. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/types/types_tools.py +0 -0
  1544. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/__init__.py +0 -0
  1545. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/actuator.py +0 -0
  1546. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/binding.py +0 -0
  1547. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/inspector.py +0 -0
  1548. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/intervention.py +0 -0
  1549. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/match.py +0 -0
  1550. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/port.py +0 -0
  1551. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/rewrite_effects.py +0 -0
  1552. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/verifier/severity.py +0 -0
  1553. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/workspace/__init__.py +0 -0
  1554. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/workspace/factory.py +0 -0
  1555. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/workspace/gcs.py +0 -0
  1556. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/workspace/local.py +0 -0
  1557. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/workspace/protocol.py +0 -0
  1558. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/workspace/s3.py +0 -0
  1559. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/core/workspace_layout.py +0 -0
  1560. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/__init__.py +0 -0
  1561. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/bootstrap.py +0 -0
  1562. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/main.py +0 -0
  1563. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/pending_response_bus.py +0 -0
  1564. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime/__init__.py +0 -0
  1565. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime/deps.py +0 -0
  1566. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime/errors.py +0 -0
  1567. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime/guardrails.py +0 -0
  1568. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime/manager.py +0 -0
  1569. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime/metrics.py +0 -0
  1570. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime/wire.py +0 -0
  1571. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/realtime_main.py +0 -0
  1572. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/__init__.py +0 -0
  1573. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/goal_routes.py +0 -0
  1574. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/history_routes.py +0 -0
  1575. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/loop_port.py +0 -0
  1576. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/reload.py +0 -0
  1577. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/reply_body.py +0 -0
  1578. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/request_storage.py +0 -0
  1579. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/scheduler_routes.py +0 -0
  1580. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/scheduler_wiring.py +0 -0
  1581. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/session_bus.py +0 -0
  1582. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/sse.py +0 -0
  1583. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/gateway/sse/workspace_layout.py +0 -0
  1584. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/observability/__init__.py +0 -0
  1585. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/observability/_state.py +0 -0
  1586. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/observability/instrumentation.py +0 -0
  1587. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/observability/propagation.py +0 -0
  1588. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/observability/spans.py +0 -0
  1589. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/observability/sqlite_exporter.py +0 -0
  1590. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/__init__.py +0 -0
  1591. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/_bedrock_converse.py +0 -0
  1592. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/_sdk_client.py +0 -0
  1593. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/_utils.py +0 -0
  1594. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/bedrock.py +0 -0
  1595. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/claude.py +0 -0
  1596. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/gemini_live.py +0 -0
  1597. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/model_capabilities.py +0 -0
  1598. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/rejected_sampling.py +0 -0
  1599. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/request_budget.py +0 -0
  1600. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/sampling.py +0 -0
  1601. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/providers/vertex_claude.py +0 -0
  1602. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/scheduler/__init__.py +0 -0
  1603. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/scheduler/__main__.py +0 -0
  1604. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/scheduler/http_invoker.py +0 -0
  1605. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/scheduler/interval.py +0 -0
  1606. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/scheduler/tick_result.py +0 -0
  1607. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/scheduler/worker.py +0 -0
  1608. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/subagents/__init__.py +0 -0
  1609. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/subagents/worker/__init__.py +0 -0
  1610. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/subagents/worker/__main__.py +0 -0
  1611. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/web_search/__init__.py +0 -0
  1612. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/web_search/backends/__init__.py +0 -0
  1613. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/web_search/backends/duckduckgo.py +0 -0
  1614. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/web_search/backends/firecrawl.py +0 -0
  1615. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/web_search/backends/tavily.py +0 -0
  1616. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/web_search/protocol.py +0 -0
  1617. {monkeybot-3.10.0 → monkeybot-3.11.0}/src/monkeybot/web_search/tool.py +0 -0
  1618. {monkeybot-3.10.0 → monkeybot-3.11.0}/tests/__init__.py +0 -0
  1619. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/cli/test_gateway_manager.py +0 -0
  1620. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/cli/test_main.py +0 -0
  1621. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/cli/test_push_to_talk.py +0 -0
  1622. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/cli/test_realtime_client.py +0 -0
  1623. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/computer/test_approvals.py +0 -0
  1624. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/computer/test_computer_tools.py +0 -0
  1625. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/computer/test_package_init.py +0 -0
  1626. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/computer/test_path_policy.py +0 -0
  1627. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/computer/test_subagent_exclusion.py +0 -0
  1628. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/__init__.py +0 -0
  1629. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/attachments}/test_attachment_freeze.py +0 -0
  1630. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/attachments}/test_attachment_store.py +0 -0
  1631. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/attachments}/test_image_preview.py +0 -0
  1632. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/config}/test_config_extensions.py +0 -0
  1633. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/config}/test_runtime_env.py +0 -0
  1634. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/context}/test_context_epoch.py +0 -0
  1635. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/context}/test_slash_skills.py +0 -0
  1636. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/context}/test_tool_shapers.py +0 -0
  1637. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/fixtures/bitbucket_dc_style_pr.diff +0 -0
  1638. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/goals}/test_goal_persistence.py +0 -0
  1639. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/llm}/test_pricing.py +0 -0
  1640. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/mcp}/test_mcp_oauth.py +0 -0
  1641. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/mcp}/test_mcp_oauth_regressions.py +0 -0
  1642. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/memory}/test_memory_layout_migrate.py +0 -0
  1643. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/messages}/test_message_pipeline.py +0 -0
  1644. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_branch_store_backends.py +0 -0
  1645. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_firestore_history.py +0 -0
  1646. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_firestore_scheduled_loops.py +0 -0
  1647. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_firestore_usage.py +0 -0
  1648. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_history_branches.py +0 -0
  1649. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_history_row_ids.py +0 -0
  1650. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_runs.py +0 -0
  1651. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_scheduled_loops.py +0 -0
  1652. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_session_branches_migration.py +0 -0
  1653. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_session_turn_locks.py +0 -0
  1654. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_storage_backends.py +0 -0
  1655. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_thread_summary_wire.py +0 -0
  1656. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_transcript.py +0 -0
  1657. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_transcript_reader.py +0 -0
  1658. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_usage.py +0 -0
  1659. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/persistence}/test_usage_migration.py +0 -0
  1660. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/runtime}/test_context_budget.py +0 -0
  1661. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/runtime}/test_durable_events.py +0 -0
  1662. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/runtime}/test_events.py +0 -0
  1663. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/runtime}/test_loop_transcript.py +0 -0
  1664. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/runtime}/test_provider_stream_mapper.py +0 -0
  1665. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/runtime}/test_realtime_loop.py +0 -0
  1666. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/runtime}/test_turn_session_id.py +0 -0
  1667. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/subagents}/test_progress_publish.py +0 -0
  1668. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/subagents}/test_subagent_transcript.py +0 -0
  1669. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/test_agent_layout.py +0 -0
  1670. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/test_layout.py +0 -0
  1671. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/test_logging_utils.py +0 -0
  1672. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/test_path_safety.py +0 -0
  1673. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/test_workspace_layout.py +0 -0
  1674. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/testing}/test_mocks_realtime_provider.py +0 -0
  1675. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_ask_user.py +0 -0
  1676. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_gitignore.py +0 -0
  1677. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_patch.py +0 -0
  1678. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_permission.py +0 -0
  1679. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_replace_fuzzy.py +0 -0
  1680. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_run_command_parse.py +0 -0
  1681. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_spill_inventory.py +0 -0
  1682. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_terminal.py +0 -0
  1683. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_workspace_extra_read_roots.py +0 -0
  1684. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_workspace_symlinks.py +0 -0
  1685. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/tools}/test_workspace_write_scope.py +0 -0
  1686. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/types}/test_content_blocks.py +0 -0
  1687. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/types}/test_tool_def_schema.py +0 -0
  1688. {monkeybot-3.10.0/tests/core → monkeybot-3.11.0/tests/unit/core/verifier}/test_verifier_binding.py +0 -0
  1689. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/workspace/test_factory.py +0 -0
  1690. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/workspace/test_local_storage.py +0 -0
  1691. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/core/workspace/test_protocol_contract.py +0 -0
  1692. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/__init__.py +0 -0
  1693. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_app.py +0 -0
  1694. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_deps.py +0 -0
  1695. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_guardrails.py +0 -0
  1696. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_manager.py +0 -0
  1697. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_metrics.py +0 -0
  1698. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_routes_client_text.py +0 -0
  1699. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_session.py +0 -0
  1700. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/realtime/test_wire.py +0 -0
  1701. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_attachments.py +0 -0
  1702. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_config_reload.py +0 -0
  1703. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_create_session_model.py +0 -0
  1704. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_gateway_runtime.py +0 -0
  1705. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_history_routes.py +0 -0
  1706. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_scheduler_routes.py +0 -0
  1707. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_start_turn_setup_failure.py +0 -0
  1708. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/sse/test_transcript_wiring.py +0 -0
  1709. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/test_otel_fastapi.py +0 -0
  1710. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/test_pending_response_endpoints.py +0 -0
  1711. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/test_realtime_main.py +0 -0
  1712. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/test_resolve_provider.py +0 -0
  1713. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/test_sdk_client_shutdown.py +0 -0
  1714. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/test_sse_events.py +0 -0
  1715. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/gateway/test_subagent_event_publisher.py +0 -0
  1716. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/observability/conftest.py +0 -0
  1717. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/observability/test_init.py +0 -0
  1718. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/observability/test_instrumentation.py +0 -0
  1719. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/observability/test_propagation.py +0 -0
  1720. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/observability/test_spans.py +0 -0
  1721. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/observability/test_truncate.py +0 -0
  1722. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_anthropic_history.py +0 -0
  1723. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_bedrock_estimate.py +0 -0
  1724. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_fireworks.py +0 -0
  1725. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_gemini_history.py +0 -0
  1726. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_gemini_live.py +0 -0
  1727. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_gemini_usage.py +0 -0
  1728. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_huggingface.py +0 -0
  1729. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_model_capabilities.py +0 -0
  1730. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_nvidia.py +0 -0
  1731. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_ollama.py +0 -0
  1732. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_openai_byte_budget.py +0 -0
  1733. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_openai_compat_usage.py +0 -0
  1734. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_request_budget.py +0 -0
  1735. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/providers/test_safe_parse_tool_args.py +0 -0
  1736. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/scheduler/test_engine.py +0 -0
  1737. {monkeybot-3.10.0/tests → monkeybot-3.11.0/tests/unit}/skills/__init__.py +0 -0
@@ -0,0 +1,106 @@
1
+ #!/usr/bin/env python3
2
+ """Tell the agent about a new failing test run. Advisory: always exit 0."""
3
+
4
+ from __future__ import annotations
5
+
6
+ import json
7
+ import re
8
+ import sys
9
+ from pathlib import Path
10
+
11
+ ROOT = Path(__file__).resolve().parents[2]
12
+ LATEST = ROOT / "test-runs" / "LATEST.json"
13
+ STATE = ROOT / ".cursor" / "hooks" / ".state" / "last_notified"
14
+
15
+ # Confirmed from a live postToolUse payload (2026-10-25): the shell command is
16
+ # tool_input.command. A top-level command is accepted if a future payload uses it.
17
+ _TEST_COMMAND = re.compile(
18
+ r"(?:^|[^\w.])(?:pytest|regression\.t4|regression\.t5|ci-local\.sh)(?:$|[^\w.])"
19
+ r"|(?:^|[^\w])git\s+push\b"
20
+ )
21
+
22
+
23
+ def main() -> None:
24
+ data = json.load(sys.stdin)
25
+ command = command_text(data)
26
+ if not command or _TEST_COMMAND.search(command) is None:
27
+ return
28
+ latest = load_latest()
29
+ if latest is None or not has_failures(latest):
30
+ return
31
+ run_id = str(latest.get("run_id") or "")
32
+ if not run_id or run_id == read_state():
33
+ return
34
+ write_state(run_id)
35
+ json.dump({"additional_context": notice(latest)}, sys.stdout)
36
+ sys.stdout.write("\n")
37
+
38
+
39
+ def command_text(data: object) -> str:
40
+ if not isinstance(data, dict):
41
+ return ""
42
+ raw = data.get("tool_input")
43
+ if isinstance(raw, dict):
44
+ command = raw.get("command")
45
+ if isinstance(command, str):
46
+ return command
47
+ if isinstance(raw, str):
48
+ try:
49
+ parsed = json.loads(raw)
50
+ except json.JSONDecodeError:
51
+ parsed = None
52
+ if isinstance(parsed, dict) and isinstance(parsed.get("command"), str):
53
+ return parsed["command"]
54
+ command = data.get("command")
55
+ return command if isinstance(command, str) else ""
56
+
57
+
58
+ def load_latest() -> dict | None:
59
+ if not LATEST.is_file():
60
+ return None
61
+ value = json.loads(LATEST.read_text(encoding="utf-8"))
62
+ return value if isinstance(value, dict) else None
63
+
64
+
65
+ def has_failures(latest: dict) -> bool:
66
+ counts = latest.get("counts")
67
+ if not isinstance(counts, dict):
68
+ return False
69
+ return any(int(counts.get(key) or 0) > 0 for key in ("failed", "errors", "xpassed_strict"))
70
+
71
+
72
+ def read_state() -> str:
73
+ if not STATE.is_file():
74
+ return ""
75
+ return STATE.read_text(encoding="utf-8").strip()
76
+
77
+
78
+ def write_state(run_id: str) -> None:
79
+ STATE.parent.mkdir(parents=True, exist_ok=True)
80
+ STATE.write_text(run_id + "\n", encoding="utf-8")
81
+
82
+
83
+ def notice(latest: dict) -> str:
84
+ counts = latest.get("counts") if isinstance(latest.get("counts"), dict) else {}
85
+ path = latest.get("path") or ""
86
+ run_id = latest.get("run_id") or ""
87
+ return (
88
+ "monkeybot failure ledger: a test command just finished a run that has failures. "
89
+ f"Run file: {path} (run_id {run_id}; "
90
+ f"failed={int(counts.get('failed') or 0)}, "
91
+ f"errors={int(counts.get('errors') or 0)}, "
92
+ f"xpassed_strict={int(counts.get('xpassed_strict') or 0)}). "
93
+ "This is a finding to report, not a task. Do not edit source, tests, scenarios, "
94
+ "goldens, cassettes, or baselines to make it pass, and do not skip, quarantine, "
95
+ "xfail, delete, or loosen a check. List this run file and each failure's case id, "
96
+ "path, and one-line error, then continue the original task. "
97
+ "Inspect: uv run python -m testkit.failures latest"
98
+ )
99
+
100
+
101
+ if __name__ == "__main__":
102
+ try:
103
+ main()
104
+ except Exception:
105
+ sys.stdout.write("")
106
+ raise SystemExit(0)
@@ -0,0 +1,33 @@
1
+ {
2
+ "version": 1,
3
+ "hooks": {
4
+ "beforeShellExecution": [
5
+ {
6
+ "command": ".cursor/hooks/pre-pr.py",
7
+ "matcher": "gh\\s+pr\\s+create",
8
+ "timeout": 2400,
9
+ "failClosed": true
10
+ }
11
+ ],
12
+ "beforeMCPExecution": [
13
+ {
14
+ "command": ".cursor/hooks/pre-pr.py",
15
+ "matcher": "create_pull_request",
16
+ "timeout": 2400,
17
+ "failClosed": true
18
+ }
19
+ ],
20
+ "postToolUse": [
21
+ {
22
+ "command": ".cursor/hooks/test-failure-notice.py",
23
+ "matcher": "Shell"
24
+ }
25
+ ],
26
+ "postToolUseFailure": [
27
+ {
28
+ "command": ".cursor/hooks/test-failure-notice.py",
29
+ "matcher": "Shell"
30
+ }
31
+ ]
32
+ }
33
+ }
@@ -0,0 +1,10 @@
1
+ ---
2
+ description: Report test failures from the ledger instead of fixing them.
3
+ alwaysApply: true
4
+ ---
5
+
6
+ - A failing test, scenario, or trial is a finding to report, not a task. Do not edit source, tests, scenarios, goldens, cassettes, or baselines to make it pass.
7
+ - Do not skip, quarantine, `xfail`, delete, or loosen a check to make a run green.
8
+ - In the reply, list the run file and each failure's case id, path, and one-line error. Then continue the original task, or stop if it cannot continue without the failing behavior.
9
+ - Exception: the user explicitly asked to fix test failures (for example "fix the failures in run X" or "fix fingerprint abc123"). Then use `python -m testkit.failures prompt <fingerprint>` as the brief.
10
+ - Running the tests again to confirm a failure is fine; changing things between runs is not.
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: mb-retro
3
+ description: >-
4
+ Review one MonkeyBot session transcript and propose environment fixes
5
+ (checks, verifier criteria, AGENT.md pointers, tool access). Use ONLY when
6
+ the user explicitly asks for /mb-retro, a MonkeyBot retro, or to review a
7
+ MonkeyBot transcript for why the agent struggled. Do not run during ordinary
8
+ coding, and do not edit anything until the user picks a candidate.
9
+ disable-model-invocation: true
10
+ ---
11
+
12
+ # mb-retro
13
+
14
+ Look at one MonkeyBot session and propose changes to the agent's environment so the next run goes better. Propose only. Edit nothing until the user picks a candidate.
15
+
16
+ This is the MonkeyBot form of a session retro. It does not review the code the session produced. If the user wants a verdict on a diff, that is a code review, not this skill.
17
+
18
+ ## Input
19
+
20
+ A session id, a session directory, or a `transcript.ndjson` path. Transcripts live under `{workspace}/.monkeybot/transcripts/` and exist only when `runtime.transcript_enabled` is true in `monkeybot.yaml`.
21
+
22
+ From the monkeybot repo:
23
+
24
+ ```bash
25
+ uv run monkeybot trace list --cwd <agent-root>
26
+ uv run monkeybot trace digest <session-id-or-path> --cwd <agent-root>
27
+ ```
28
+
29
+ If the user does not name a session, run `trace list` and suggest the session with the highest `score`. Say which one you are using. Do not retro every session.
30
+
31
+ ## Read
32
+
33
+ 1. Run `uv run monkeybot trace digest <id>`. That output is already resolved. Do not hand-expand `text_seq`, `result_seq`, `schema_seq`, `content_seq`, or `base_seq` diffs.
34
+ 2. Open one record only when the digest line is not enough: `uv run monkeybot trace digest <id> --seq N`. Repeat `--seq` for a few records, not the whole file.
35
+ 3. Subagent work is inlined under the `task` call that started it, from `{session}/subagents/`. Runs the digest cannot tie to a call appear under `Unlinked subagent runs`. If a line says `no child transcript`, say so and do not invent what the child did.
36
+ 4. A `--seq` record with `text_error: diff_mismatch` was written by an older harness whose prompt diff cannot be rebuilt. Do not quote its text.
37
+
38
+ A smooth digest (score 0, short timeline, no interventions) has little to teach. Say that and stop.
39
+
40
+ ## Find struggle moments
41
+
42
+ Every candidate must cite one or more `@seq` lines from this digest. Discard any candidate you cannot point at a specific moment. Do not fill categories with generic advice.
43
+
44
+ Look for:
45
+
46
+ - Tool errors, especially the same `error_kind` more than once
47
+ - `HarnessIntervention` (`doom_loop`, `truncated_batch`, `empty_completion`, `post_tool_empty`, `background_jobs_nudge`, `compaction_fallback`, `max_turns`, `verifier_replan`)
48
+ - Steers, verifier verdicts, empty assistant replies, context summaries
49
+ - Slow tools and repeated identical calls
50
+ - A long search before a fact that a pointer would have named
51
+ - A subagent that struggled while the parent looked fine
52
+
53
+ ## Classify
54
+
55
+ Put each moment in one category. The category decides where the fix goes.
56
+
57
+ | What went wrong | Propose |
58
+ | --- | --- |
59
+ | Slow to find a fact | A navigation pointer in the agent's `AGENT.md`, a skill description, or a memory entry |
60
+ | A mechanical mistake | An inspector or `PRE_TOOL` hook, tighter tool-schema validation, `permissions.yaml` or a path grant, or a guard threshold |
61
+ | A judgement-call miss | A verifier criterion. The verifier is the reviewer. |
62
+ | Bloated `AGENT.md` or harness prompt (`src/monkeybot/core/prompts/harness_prompt.py`) | Move the steering into an on-demand skill, or delete the no-op lines |
63
+ | An expensive tool call | Trim tool output, spill it to a file, or load tools progressively |
64
+ | Missing information or access | An MCP server, a tool, or wider permissions |
65
+ | The agent behaved reasonably and the harness misbehaved | A code fix plus a regression test in `tests/`, or a live scenario under `regression/t4/scenarios/` |
66
+
67
+ ## Rules
68
+
69
+ - A mechanical problem gets a check that can fail, never a sentence in a steering file.
70
+ - `AGENT.md` gets navigation pointers only. Do not add new standing rules there, and do not add them to a root `AGENTS.md` or `CLAUDE.md`.
71
+ - If a check already exists but is not wired up, the fix is to wire it, not to write a second one.
72
+ - A missing guardrail (no test or eval covers this failure) is its own finding.
73
+ - Rank by severity for the next session, not by how loud the log line was. A quiet expensive miss can outrank a noisy cheap one. Say that the order is a draft.
74
+ - Do not propose deleting lint rules, hooks, or CI jobs from other sessions. This skill sees one transcript.
75
+
76
+ ## Output
77
+
78
+ Ranked candidates, most severe first. For each one:
79
+
80
+ 1. **Moment** — quote the digest lines and their `@seq` numbers.
81
+ 2. **Category** — one row from the table.
82
+ 3. **Target** — the exact file or config key.
83
+ 4. **Change** — the proposed check, pointer, criterion, or deletion, in a few lines. Not a patch yet.
84
+
85
+ Then stop and ask which candidates to apply. Do not edit files, install hooks, or change `monkeybot.yaml` before that.
@@ -0,0 +1,51 @@
1
+ # Automatic runs are off. Pushing a branch runs this same suite locally
2
+ # (scripts/ci-local.sh via the pre-push hook). Dispatch this workflow from the
3
+ # Actions tab only when you want a GitHub-hosted run.
4
+ name: CI
5
+
6
+ on:
7
+ workflow_dispatch:
8
+
9
+ jobs:
10
+ python:
11
+ runs-on: ubuntu-latest
12
+ steps:
13
+ - uses: actions/checkout@v4
14
+
15
+ - name: Install ripgrep and GitHub CLI
16
+ run: sudo apt-get update && sudo apt-get install -y ripgrep gh
17
+
18
+ - uses: astral-sh/setup-uv@v5
19
+ with:
20
+ version: "latest"
21
+
22
+ - name: Sync dependencies
23
+ run: uv sync --extra claude --extra vertex-claude --extra bedrock --extra firestore
24
+
25
+ - name: Ruff format
26
+ run: uv run ruff format --check .
27
+
28
+ - name: Mypy
29
+ run: uv run mypy src/monkeybot testkit
30
+
31
+ # §9 cassette-staleness: the reminder is a PR that touches any uv.lock.
32
+ # This workflow stays workflow_dispatch (D2), so the step runs on every
33
+ # dispatch. No provider key. scripts/ci-local.sh runs the same command.
34
+ - name: cassette-staleness
35
+ run: uv run python -m regression.t3.tools.check_staleness
36
+
37
+ - name: Pytest
38
+ run: uv run pytest tests regression -m "t1 or t2 or t3" -q -n auto
39
+
40
+ - name: CLI pytest
41
+ working-directory: cli
42
+ run: |
43
+ uv sync
44
+ uv run pytest -q
45
+
46
+ - name: Browser MCP pytest
47
+ working-directory: integrations/browser-mcp
48
+ run: |
49
+ uv sync --dev
50
+ # Root pytest.ini addopts load regression.plugin, which imports monkeybot.
51
+ uv run pytest -q -o addopts= -p testkit.failure_ledger
@@ -0,0 +1,179 @@
1
+ name: Live eval smoke
2
+
3
+ # Runs the live eval smoke suite (see docs/live-evals.md) and posts a Markdown
4
+ # scorecard. Manual only (Actions tab -> Live eval smoke -> Run workflow): live runs
5
+ # happen locally (decision D1), and GitHub has no provider key, so an automatic trigger
6
+ # would only report an empty scorecard.
7
+ # The scorecard lands on the workflow run's Summary page. The run JSON is uploaded as
8
+ # an artifact — download two of them and
9
+ # compare with `uv run python -m regression.t4.diff <old.json> <new.json>`.
10
+ #
11
+ # Cost/time budget: smoke suite is 12 scenarios x 2-5 turns x (agent call + judge call),
12
+ # paced by EVAL_SCENARIO_DELAY_SEC=150 between scenarios to stay under the current
13
+ # model's provider rate limit. Expect ~30-45 minutes per run (11 delays x 150s = 27.5 min
14
+ # of pacing alone, plus actual call time) — this is not stuck if it runs long; see
15
+ # timeout-minutes below.
16
+ #
17
+ # No provider key is passed to this workflow (decision D1): the live smoke suite runs
18
+ # locally with `uv run python -m regression.t4 --suite smoke`, reading the Ollama Cloud
19
+ # key from the shell or the repo-root .env. Here the suite's preflight finds no key and
20
+ # exits 2 with a run_error instead of skipping silently.
21
+
22
+ on:
23
+ workflow_dispatch:
24
+
25
+ permissions:
26
+ contents: read
27
+ pull-requests: write
28
+
29
+ jobs:
30
+ gate:
31
+ runs-on: ubuntu-latest
32
+ outputs:
33
+ run: ${{ steps.decide.outputs.run }}
34
+ steps:
35
+ - uses: actions/checkout@v4
36
+ with:
37
+ fetch-depth: 0
38
+
39
+ - id: decide
40
+ env:
41
+ EVENT_NAME: ${{ github.event_name }}
42
+ BASE_REF: ${{ github.base_ref }}
43
+ HEAD_REF: ${{ github.head_ref }}
44
+ BASE_SHA: ${{ github.event.pull_request.base.sha }}
45
+ HEAD_SHA: ${{ github.event.pull_request.head.sha }}
46
+ run: |
47
+ run=false
48
+ # Push to main and manual dispatch always run; PRs are gated below.
49
+ if [[ "$EVENT_NAME" != "pull_request" ]]; then
50
+ run=true
51
+ else
52
+ if [[ "$BASE_REF" == "main" && "$HEAD_REF" == "develop" ]]; then
53
+ run=true
54
+ fi
55
+ changed="$(git diff --name-only "$BASE_SHA" "$HEAD_SHA")"
56
+ for f in uv.lock cli/uv.lock regression/t4/agent/uv.lock; do
57
+ if grep -qxF "$f" <<<"$changed"; then
58
+ run=true
59
+ fi
60
+ done
61
+ fi
62
+ echo "run=$run" >> "$GITHUB_OUTPUT"
63
+
64
+ live-eval:
65
+ needs: gate
66
+ if: needs.gate.outputs.run == 'true'
67
+ runs-on: ubuntu-latest
68
+ timeout-minutes: 60 # 12 scenarios x ~150s inter-scenario delay (see EVAL_SCENARIO_DELAY_SEC) + run time,
69
+ # plus headroom for checkout/uv sync/gateway boot and slow judge or subagent turns
70
+ steps:
71
+ - uses: actions/checkout@v4
72
+
73
+ - uses: astral-sh/setup-uv@v5
74
+ with:
75
+ version: "latest"
76
+
77
+ - name: Sync root deps (regression/t4/report.py needs deepeval, langfuse)
78
+ run: uv sync --extra evals
79
+
80
+ - name: Sync agent project deps
81
+ working-directory: regression/t4/agent
82
+ run: uv sync
83
+
84
+ - name: Boot monkeybot gateway (regression/t4/agent workspace)
85
+ working-directory: regression/t4/agent
86
+ env:
87
+ # Agent model is YAML-only (regression/t4/agent/monkeybot_config/monkeybot.yaml).
88
+ # The agent monkeybot.yaml sets runtime.port: 8080; the health check and
89
+ # AGENT_URL below expect 8787, so pin PORT explicitly (env beats yaml).
90
+ PORT: "8787"
91
+ SANDBOX_ENABLED: "false" # no Docker socket in this runner
92
+ # summarization_trigger is excluded from smoke; if it returns, set
93
+ # model.context_window in the agent YAML (not MODEL_CONTEXT_WINDOW env).
94
+ run: |
95
+ uv run -m monkeybot.gateway.main > /tmp/gateway.log 2>&1 &
96
+ echo $! > /tmp/gateway.pid
97
+ for i in $(seq 1 30); do
98
+ if curl -sf http://127.0.0.1:8787/health > /dev/null; then
99
+ echo "gateway healthy"
100
+ exit 0
101
+ fi
102
+ sleep 2
103
+ done
104
+ echo "gateway did not become healthy" >&2
105
+ cat /tmp/gateway.log >&2
106
+ exit 1
107
+
108
+ - name: Run smoke suite report
109
+ env:
110
+ AGENT_URL: http://127.0.0.1:8787
111
+ # The judge comes from regression/t4/eval_config.yaml.
112
+ # Scorecard metadata: read the model the gateway ran from the agent YAML.
113
+ MONKEYBOT_AGENT_CONFIG: regression/t4/agent/monkeybot_config/monkeybot.yaml
114
+ EVENT_NAME: ${{ github.event_name }}
115
+ # Each scenario itself makes several requests in quick succession, so space
116
+ # scenarios out to stay under the provider's rate limit rather than trying to
117
+ # throttle within one.
118
+ EVAL_SCENARIO_DELAY_SEC: "150"
119
+ run: |
120
+ # PRs are a gate and must block on regressions; main pushes and manual runs
121
+ # just score the build and always report. --fail-on-regression always blocks on
122
+ # this run's own scenario errors/failures. It does NOT require
123
+ # regression/t4/baselines/smoke.json to exist (that's the separate
124
+ # --require-baseline flag, intentionally omitted below) — no trusted baseline has
125
+ # been committed yet. Once one has
126
+ # (`uv run python -m regression.t4 --suite smoke --update-baseline`, committed),
127
+ # add --require-baseline here too so a missing/deleted file can't silently skip
128
+ # the token/cost/latency drift checks.
129
+ flags=""
130
+ if [[ "$EVENT_NAME" == "pull_request" ]]; then
131
+ flags="--fail-on-regression"
132
+ fi
133
+ uv run python -m regression.t4 \
134
+ --suite smoke \
135
+ --baseline regression/t4/baselines/smoke.json \
136
+ $flags \
137
+ | tee eval-report.md
138
+
139
+ - name: Publish report to run summary
140
+ if: always()
141
+ run: |
142
+ if [[ -f eval-report.md ]]; then
143
+ cat eval-report.md >> "$GITHUB_STEP_SUMMARY"
144
+ else
145
+ echo '`FAIL` — no report produced; see the job logs.' >> "$GITHUB_STEP_SUMMARY"
146
+ fi
147
+
148
+ - name: Post report as PR comment
149
+ if: always() && github.event_name == 'pull_request'
150
+ uses: actions/github-script@v7
151
+ with:
152
+ script: |
153
+ const fs = require("fs");
154
+ const body = fs.existsSync("eval-report.md")
155
+ ? fs.readFileSync("eval-report.md", "utf8")
156
+ : "## monkeybot Eval Scorecard\n\n`FAIL` — the report step did not complete " +
157
+ "(gateway boot or the report command itself errored before writing a report). " +
158
+ "See the workflow run logs for details.";
159
+ await github.rest.issues.createComment({
160
+ issue_number: context.issue.number,
161
+ owner: context.repo.owner,
162
+ repo: context.repo.repo,
163
+ body,
164
+ });
165
+
166
+ - name: Upload run + report artifacts
167
+ if: always()
168
+ uses: actions/upload-artifact@v4
169
+ with:
170
+ name: live-eval-smoke-${{ github.run_id }}
171
+ path: |
172
+ regression/t4/runs/
173
+ eval-report.md
174
+ if-no-files-found: ignore
175
+
176
+ - name: Stop gateway
177
+ if: always()
178
+ working-directory: regression/t4/agent
179
+ run: kill "$(cat /tmp/gateway.pid)" 2>/dev/null || true
@@ -0,0 +1,90 @@
1
+ # Internal (not shipped in OSS)
2
+ internal/
3
+
4
+ # Environment
5
+ .env
6
+ .env.*
7
+ !.env.example
8
+ # The grants fixture's .env is fixture data, not a local secret.
9
+ !regression/fixtures/workspaces/grants_ws/granted/.env
10
+
11
+ # Local scaffolded harness config (defaults ship in monkeybot-cli scaffold_defaults/)
12
+ /monkeybot_config/
13
+
14
+ # Live eval run artifacts. Baselines under regression/t4/baselines/ stay versioned.
15
+ /regression/t4/runs/
16
+ # Live-eval agent project local state. Live secrets come from the repo-root .env; a stray key
17
+ # file in the agent project stays out of git. The two workspace .gitkeep files need git add -f.
18
+ /regression/t4/agent/.env
19
+ /regression/t4/agent/data/
20
+ /regression/t4/agent/workspace/
21
+
22
+ # Python
23
+ __pycache__/
24
+ *.py[cod]
25
+ *.pyo
26
+ *.pyd
27
+ .Python
28
+ *.egg-info/
29
+ dist/
30
+ build/
31
+ .eggs/
32
+ *.egg
33
+
34
+ # uv
35
+ .venv/
36
+ .uv/
37
+
38
+ # Data (SQLite DB + memory files — never commit)
39
+ data/
40
+ # Shared attachment fixtures live here (§5.4); they are not a local data dir.
41
+ !testkit/data/
42
+ !testkit/data/**
43
+ /memory/
44
+ .monkeybot/
45
+ # Store layout for the attachment loop fixture. The directory name is ignored above.
46
+ !regression/fixtures/workspaces/att_ws/.monkeybot/
47
+ !regression/fixtures/workspaces/att_ws/.monkeybot/**
48
+ *.sqlite3
49
+ workspace/.monkeybot/
50
+ *.sqlite
51
+ *.sqlite.writer-pid
52
+
53
+ # Testing & coverage
54
+ /test-runs/
55
+ /.cursor/hooks/.state/
56
+ .pytest_cache/
57
+ .coverage
58
+ htmlcov/
59
+ .mypy_cache/
60
+ .ruff_cache/
61
+ .deepeval/
62
+
63
+ # macOS
64
+ .DS_Store
65
+
66
+ # IDEs
67
+ .idea/
68
+ .vscode/
69
+ *.swp
70
+ *.swo
71
+
72
+ # Docker
73
+ docker/data/
74
+
75
+ # Planning Documents
76
+ .prt/
77
+ .monkeymode/
78
+
79
+ # Reference clones (read-only)
80
+ code/
81
+
82
+ # Local venv for evals dependency experiments
83
+ .evals-venv/
84
+
85
+ # monkeythink
86
+ .monkeythink/
87
+ # Eval fixtures ship their own build/ decoy
88
+ !/regression/fixtures/workspaces/calc_repo/build/
89
+ !/regression/fixtures/workspaces/calc_repo_green/build/
90
+ !/regression/fixtures/workspaces/shop_repo/build/
@@ -0,0 +1,36 @@
1
+ # Pre-commit hooks for monkeybot
2
+ # Install: uv run pre-commit install && uv run pre-commit install --hook-type pre-push
3
+ # Run the commit hooks manually: uv run pre-commit run --all-files
4
+ # Run the full pull-request suite: bash scripts/ci-local.sh
5
+
6
+ repos:
7
+ - repo: local
8
+ hooks:
9
+ - id: ruff-format
10
+ name: ruff format
11
+ entry: uv run ruff format --check .
12
+ language: system
13
+ pass_filenames: false
14
+ always_run: true
15
+
16
+ - id: mypy
17
+ name: mypy (src/monkeybot)
18
+ entry: uv run mypy src/monkeybot
19
+ language: system
20
+ pass_filenames: false
21
+ always_run: true
22
+
23
+ - id: pytest
24
+ name: pytest (changed tests or collection check)
25
+ entry: bash scripts/precommit-pytest.sh
26
+ language: system
27
+ files: ^(src/monkeybot|testkit|tests|regression)/.*\.py$
28
+ pass_filenames: true
29
+
30
+ - id: local-ci
31
+ name: local CI (ruff format, mypy, pytest, cli, browser MCP, eval self-checks)
32
+ entry: bash scripts/ci-local.sh --if-needed
33
+ language: system
34
+ pass_filenames: false
35
+ always_run: true
36
+ stages: [pre-push]