chimera-agent 0.4.1__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 (361) hide show
  1. chimera_agent-0.4.1/.dockerignore +24 -0
  2. chimera_agent-0.4.1/.env.example +148 -0
  3. chimera_agent-0.4.1/.gitattributes +5 -0
  4. chimera_agent-0.4.1/.github/FUNDING.yml +3 -0
  5. chimera_agent-0.4.1/.github/ISSUE_TEMPLATE/bug_report.md +28 -0
  6. chimera_agent-0.4.1/.github/ISSUE_TEMPLATE/config.yml +8 -0
  7. chimera_agent-0.4.1/.github/ISSUE_TEMPLATE/feature_request.md +19 -0
  8. chimera_agent-0.4.1/.github/PULL_REQUEST_TEMPLATE.md +16 -0
  9. chimera_agent-0.4.1/.github/workflows/ci.yml +68 -0
  10. chimera_agent-0.4.1/.github/workflows/publish.yml +35 -0
  11. chimera_agent-0.4.1/.github/workflows/quality-bench.yml +39 -0
  12. chimera_agent-0.4.1/.gitignore +48 -0
  13. chimera_agent-0.4.1/CHANGELOG.md +606 -0
  14. chimera_agent-0.4.1/CODE_OF_CONDUCT.md +57 -0
  15. chimera_agent-0.4.1/CONTRIBUTING.md +35 -0
  16. chimera_agent-0.4.1/Dockerfile +32 -0
  17. chimera_agent-0.4.1/LICENSE +201 -0
  18. chimera_agent-0.4.1/PKG-INFO +311 -0
  19. chimera_agent-0.4.1/README.de.md +248 -0
  20. chimera_agent-0.4.1/README.es.md +247 -0
  21. chimera_agent-0.4.1/README.fr.md +248 -0
  22. chimera_agent-0.4.1/README.ja.md +241 -0
  23. chimera_agent-0.4.1/README.md +253 -0
  24. chimera_agent-0.4.1/README.pt-BR.md +247 -0
  25. chimera_agent-0.4.1/README.zh-CN.md +236 -0
  26. chimera_agent-0.4.1/SECURITY.md +108 -0
  27. chimera_agent-0.4.1/VISION.md +64 -0
  28. chimera_agent-0.4.1/assets/favicon.ico +0 -0
  29. chimera_agent-0.4.1/assets/favicon.png +0 -0
  30. chimera_agent-0.4.1/assets/icon.png +0 -0
  31. chimera_agent-0.4.1/assets/logo-wide.png +0 -0
  32. chimera_agent-0.4.1/assets/logo.png +0 -0
  33. chimera_agent-0.4.1/bench/local_lift/README.md +44 -0
  34. chimera_agent-0.4.1/bench/local_lift/RESULTS.md +84 -0
  35. chimera_agent-0.4.1/bench/local_lift/run_ab.py +171 -0
  36. chimera_agent-0.4.1/bench/local_lift/run_ci.py +121 -0
  37. chimera_agent-0.4.1/bench/local_lift/tasks.py +199 -0
  38. chimera_agent-0.4.1/bench/terminal_bench/README.md +90 -0
  39. chimera_agent-0.4.1/bench/terminal_bench/chimera_agent.py +25 -0
  40. chimera_agent-0.4.1/bench/terminal_bench/chimera_installed_agent.py +120 -0
  41. chimera_agent-0.4.1/bench/terminal_bench/collect.py +73 -0
  42. chimera_agent-0.4.1/bench/terminal_bench/run_ab.sh +69 -0
  43. chimera_agent-0.4.1/bench/terminal_bench/setup.sh +37 -0
  44. chimera_agent-0.4.1/chimera/__init__.py +19 -0
  45. chimera_agent-0.4.1/chimera/cli/__init__.py +1 -0
  46. chimera_agent-0.4.1/chimera/cli/main.py +3239 -0
  47. chimera_agent-0.4.1/chimera/config.py +281 -0
  48. chimera_agent-0.4.1/chimera/core/__init__.py +90 -0
  49. chimera_agent-0.4.1/chimera/core/agent.py +194 -0
  50. chimera_agent-0.4.1/chimera/core/autonomous.py +585 -0
  51. chimera_agent-0.4.1/chimera/core/checklist.py +115 -0
  52. chimera_agent-0.4.1/chimera/core/checkpoint.py +98 -0
  53. chimera_agent-0.4.1/chimera/core/contract.py +122 -0
  54. chimera_agent-0.4.1/chimera/core/events.py +53 -0
  55. chimera_agent-0.4.1/chimera/core/explorer.py +197 -0
  56. chimera_agent-0.4.1/chimera/core/ledger.py +135 -0
  57. chimera_agent-0.4.1/chimera/core/planner.py +53 -0
  58. chimera_agent-0.4.1/chimera/core/repomap.py +101 -0
  59. chimera_agent-0.4.1/chimera/core/runstate.py +88 -0
  60. chimera_agent-0.4.1/chimera/core/spine.py +85 -0
  61. chimera_agent-0.4.1/chimera/core/strong_verify.py +63 -0
  62. chimera_agent-0.4.1/chimera/core/subagent.py +96 -0
  63. chimera_agent-0.4.1/chimera/core/supervisor.py +104 -0
  64. chimera_agent-0.4.1/chimera/core/verify.py +60 -0
  65. chimera_agent-0.4.1/chimera/core/worktree.py +124 -0
  66. chimera_agent-0.4.1/chimera/deliver.py +41 -0
  67. chimera_agent-0.4.1/chimera/ecosystem/__init__.py +64 -0
  68. chimera_agent-0.4.1/chimera/ecosystem/change_queue.py +58 -0
  69. chimera_agent-0.4.1/chimera/ecosystem/events.py +53 -0
  70. chimera_agent-0.4.1/chimera/ecosystem/evolution.py +258 -0
  71. chimera_agent-0.4.1/chimera/ecosystem/loop.py +216 -0
  72. chimera_agent-0.4.1/chimera/ecosystem/meta_agent.py +119 -0
  73. chimera_agent-0.4.1/chimera/ecosystem/spec.py +100 -0
  74. chimera_agent-0.4.1/chimera/ecosystem/trajectory.py +119 -0
  75. chimera_agent-0.4.1/chimera/eval/__init__.py +137 -0
  76. chimera_agent-0.4.1/chimera/eval/anytime.py +58 -0
  77. chimera_agent-0.4.1/chimera/eval/bench_ab.py +110 -0
  78. chimera_agent-0.4.1/chimera/eval/chained.py +72 -0
  79. chimera_agent-0.4.1/chimera/eval/continuous.py +293 -0
  80. chimera_agent-0.4.1/chimera/eval/evoclaw.py +126 -0
  81. chimera_agent-0.4.1/chimera/eval/fusion_ab.py +109 -0
  82. chimera_agent-0.4.1/chimera/eval/hard.py +88 -0
  83. chimera_agent-0.4.1/chimera/eval/injection.py +154 -0
  84. chimera_agent-0.4.1/chimera/eval/memory_bench.py +109 -0
  85. chimera_agent-0.4.1/chimera/eval/rubric.py +95 -0
  86. chimera_agent-0.4.1/chimera/eval/rubric_grade.py +131 -0
  87. chimera_agent-0.4.1/chimera/eval/sandbox.py +151 -0
  88. chimera_agent-0.4.1/chimera/eval/scenarios.py +99 -0
  89. chimera_agent-0.4.1/chimera/eval/schema_ab.py +139 -0
  90. chimera_agent-0.4.1/chimera/eval/skillcard_ab.py +165 -0
  91. chimera_agent-0.4.1/chimera/eval/spec_tuning.py +28 -0
  92. chimera_agent-0.4.1/chimera/eval/swe_bench.py +157 -0
  93. chimera_agent-0.4.1/chimera/eval/terminal_bench.py +143 -0
  94. chimera_agent-0.4.1/chimera/evolution/__init__.py +79 -0
  95. chimera_agent-0.4.1/chimera/evolution/attribution.py +67 -0
  96. chimera_agent-0.4.1/chimera/evolution/auto_evolve.py +185 -0
  97. chimera_agent-0.4.1/chimera/evolution/card_retrieval.py +114 -0
  98. chimera_agent-0.4.1/chimera/evolution/collective.py +90 -0
  99. chimera_agent-0.4.1/chimera/evolution/edit_diagnostic.py +70 -0
  100. chimera_agent-0.4.1/chimera/evolution/evolver.py +196 -0
  101. chimera_agent-0.4.1/chimera/evolution/experience.py +109 -0
  102. chimera_agent-0.4.1/chimera/evolution/gepa.py +305 -0
  103. chimera_agent-0.4.1/chimera/evolution/learned_skill.py +146 -0
  104. chimera_agent-0.4.1/chimera/evolution/playbook.py +282 -0
  105. chimera_agent-0.4.1/chimera/evolution/skill_nudges.py +63 -0
  106. chimera_agent-0.4.1/chimera/evolution/skill_store.py +152 -0
  107. chimera_agent-0.4.1/chimera/evolution/stagnation.py +150 -0
  108. chimera_agent-0.4.1/chimera/features.py +109 -0
  109. chimera_agent-0.4.1/chimera/fusion/__init__.py +33 -0
  110. chimera_agent-0.4.1/chimera/fusion/consistency.py +154 -0
  111. chimera_agent-0.4.1/chimera/fusion/engine.py +356 -0
  112. chimera_agent-0.4.1/chimera/fusion/router.py +213 -0
  113. chimera_agent-0.4.1/chimera/fusion/verifier_select.py +98 -0
  114. chimera_agent-0.4.1/chimera/governance/__init__.py +90 -0
  115. chimera_agent-0.4.1/chimera/governance/actors.py +90 -0
  116. chimera_agent-0.4.1/chimera/governance/allowlist.py +65 -0
  117. chimera_agent-0.4.1/chimera/governance/audit.py +40 -0
  118. chimera_agent-0.4.1/chimera/governance/drift.py +118 -0
  119. chimera_agent-0.4.1/chimera/governance/governed_tool.py +52 -0
  120. chimera_agent-0.4.1/chimera/governance/kernel.py +78 -0
  121. chimera_agent-0.4.1/chimera/governance/ledger.py +240 -0
  122. chimera_agent-0.4.1/chimera/governance/ledger_tool.py +157 -0
  123. chimera_agent-0.4.1/chimera/governance/policy.py +91 -0
  124. chimera_agent-0.4.1/chimera/governance/precedent.py +99 -0
  125. chimera_agent-0.4.1/chimera/governance/quarantine.py +153 -0
  126. chimera_agent-0.4.1/chimera/governance/validator.py +79 -0
  127. chimera_agent-0.4.1/chimera/integrations/__init__.py +54 -0
  128. chimera_agent-0.4.1/chimera/integrations/a2a.py +243 -0
  129. chimera_agent-0.4.1/chimera/integrations/connectors.py +59 -0
  130. chimera_agent-0.4.1/chimera/integrations/mcp_client.py +204 -0
  131. chimera_agent-0.4.1/chimera/integrations/messaging.py +75 -0
  132. chimera_agent-0.4.1/chimera/integrations/openapi.py +245 -0
  133. chimera_agent-0.4.1/chimera/interface/__init__.py +10 -0
  134. chimera_agent-0.4.1/chimera/interface/session.py +103 -0
  135. chimera_agent-0.4.1/chimera/kanban/__init__.py +26 -0
  136. chimera_agent-0.4.1/chimera/kanban/board.py +72 -0
  137. chimera_agent-0.4.1/chimera/kanban/dispatch.py +66 -0
  138. chimera_agent-0.4.1/chimera/kanban/lanes.py +67 -0
  139. chimera_agent-0.4.1/chimera/kanban/models.py +24 -0
  140. chimera_agent-0.4.1/chimera/memory/__init__.py +35 -0
  141. chimera_agent-0.4.1/chimera/memory/consolidate.py +73 -0
  142. chimera_agent-0.4.1/chimera/memory/gate.py +52 -0
  143. chimera_agent-0.4.1/chimera/memory/graph.py +152 -0
  144. chimera_agent-0.4.1/chimera/memory/manager.py +236 -0
  145. chimera_agent-0.4.1/chimera/memory/models.py +27 -0
  146. chimera_agent-0.4.1/chimera/memory/nudges.py +70 -0
  147. chimera_agent-0.4.1/chimera/memory/semantic.py +68 -0
  148. chimera_agent-0.4.1/chimera/memory/sqlite_store.py +110 -0
  149. chimera_agent-0.4.1/chimera/memory/store.py +63 -0
  150. chimera_agent-0.4.1/chimera/memory/value.py +55 -0
  151. chimera_agent-0.4.1/chimera/migration/__init__.py +23 -0
  152. chimera_agent-0.4.1/chimera/migration/base.py +203 -0
  153. chimera_agent-0.4.1/chimera/migration/importers.py +48 -0
  154. chimera_agent-0.4.1/chimera/orchestration/__init__.py +57 -0
  155. chimera_agent-0.4.1/chimera/orchestration/comms.py +58 -0
  156. chimera_agent-0.4.1/chimera/orchestration/crew.py +255 -0
  157. chimera_agent-0.4.1/chimera/orchestration/isolation.py +184 -0
  158. chimera_agent-0.4.1/chimera/orchestration/lifecycle.py +139 -0
  159. chimera_agent-0.4.1/chimera/orchestration/roles.py +78 -0
  160. chimera_agent-0.4.1/chimera/pet.py +92 -0
  161. chimera_agent-0.4.1/chimera/providers/__init__.py +19 -0
  162. chimera_agent-0.4.1/chimera/providers/cache.py +69 -0
  163. chimera_agent-0.4.1/chimera/providers/gateway.py +439 -0
  164. chimera_agent-0.4.1/chimera/sandbox/__init__.py +34 -0
  165. chimera_agent-0.4.1/chimera/sandbox/base.py +25 -0
  166. chimera_agent-0.4.1/chimera/sandbox/docker.py +86 -0
  167. chimera_agent-0.4.1/chimera/sandbox/local.py +53 -0
  168. chimera_agent-0.4.1/chimera/scheduler/__init__.py +21 -0
  169. chimera_agent-0.4.1/chimera/scheduler/daemon.py +111 -0
  170. chimera_agent-0.4.1/chimera/scheduler/engine.py +179 -0
  171. chimera_agent-0.4.1/chimera/scheduler/learner.py +101 -0
  172. chimera_agent-0.4.1/chimera/scheduler/models.py +32 -0
  173. chimera_agent-0.4.1/chimera/scheduler/store.py +72 -0
  174. chimera_agent-0.4.1/chimera/server/__init__.py +39 -0
  175. chimera_agent-0.4.1/chimera/server/discord_adapter.py +139 -0
  176. chimera_agent-0.4.1/chimera/server/gateway.py +89 -0
  177. chimera_agent-0.4.1/chimera/server/http.py +156 -0
  178. chimera_agent-0.4.1/chimera/server/mcp_server.py +126 -0
  179. chimera_agent-0.4.1/chimera/server/signal_adapter.py +96 -0
  180. chimera_agent-0.4.1/chimera/server/slack_adapter.py +114 -0
  181. chimera_agent-0.4.1/chimera/server/telegram_adapter.py +112 -0
  182. chimera_agent-0.4.1/chimera/server/whatsapp.py +104 -0
  183. chimera_agent-0.4.1/chimera/skills/__init__.py +28 -0
  184. chimera_agent-0.4.1/chimera/skills/base.py +86 -0
  185. chimera_agent-0.4.1/chimera/skills/builtin/__init__.py +39 -0
  186. chimera_agent-0.4.1/chimera/skills/builtin/code_skills.py +76 -0
  187. chimera_agent-0.4.1/chimera/skills/builtin/echo_skill.py +26 -0
  188. chimera_agent-0.4.1/chimera/skills/llm_skill.py +46 -0
  189. chimera_agent-0.4.1/chimera/skills/registry.py +62 -0
  190. chimera_agent-0.4.1/chimera/skills/retrieval.py +46 -0
  191. chimera_agent-0.4.1/chimera/telemetry.py +45 -0
  192. chimera_agent-0.4.1/chimera/tools/__init__.py +41 -0
  193. chimera_agent-0.4.1/chimera/tools/base.py +42 -0
  194. chimera_agent-0.4.1/chimera/tools/browser.py +134 -0
  195. chimera_agent-0.4.1/chimera/tools/browser_playwright.py +88 -0
  196. chimera_agent-0.4.1/chimera/tools/builtin.py +102 -0
  197. chimera_agent-0.4.1/chimera/tools/calendar.py +70 -0
  198. chimera_agent-0.4.1/chimera/tools/code.py +99 -0
  199. chimera_agent-0.4.1/chimera/tools/documents.py +68 -0
  200. chimera_agent-0.4.1/chimera/tools/edit.py +153 -0
  201. chimera_agent-0.4.1/chimera/tools/email.py +88 -0
  202. chimera_agent-0.4.1/chimera/tools/files.py +77 -0
  203. chimera_agent-0.4.1/chimera/tools/http.py +37 -0
  204. chimera_agent-0.4.1/chimera/tools/media.py +113 -0
  205. chimera_agent-0.4.1/chimera/tools/registry.py +66 -0
  206. chimera_agent-0.4.1/chimera/tools/research.py +99 -0
  207. chimera_agent-0.4.1/chimera/tools/schema_compact.py +93 -0
  208. chimera_agent-0.4.1/chimera/tools/search.py +106 -0
  209. chimera_agent-0.4.1/chimera/tools/shell.py +80 -0
  210. chimera_agent-0.4.1/chimera/tools/web.py +57 -0
  211. chimera_agent-0.4.1/chimera/tools/workspace.py +26 -0
  212. chimera_agent-0.4.1/chimera/tui/__init__.py +1 -0
  213. chimera_agent-0.4.1/chimera/tui/app.py +78 -0
  214. chimera_agent-0.4.1/chimera/workflow/__init__.py +40 -0
  215. chimera_agent-0.4.1/chimera/workflow/executors.py +82 -0
  216. chimera_agent-0.4.1/chimera/workflow/models.py +35 -0
  217. chimera_agent-0.4.1/chimera/workflow/runner.py +91 -0
  218. chimera_agent-0.4.1/docker/Dockerfile.sandbox +20 -0
  219. chimera_agent-0.4.1/docker/README.md +39 -0
  220. chimera_agent-0.4.1/docker-compose.yml +29 -0
  221. chimera_agent-0.4.1/docs/architecture.md +121 -0
  222. chimera_agent-0.4.1/docs/benchmarks.md +85 -0
  223. chimera_agent-0.4.1/docs/deploy.md +178 -0
  224. chimera_agent-0.4.1/docs/index.md +53 -0
  225. chimera_agent-0.4.1/docs/mcp.md +143 -0
  226. chimera_agent-0.4.1/docs/recipes.md +74 -0
  227. chimera_agent-0.4.1/docs/security.md +45 -0
  228. chimera_agent-0.4.1/docs/usage.md +603 -0
  229. chimera_agent-0.4.1/examples/README.md +19 -0
  230. chimera_agent-0.4.1/examples/email_triage/README.md +73 -0
  231. chimera_agent-0.4.1/examples/email_triage/triage.yaml +34 -0
  232. chimera_agent-0.4.1/examples/mcp_github.py +57 -0
  233. chimera_agent-0.4.1/examples/repo_watchdog/README.md +39 -0
  234. chimera_agent-0.4.1/examples/repo_watchdog/watch.yaml +22 -0
  235. chimera_agent-0.4.1/examples/research_brief/README.md +30 -0
  236. chimera_agent-0.4.1/examples/research_brief/brief.yaml +29 -0
  237. chimera_agent-0.4.1/examples/spec.yaml +20 -0
  238. chimera_agent-0.4.1/examples/workflow.yaml +21 -0
  239. chimera_agent-0.4.1/install.sh +37 -0
  240. chimera_agent-0.4.1/mkdocs.yml +46 -0
  241. chimera_agent-0.4.1/pyproject.toml +129 -0
  242. chimera_agent-0.4.1/tests/conftest.py +25 -0
  243. chimera_agent-0.4.1/tests/integration/test_live_smoke.py +34 -0
  244. chimera_agent-0.4.1/tests/mcp_demo_server.py +28 -0
  245. chimera_agent-0.4.1/tests/test_a2a.py +92 -0
  246. chimera_agent-0.4.1/tests/test_a2a_stream.py +67 -0
  247. chimera_agent-0.4.1/tests/test_actors.py +43 -0
  248. chimera_agent-0.4.1/tests/test_agent.py +156 -0
  249. chimera_agent-0.4.1/tests/test_agreement_routing.py +75 -0
  250. chimera_agent-0.4.1/tests/test_allowlist.py +104 -0
  251. chimera_agent-0.4.1/tests/test_anytime.py +42 -0
  252. chimera_agent-0.4.1/tests/test_attribution.py +56 -0
  253. chimera_agent-0.4.1/tests/test_auto_evolve.py +142 -0
  254. chimera_agent-0.4.1/tests/test_autonomous.py +455 -0
  255. chimera_agent-0.4.1/tests/test_bench_ab.py +109 -0
  256. chimera_agent-0.4.1/tests/test_browser.py +104 -0
  257. chimera_agent-0.4.1/tests/test_card_retrieval.py +90 -0
  258. chimera_agent-0.4.1/tests/test_checklist.py +179 -0
  259. chimera_agent-0.4.1/tests/test_checkpoint.py +60 -0
  260. chimera_agent-0.4.1/tests/test_checkpoint_resume.py +127 -0
  261. chimera_agent-0.4.1/tests/test_cli.py +314 -0
  262. chimera_agent-0.4.1/tests/test_collective_skill.py +101 -0
  263. chimera_agent-0.4.1/tests/test_config.py +39 -0
  264. chimera_agent-0.4.1/tests/test_contract.py +121 -0
  265. chimera_agent-0.4.1/tests/test_cron_daemon.py +113 -0
  266. chimera_agent-0.4.1/tests/test_cron_learner.py +52 -0
  267. chimera_agent-0.4.1/tests/test_curation_recipes.py +35 -0
  268. chimera_agent-0.4.1/tests/test_degradation_ci.py +35 -0
  269. chimera_agent-0.4.1/tests/test_deliver.py +34 -0
  270. chimera_agent-0.4.1/tests/test_discord_adapter.py +48 -0
  271. chimera_agent-0.4.1/tests/test_documents.py +70 -0
  272. chimera_agent-0.4.1/tests/test_drift.py +71 -0
  273. chimera_agent-0.4.1/tests/test_ecosystem.py +141 -0
  274. chimera_agent-0.4.1/tests/test_edit_diagnostic.py +43 -0
  275. chimera_agent-0.4.1/tests/test_edit_tool.py +116 -0
  276. chimera_agent-0.4.1/tests/test_eval_chained.py +70 -0
  277. chimera_agent-0.4.1/tests/test_eval_continuous.py +173 -0
  278. chimera_agent-0.4.1/tests/test_eval_sandbox.py +80 -0
  279. chimera_agent-0.4.1/tests/test_evoclaw.py +60 -0
  280. chimera_agent-0.4.1/tests/test_evolution.py +64 -0
  281. chimera_agent-0.4.1/tests/test_explorer.py +79 -0
  282. chimera_agent-0.4.1/tests/test_features.py +46 -0
  283. chimera_agent-0.4.1/tests/test_fusion.py +300 -0
  284. chimera_agent-0.4.1/tests/test_fusion_ab.py +79 -0
  285. chimera_agent-0.4.1/tests/test_gateway.py +136 -0
  286. chimera_agent-0.4.1/tests/test_gepa.py +195 -0
  287. chimera_agent-0.4.1/tests/test_governance.py +159 -0
  288. chimera_agent-0.4.1/tests/test_hard_bench.py +64 -0
  289. chimera_agent-0.4.1/tests/test_injection.py +51 -0
  290. chimera_agent-0.4.1/tests/test_integrations.py +187 -0
  291. chimera_agent-0.4.1/tests/test_interface_session.py +118 -0
  292. chimera_agent-0.4.1/tests/test_interrupt.py +92 -0
  293. chimera_agent-0.4.1/tests/test_isolated_crew.py +137 -0
  294. chimera_agent-0.4.1/tests/test_isolation.py +103 -0
  295. chimera_agent-0.4.1/tests/test_kanban.py +88 -0
  296. chimera_agent-0.4.1/tests/test_ledger.py +279 -0
  297. chimera_agent-0.4.1/tests/test_lifecycle.py +80 -0
  298. chimera_agent-0.4.1/tests/test_mcp_live.py +45 -0
  299. chimera_agent-0.4.1/tests/test_mcp_server.py +60 -0
  300. chimera_agent-0.4.1/tests/test_memory.py +181 -0
  301. chimera_agent-0.4.1/tests/test_memory_bench.py +57 -0
  302. chimera_agent-0.4.1/tests/test_memory_gate.py +36 -0
  303. chimera_agent-0.4.1/tests/test_memory_graph.py +45 -0
  304. chimera_agent-0.4.1/tests/test_memory_value.py +36 -0
  305. chimera_agent-0.4.1/tests/test_messaging.py +53 -0
  306. chimera_agent-0.4.1/tests/test_migration.py +121 -0
  307. chimera_agent-0.4.1/tests/test_native_tools.py +101 -0
  308. chimera_agent-0.4.1/tests/test_openapi_live.py +77 -0
  309. chimera_agent-0.4.1/tests/test_orchestration.py +141 -0
  310. chimera_agent-0.4.1/tests/test_pet.py +61 -0
  311. chimera_agent-0.4.1/tests/test_planner_supervisor.py +78 -0
  312. chimera_agent-0.4.1/tests/test_playbook.py +219 -0
  313. chimera_agent-0.4.1/tests/test_precedent.py +62 -0
  314. chimera_agent-0.4.1/tests/test_process_filter.py +58 -0
  315. chimera_agent-0.4.1/tests/test_progress_ledger.py +99 -0
  316. chimera_agent-0.4.1/tests/test_providers.py +281 -0
  317. chimera_agent-0.4.1/tests/test_quarantine.py +113 -0
  318. chimera_agent-0.4.1/tests/test_reference_tools.py +104 -0
  319. chimera_agent-0.4.1/tests/test_repomap.py +83 -0
  320. chimera_agent-0.4.1/tests/test_research_code_tools.py +92 -0
  321. chimera_agent-0.4.1/tests/test_rft_loop.py +153 -0
  322. chimera_agent-0.4.1/tests/test_rubric.py +43 -0
  323. chimera_agent-0.4.1/tests/test_rubric_grade.py +126 -0
  324. chimera_agent-0.4.1/tests/test_sandbox.py +174 -0
  325. chimera_agent-0.4.1/tests/test_scenarios.py +40 -0
  326. chimera_agent-0.4.1/tests/test_scheduler.py +106 -0
  327. chimera_agent-0.4.1/tests/test_schema_ab.py +46 -0
  328. chimera_agent-0.4.1/tests/test_schema_compact.py +101 -0
  329. chimera_agent-0.4.1/tests/test_search_tools.py +50 -0
  330. chimera_agent-0.4.1/tests/test_self_consistency.py +71 -0
  331. chimera_agent-0.4.1/tests/test_semantic_memory.py +88 -0
  332. chimera_agent-0.4.1/tests/test_signal_adapter.py +63 -0
  333. chimera_agent-0.4.1/tests/test_skill_cards.py +62 -0
  334. chimera_agent-0.4.1/tests/test_skill_evolution.py +142 -0
  335. chimera_agent-0.4.1/tests/test_skill_nudges.py +43 -0
  336. chimera_agent-0.4.1/tests/test_skill_stats.py +128 -0
  337. chimera_agent-0.4.1/tests/test_skillcard_ab.py +54 -0
  338. chimera_agent-0.4.1/tests/test_skills.py +52 -0
  339. chimera_agent-0.4.1/tests/test_slack_adapter.py +97 -0
  340. chimera_agent-0.4.1/tests/test_smoke.py +24 -0
  341. chimera_agent-0.4.1/tests/test_spec_search.py +47 -0
  342. chimera_agent-0.4.1/tests/test_spec_tuning.py +39 -0
  343. chimera_agent-0.4.1/tests/test_spine_experience.py +70 -0
  344. chimera_agent-0.4.1/tests/test_sqlite_memory.py +60 -0
  345. chimera_agent-0.4.1/tests/test_stagnation.py +157 -0
  346. chimera_agent-0.4.1/tests/test_stateful_tools.py +108 -0
  347. chimera_agent-0.4.1/tests/test_streaming.py +102 -0
  348. chimera_agent-0.4.1/tests/test_strong_verify.py +122 -0
  349. chimera_agent-0.4.1/tests/test_subagent.py +55 -0
  350. chimera_agent-0.4.1/tests/test_swe_bench.py +118 -0
  351. chimera_agent-0.4.1/tests/test_taint_provenance.py +196 -0
  352. chimera_agent-0.4.1/tests/test_task_ledger.py +90 -0
  353. chimera_agent-0.4.1/tests/test_telegram_adapter.py +62 -0
  354. chimera_agent-0.4.1/tests/test_tier1_skills.py +68 -0
  355. chimera_agent-0.4.1/tests/test_tools.py +52 -0
  356. chimera_agent-0.4.1/tests/test_tui.py +90 -0
  357. chimera_agent-0.4.1/tests/test_verifier_select.py +80 -0
  358. chimera_agent-0.4.1/tests/test_vision.py +28 -0
  359. chimera_agent-0.4.1/tests/test_whatsapp.py +115 -0
  360. chimera_agent-0.4.1/tests/test_workflow.py +87 -0
  361. chimera_agent-0.4.1/tests/test_worktree.py +85 -0
@@ -0,0 +1,24 @@
1
+ # Keep the build context small and secrets out of the image.
2
+ .git
3
+ .github
4
+ .venv
5
+ venv
6
+ __pycache__
7
+ *.pyc
8
+ *.pyo
9
+ .pytest_cache
10
+ .mypy_cache
11
+ .ruff_cache
12
+ .chimera
13
+ dist
14
+ build
15
+ *.egg-info
16
+ .env
17
+ .env.*
18
+ !.env.example
19
+ tests
20
+ benchmarks
21
+ docs
22
+ assets
23
+ *.md
24
+ !README.md
@@ -0,0 +1,148 @@
1
+ # Chimera configuration (copy to .env and fill what you use).
2
+ # All variables are optional at import time — the agent only needs a key
3
+ # for the providers you actually call.
4
+
5
+ # --- Provider keys (use whichever you have) ---
6
+ # Recommended: a single OpenRouter key unlocks 100+ models for the fusion panel.
7
+ OPENROUTER_API_KEY=
8
+ OPENAI_API_KEY=
9
+ ANTHROPIC_API_KEY=
10
+ GEMINI_API_KEY=
11
+ DEEPSEEK_API_KEY=
12
+
13
+ # --- Credential pools (optional): multiple keys per provider, rotated round-robin ---
14
+ # Spreads load and fails over to the next key if one is rate-limited / invalid.
15
+ # When set, the pool replaces the single key above for that provider.
16
+ # e.g. CHIMERA_OPENROUTER_KEYS=sk-or-key1,sk-or-key2,sk-or-key3
17
+ CHIMERA_OPENROUTER_KEYS=
18
+ CHIMERA_OPENAI_KEYS=
19
+ CHIMERA_ANTHROPIC_KEYS=
20
+ CHIMERA_GEMINI_KEYS=
21
+ CHIMERA_DEEPSEEK_KEYS=
22
+
23
+ # --- Default models (LiteLLM-style "provider/model" slugs) ---
24
+ # Single fast model used for Tier 1 and cheap tasks. Any LiteLLM slug works
25
+ # (openai/..., anthropic/..., gemini/..., ollama/..., openrouter/..., etc.).
26
+ CHIMERA_DEFAULT_MODEL=openrouter/openai/gpt-5.5
27
+
28
+ # Custom endpoint for self-hosted / OpenAI-compatible servers (Ollama, vLLM, ...).
29
+ # e.g. CHIMERA_API_BASE=http://localhost:11434 with CHIMERA_DEFAULT_MODEL=ollama/llama3
30
+ CHIMERA_API_BASE=
31
+
32
+ # Comma-separated fallback chain: if the primary model errors, the next is tried.
33
+ # e.g. CHIMERA_FALLBACK_MODELS=openrouter/openai/gpt-4o-mini,ollama/llama3
34
+ CHIMERA_FALLBACK_MODELS=
35
+
36
+ # Execution sandbox for the shell tool: local (host, default) or docker (isolated).
37
+ # docker runs each command in an ephemeral, network-off container; see docker/README.md.
38
+ CHIMERA_SANDBOX=local
39
+ CHIMERA_SANDBOX_IMAGE=python:3.12-slim
40
+ # Optional hardened OCI runtime for the docker sandbox. Set to runsc to run under gVisor
41
+ # (userspace kernel; intercepts syscalls, shrinks host-kernel attack surface). Requires
42
+ # gVisor installed on the host. Empty = the daemon default (runc).
43
+ CHIMERA_SANDBOX_RUNTIME=
44
+
45
+ # Per-session tool allowlist/denylist (comma-separated tool names). An allowlist grants
46
+ # ONLY those tools (everything else is dropped, not just gated); empty = no restriction.
47
+ # The denylist removes tools even if allowed. CLI --allow-tools/--deny-tools override these.
48
+ CHIMERA_TOOL_ALLOWLIST=
49
+ CHIMERA_TOOL_DENYLIST=
50
+
51
+ # Cache identical tool-free completions (HORIZON prompt caching): on | off (default off).
52
+ # Saves cost/latency for repeated reasoning turns (fusion, planner, benchmarks).
53
+ CHIMERA_CACHE=off
54
+
55
+ # Long-term memory backend: json (default, zero-dependency) or sqlite (SQLite + FTS5
56
+ # full-text recall that scales past the JSON store). Both persist under CHIMERA_HOME.
57
+ CHIMERA_MEMORY_BACKEND=json
58
+
59
+ # Discord bot token — only needed for `chimera serve --discord` (install the extra:
60
+ # `uv sync --extra messaging`). Create a bot at https://discord.com/developers, enable the
61
+ # Message Content intent, and paste its token here. Leave empty if you don't use Discord.
62
+ CHIMERA_DISCORD_BOT_TOKEN=
63
+
64
+ # Telegram bot token — only needed for `chimera serve --telegram` (no extra dependency).
65
+ # Create a bot with @BotFather, then paste the token here. Leave empty if unused.
66
+ CHIMERA_TELEGRAM_BOT_TOKEN=
67
+
68
+ # Slack tokens — only needed for `chimera serve --slack` (install `uv sync --extra
69
+ # messaging`). Enable Socket Mode on your app: the bot token is xoxb-... and the
70
+ # app-level token is xapp-... . Leave empty if unused.
71
+ CHIMERA_SLACK_BOT_TOKEN=
72
+ CHIMERA_SLACK_APP_TOKEN=
73
+
74
+ # WhatsApp Cloud API — lets the agent SEND WhatsApp messages via the send_message tool
75
+ # (works in any `chimera serve` mode). Create a Meta app + WhatsApp product to get these.
76
+ # Two-way (receiving) needs a public Meta webhook wired to your endpoint; see the docs.
77
+ CHIMERA_WHATSAPP_ACCESS_TOKEN=
78
+ CHIMERA_WHATSAPP_PHONE_NUMBER_ID=
79
+ # For two-way WhatsApp: point the Meta app webhook at https://<host>/whatsapp and set the
80
+ # same verify token here (any string you choose). `chimera serve` then serves it.
81
+ CHIMERA_WHATSAPP_VERIFY_TOKEN=
82
+
83
+ # Signal — two-way via a signal-cli-rest-api bridge you run (Docker:
84
+ # bbernhard/signal-cli-rest-api), linked to your number. `chimera serve --signal`.
85
+ CHIMERA_SIGNAL_API_URL= # e.g. http://localhost:8080
86
+ CHIMERA_SIGNAL_NUMBER= # this bot's Signal number, E.164
87
+
88
+ # Auto-fuse error-sensitive turns in solve/crew without passing --fuse: on | off (default
89
+ # off, since fusion costs 2-3x). When on, the cost-aware router still keeps cheap/tool
90
+ # turns single-model and only fuses deep or exact-answer turns (arithmetic, counting, ...).
91
+ CHIMERA_AUTO_FUSE=off
92
+
93
+ # --- Fusion engine (panel -> judge -> synthesizer) ---
94
+ # Comma-separated panel of models. Diversity (frontier + open) helps,
95
+ # but the synthesis step is what drives the lift. The default below is a frontier
96
+ # panel — best quality, but it costs real money on every fused turn.
97
+ #
98
+ # Budget tip: for cheap-but-reliable fusion, this panel works well and stays fast:
99
+ # CHIMERA_FUSION_PANEL=openrouter/deepseek/deepseek-chat,openrouter/openai/gpt-4o-mini,openrouter/meta-llama/llama-3.3-70b-instruct
100
+ # Avoid OpenRouter ":free" model slugs in a panel: they rate-limit (HTTP 429) under
101
+ # real load, so fusion silently degrades to whatever paid model is left in the panel.
102
+ CHIMERA_FUSION_PANEL=openrouter/anthropic/claude-opus-4-8,openrouter/openai/gpt-5.5,openrouter/google/gemini-3.1-pro
103
+ CHIMERA_FUSION_JUDGE=openrouter/anthropic/claude-opus-4-8
104
+ CHIMERA_FUSION_SYNTHESIZER=openrouter/anthropic/claude-opus-4-8
105
+
106
+ # Selective fusion (ON by default). Probe the first CHIMERA_FUSION_PROBE_K panel models;
107
+ # if they agree closely (a cheap LOCAL text-similarity check, no extra model call), skip
108
+ # the rest of the panel + the judge and synthesize from the agreeing answers. If they
109
+ # disagree, escalate to the full pipeline — which costs exactly the same as full fusion,
110
+ # so hard turns are never penalized. In 3 runs of `chimera fusion-bench --tasks hard` this
111
+ # cut tokens ~20-28% and was correct on every turn it short-circuited (16/16). Set to
112
+ # "full" to always run the whole panel + judge.
113
+ CHIMERA_FUSION_MODE=selective
114
+ CHIMERA_FUSION_PROBE_K=2
115
+ CHIMERA_FUSION_AGREEMENT=0.8
116
+
117
+ # --- Optional feature credentials (pre-set slots; set only what you use) ---
118
+ # Run `chimera features` to see which are active. Fill a slot and the matching
119
+ # capability lights up. Vision / Deliverable / Pets are built in (no key).
120
+ TAVILY_API_KEY= # Web Search & Extract -> the web_search tool auto-registers
121
+ BRAVE_API_KEY= # (alternative web search provider; same pattern)
122
+ SERPAPI_API_KEY= # (alternative web search provider; same pattern)
123
+ X_BEARER_TOKEN= # X (Twitter) search
124
+ STABILITY_API_KEY= # (reserved) alternative image provider
125
+ ELEVENLABS_API_KEY= # lights up the text_to_speech reference tool
126
+ SPOTIFY_CLIENT_ID= # Spotify (OAuth app); import its OpenAPI spec as tools
127
+ SPOTIFY_CLIENT_SECRET=
128
+ # OPENAI_API_KEY (above) lights up the generate_image reference tool.
129
+ # SMTP lights up the send_email reference tool (all three must be set):
130
+ CHIMERA_SMTP_HOST= # e.g. smtp.gmail.com
131
+ CHIMERA_SMTP_PORT=587
132
+ CHIMERA_SMTP_USER= # your SMTP username / email
133
+ CHIMERA_SMTP_PASSWORD= # your SMTP password / app password
134
+ CHIMERA_SMTP_FROM= # optional From address (defaults to SMTP_USER)
135
+ # IMAP lights up the read_email reference tool:
136
+ CHIMERA_IMAP_HOST= # e.g. imap.gmail.com
137
+ CHIMERA_IMAP_PORT=993
138
+ CHIMERA_IMAP_USER=
139
+ CHIMERA_IMAP_PASSWORD=
140
+ # An iCalendar (.ics) feed URL lights up the calendar_events reference tool:
141
+ CHIMERA_CALENDAR_ICS_URL=
142
+ # Browser automation needs `pip install playwright && playwright install`.
143
+ # Computer use (desktop control) is advanced and off the server path.
144
+
145
+ # --- Behaviour ---
146
+ CHIMERA_LOG_LEVEL=INFO
147
+ # Where Chimera keeps its externalized state (memory, experience buffer).
148
+ CHIMERA_HOME=.chimera
@@ -0,0 +1,5 @@
1
+ # Normalize line endings to LF in the repository (Python project, cross-platform).
2
+ * text=auto eol=lf
3
+ *.png binary
4
+ *.jpg binary
5
+ *.gif binary
@@ -0,0 +1,3 @@
1
+ # Enables the "Sponsor" button on the GitHub repo.
2
+ # Chimera is free and open-source; donations support its development.
3
+ custom: ["https://donate.stripe.com/9B63cofM491m4SBfe177O00"]
@@ -0,0 +1,28 @@
1
+ ---
2
+ name: Bug report
3
+ about: Report a problem so we can fix it
4
+ title: "[bug] "
5
+ labels: bug
6
+ ---
7
+
8
+ ## Describe the bug
9
+ A clear and concise description of what went wrong.
10
+
11
+ ## To reproduce
12
+ Steps or the exact command(s):
13
+
14
+ ```bash
15
+ chimera ...
16
+ ```
17
+
18
+ ## Expected behavior
19
+ What you expected to happen.
20
+
21
+ ## Environment
22
+ - Chimera version: `uv run chimera version`
23
+ - OS:
24
+ - Python: `python --version`
25
+ - Provider(s): (OpenRouter / OpenAI / Anthropic / ...)
26
+
27
+ ## Logs / output
28
+ Paste any relevant output (redact secrets).
@@ -0,0 +1,8 @@
1
+ blank_issues_enabled: true
2
+ contact_links:
3
+ - name: Questions & ideas
4
+ url: https://github.com/brcampidelli/chimera-agent/discussions
5
+ about: Ask a question, share what you built, or float an idea in Discussions.
6
+ - name: Security vulnerability
7
+ url: https://github.com/brcampidelli/chimera-agent/security/advisories/new
8
+ about: Please report security issues privately (see SECURITY.md), not as public issues.
@@ -0,0 +1,19 @@
1
+ ---
2
+ name: Feature request
3
+ about: Suggest an idea or capability
4
+ title: "[feat] "
5
+ labels: enhancement
6
+ ---
7
+
8
+ ## Problem / motivation
9
+ What are you trying to do, and why is it hard today?
10
+
11
+ ## Proposed solution
12
+ What you'd like to see. Which tier/subsystem does it touch (fusion, core, evolution,
13
+ governance, orchestration, ecosystem, integrations, ...)?
14
+
15
+ ## Alternatives considered
16
+ Other approaches you thought about.
17
+
18
+ ## Additional context
19
+ Links, references, or papers.
@@ -0,0 +1,16 @@
1
+ ## What & why
2
+ Briefly describe the change and the motivation.
3
+
4
+ ## How to test
5
+ Commands or steps to verify the change.
6
+
7
+ ## Checklist
8
+ - [ ] `uv run ruff check .` passes
9
+ - [ ] `uv run mypy chimera` passes (strict)
10
+ - [ ] `uv run pytest -q` passes
11
+ - [ ] New logic has tests
12
+ - [ ] Docs/README updated if behavior changed
13
+ - [ ] Commit messages follow Conventional Commits
14
+
15
+ ## Related issues
16
+ Closes #
@@ -0,0 +1,68 @@
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ workflow_dispatch:
8
+
9
+ concurrency:
10
+ group: ci-${{ github.ref }}
11
+ cancel-in-progress: true
12
+
13
+ jobs:
14
+ quality:
15
+ name: lint · type-check · test
16
+ runs-on: ubuntu-latest
17
+ strategy:
18
+ fail-fast: false
19
+ matrix:
20
+ python-version: ["3.11", "3.12"]
21
+ steps:
22
+ - uses: actions/checkout@v4
23
+
24
+ - name: Install uv
25
+ uses: astral-sh/setup-uv@v5
26
+ with:
27
+ enable-cache: true
28
+
29
+ - name: Set up Python ${{ matrix.python-version }}
30
+ run: uv python install ${{ matrix.python-version }}
31
+
32
+ - name: Install dependencies
33
+ run: uv sync --extra dev
34
+
35
+ - name: Ruff (lint)
36
+ run: uv run ruff check .
37
+
38
+ - name: Mypy (strict type-check)
39
+ run: uv run mypy chimera
40
+
41
+ - name: Pytest
42
+ run: uv run pytest -q
43
+
44
+ integration:
45
+ name: live integration (real provider)
46
+ runs-on: ubuntu-latest
47
+ needs: quality
48
+ # Only on direct pushes to main (not fork PRs), where the secret is available.
49
+ # The test self-skips when the secret is unset, so this job is green either way.
50
+ if: github.event_name == 'push' && github.ref == 'refs/heads/main'
51
+ steps:
52
+ - uses: actions/checkout@v4
53
+
54
+ - name: Install uv
55
+ uses: astral-sh/setup-uv@v5
56
+ with:
57
+ enable-cache: true
58
+
59
+ - name: Set up Python
60
+ run: uv python install 3.12
61
+
62
+ - name: Install dependencies
63
+ run: uv sync --extra dev --extra mcp
64
+
65
+ - name: Integration smoke test
66
+ env:
67
+ OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
68
+ run: uv run pytest -m integration -q
@@ -0,0 +1,35 @@
1
+ name: Publish to PyPI
2
+
3
+ # Publishes the package to PyPI using OIDC Trusted Publishing — there is NO API
4
+ # token stored in the repo or entered by anyone. PyPI verifies the workflow's
5
+ # short-lived OIDC identity instead. One-time setup on PyPI (pending publisher):
6
+ # https://pypi.org/manage/account/publishing/
7
+ # Owner: brcampidelli · Repo: chimera-agent · Workflow: publish.yml · Env: (blank)
8
+
9
+ on:
10
+ release:
11
+ types: [published]
12
+ workflow_dispatch: {}
13
+
14
+ permissions:
15
+ contents: read
16
+
17
+ jobs:
18
+ pypi-publish:
19
+ name: Build and publish to PyPI
20
+ runs-on: ubuntu-latest
21
+ permissions:
22
+ id-token: write # mint the OIDC token PyPI checks — this is the whole point
23
+ steps:
24
+ - uses: actions/checkout@v4
25
+
26
+ - name: Install uv
27
+ uses: astral-sh/setup-uv@v5
28
+ with:
29
+ python-version: "3.12"
30
+
31
+ - name: Build wheel + sdist
32
+ run: uv build
33
+
34
+ - name: Publish to PyPI (Trusted Publishing — no token)
35
+ uses: pypa/gh-action-pypi-publish@release/v1
@@ -0,0 +1,39 @@
1
+ name: quality-bench
2
+
3
+ # A quality gauge, not a build gate: runs `chimera solve` on the local pytest-graded task set with a
4
+ # cheap/free model and reports the pass-rate (does a change move the number?). Manual-trigger only so
5
+ # it never spends API on a routine push — add a `schedule:` block if you want it periodic.
6
+ on:
7
+ workflow_dispatch:
8
+ inputs:
9
+ model:
10
+ description: "OpenRouter model slug (a free one to avoid cost)"
11
+ default: "openrouter/qwen/qwen3-coder:free"
12
+ timeout:
13
+ description: "Per-solve timeout in seconds"
14
+ default: "300"
15
+
16
+ jobs:
17
+ bench:
18
+ runs-on: ubuntu-latest
19
+ timeout-minutes: 45
20
+ steps:
21
+ - uses: actions/checkout@v4
22
+ - uses: astral-sh/setup-uv@v5
23
+ with:
24
+ python-version: "3.12"
25
+ - name: Install (with dev extras for pytest)
26
+ run: uv sync --extra dev
27
+ - name: Run the quality gauge
28
+ env:
29
+ OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }}
30
+ BENCH_MODEL: ${{ github.event.inputs.model }}
31
+ BENCH_TIMEOUT: ${{ github.event.inputs.timeout }}
32
+ run: uv run --no-sync python bench/local_lift/run_ci.py
33
+ - name: Upload results
34
+ if: always()
35
+ uses: actions/upload-artifact@v4
36
+ with:
37
+ name: quality-bench-results
38
+ path: bench/local_lift/results/ci.json
39
+ if-no-files-found: ignore
@@ -0,0 +1,48 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *.egg-info/
5
+ .eggs/
6
+ build/
7
+ dist/
8
+ *.egg
9
+
10
+ # Virtual envs / uv
11
+ .venv/
12
+ .uv/
13
+ uv.lock
14
+
15
+ # Env / secrets
16
+ .env
17
+ .env.local
18
+ *.key
19
+
20
+ # Caches
21
+ .pytest_cache/
22
+ .mypy_cache/
23
+ .ruff_cache/
24
+ .cache/
25
+
26
+ # Chimera runtime data (state lives outside the LLM context)
27
+ .chimera/
28
+ data/
29
+ *.sqlite
30
+ *.sqlite3
31
+ *.db
32
+
33
+ # OS / editors
34
+ .DS_Store
35
+ Thumbs.db
36
+ .idea/
37
+ .vscode/
38
+
39
+ # mkdocs build output
40
+ site/
41
+
42
+ # Local benchmark run outputs (harness + tasks are tracked; per-run results are not)
43
+ bench/local_lift/results/
44
+
45
+ # Terminal-Bench official runner: local venv, built wheel, run outputs (tracked: scripts only)
46
+ bench/terminal_bench/.venv/
47
+ bench/terminal_bench/dist/
48
+ bench/terminal_bench/results/