research-panel 3.1.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 (337) hide show
  1. research_panel-3.1.1/LICENSE +21 -0
  2. research_panel-3.1.1/PKG-INFO +507 -0
  3. research_panel-3.1.1/README.md +470 -0
  4. research_panel-3.1.1/packages/cli/research_cli/__init__.py +1 -0
  5. research_panel-3.1.1/packages/cli/research_cli/__main__.py +5 -0
  6. research_panel-3.1.1/packages/cli/research_cli/commands/__init__.py +8 -0
  7. research_panel-3.1.1/packages/cli/research_cli/commands/agents.py +684 -0
  8. research_panel-3.1.1/packages/cli/research_cli/commands/chat.py +157 -0
  9. research_panel-3.1.1/packages/cli/research_cli/commands/decide.py +77 -0
  10. research_panel-3.1.1/packages/cli/research_cli/commands/guide.py +588 -0
  11. research_panel-3.1.1/packages/cli/research_cli/commands/hpc.py +564 -0
  12. research_panel-3.1.1/packages/cli/research_cli/commands/plans.py +377 -0
  13. research_panel-3.1.1/packages/cli/research_cli/commands/project.py +589 -0
  14. research_panel-3.1.1/packages/cli/research_cli/commands/records.py +982 -0
  15. research_panel-3.1.1/packages/cli/research_cli/commands/skills.py +294 -0
  16. research_panel-3.1.1/packages/cli/research_cli/commands/supervisor.py +581 -0
  17. research_panel-3.1.1/packages/cli/research_cli/main.py +143 -0
  18. research_panel-3.1.1/packages/cli/research_cli/output.py +237 -0
  19. research_panel-3.1.1/packages/cli/research_cli/tui/__init__.py +8 -0
  20. research_panel-3.1.1/packages/cli/research_cli/tui/app.py +508 -0
  21. research_panel-3.1.1/packages/cli/research_cli/tui/views.py +256 -0
  22. research_panel-3.1.1/packages/cli/research_cli/tui/widgets.py +183 -0
  23. research_panel-3.1.1/packages/core/research/__init__.py +253 -0
  24. research_panel-3.1.1/packages/core/research/_vendor/__init__.py +0 -0
  25. research_panel-3.1.1/packages/core/research/_vendor/yaml/LICENSE +20 -0
  26. research_panel-3.1.1/packages/core/research/_vendor/yaml/__init__.py +390 -0
  27. research_panel-3.1.1/packages/core/research/_vendor/yaml/composer.py +139 -0
  28. research_panel-3.1.1/packages/core/research/_vendor/yaml/constructor.py +748 -0
  29. research_panel-3.1.1/packages/core/research/_vendor/yaml/dumper.py +62 -0
  30. research_panel-3.1.1/packages/core/research/_vendor/yaml/emitter.py +1137 -0
  31. research_panel-3.1.1/packages/core/research/_vendor/yaml/error.py +75 -0
  32. research_panel-3.1.1/packages/core/research/_vendor/yaml/events.py +86 -0
  33. research_panel-3.1.1/packages/core/research/_vendor/yaml/loader.py +63 -0
  34. research_panel-3.1.1/packages/core/research/_vendor/yaml/nodes.py +49 -0
  35. research_panel-3.1.1/packages/core/research/_vendor/yaml/parser.py +589 -0
  36. research_panel-3.1.1/packages/core/research/_vendor/yaml/reader.py +185 -0
  37. research_panel-3.1.1/packages/core/research/_vendor/yaml/representer.py +389 -0
  38. research_panel-3.1.1/packages/core/research/_vendor/yaml/resolver.py +227 -0
  39. research_panel-3.1.1/packages/core/research/_vendor/yaml/scanner.py +1435 -0
  40. research_panel-3.1.1/packages/core/research/_vendor/yaml/serializer.py +111 -0
  41. research_panel-3.1.1/packages/core/research/_vendor/yaml/tokens.py +104 -0
  42. research_panel-3.1.1/packages/core/research/agents.py +459 -0
  43. research_panel-3.1.1/packages/core/research/agentsmd.py +176 -0
  44. research_panel-3.1.1/packages/core/research/api/__init__.py +157 -0
  45. research_panel-3.1.1/packages/core/research/api/agent_tools.py +183 -0
  46. research_panel-3.1.1/packages/core/research/api/agents.py +219 -0
  47. research_panel-3.1.1/packages/core/research/api/chat.py +357 -0
  48. research_panel-3.1.1/packages/core/research/api/decisions.py +45 -0
  49. research_panel-3.1.1/packages/core/research/api/guide.py +110 -0
  50. research_panel-3.1.1/packages/core/research/api/hpc.py +137 -0
  51. research_panel-3.1.1/packages/core/research/api/plans.py +364 -0
  52. research_panel-3.1.1/packages/core/research/api/records.py +289 -0
  53. research_panel-3.1.1/packages/core/research/api/runs.py +43 -0
  54. research_panel-3.1.1/packages/core/research/api/settings.py +142 -0
  55. research_panel-3.1.1/packages/core/research/approval.py +331 -0
  56. research_panel-3.1.1/packages/core/research/autopromote.py +432 -0
  57. research_panel-3.1.1/packages/core/research/backends/__init__.py +18 -0
  58. research_panel-3.1.1/packages/core/research/backends/base.py +44 -0
  59. research_panel-3.1.1/packages/core/research/backends/local.py +61 -0
  60. research_panel-3.1.1/packages/core/research/backends/slurm.py +136 -0
  61. research_panel-3.1.1/packages/core/research/bootstrap.py +224 -0
  62. research_panel-3.1.1/packages/core/research/chat/__init__.py +119 -0
  63. research_panel-3.1.1/packages/core/research/chat/actions.py +63 -0
  64. research_panel-3.1.1/packages/core/research/chat/alerts.py +117 -0
  65. research_panel-3.1.1/packages/core/research/chat/commands.py +353 -0
  66. research_panel-3.1.1/packages/core/research/chat/digest.py +22 -0
  67. research_panel-3.1.1/packages/core/research/chat/discord_bot.py +728 -0
  68. research_panel-3.1.1/packages/core/research/chat/gateway.py +402 -0
  69. research_panel-3.1.1/packages/core/research/chat/manage.py +91 -0
  70. research_panel-3.1.1/packages/core/research/chat/pairing.py +141 -0
  71. research_panel-3.1.1/packages/core/research/chat/telegram.py +297 -0
  72. research_panel-3.1.1/packages/core/research/checks.py +319 -0
  73. research_panel-3.1.1/packages/core/research/compare.py +69 -0
  74. research_panel-3.1.1/packages/core/research/configfile.py +577 -0
  75. research_panel-3.1.1/packages/core/research/context.py +613 -0
  76. research_panel-3.1.1/packages/core/research/control.py +144 -0
  77. research_panel-3.1.1/packages/core/research/daemonlib.py +67 -0
  78. research_panel-3.1.1/packages/core/research/decisions.py +351 -0
  79. research_panel-3.1.1/packages/core/research/doctor.py +342 -0
  80. research_panel-3.1.1/packages/core/research/durability.py +203 -0
  81. research_panel-3.1.1/packages/core/research/envcheck.py +115 -0
  82. research_panel-3.1.1/packages/core/research/evidence.py +488 -0
  83. research_panel-3.1.1/packages/core/research/execution.py +235 -0
  84. research_panel-3.1.1/packages/core/research/expcheck.py +79 -0
  85. research_panel-3.1.1/packages/core/research/fullreport.py +1044 -0
  86. research_panel-3.1.1/packages/core/research/gitinfo.py +91 -0
  87. research_panel-3.1.1/packages/core/research/governance.py +94 -0
  88. research_panel-3.1.1/packages/core/research/guide.py +530 -0
  89. research_panel-3.1.1/packages/core/research/guide_quarto.py +770 -0
  90. research_panel-3.1.1/packages/core/research/guide_review.py +159 -0
  91. research_panel-3.1.1/packages/core/research/harness.py +53 -0
  92. research_panel-3.1.1/packages/core/research/hooks.py +294 -0
  93. research_panel-3.1.1/packages/core/research/hpc/__init__.py +0 -0
  94. research_panel-3.1.1/packages/core/research/hpc/bundle.py +708 -0
  95. research_panel-3.1.1/packages/core/research/hpc/config.py +267 -0
  96. research_panel-3.1.1/packages/core/research/hpc/datasets.py +470 -0
  97. research_panel-3.1.1/packages/core/research/hpc/remote.py +806 -0
  98. research_panel-3.1.1/packages/core/research/hpc/results.py +382 -0
  99. research_panel-3.1.1/packages/core/research/hpc/transport.py +225 -0
  100. research_panel-3.1.1/packages/core/research/initproject.py +403 -0
  101. research_panel-3.1.1/packages/core/research/intervene.py +503 -0
  102. research_panel-3.1.1/packages/core/research/investigator.py +203 -0
  103. research_panel-3.1.1/packages/core/research/isolation.py +504 -0
  104. research_panel-3.1.1/packages/core/research/localbin.py +173 -0
  105. research_panel-3.1.1/packages/core/research/machine.py +53 -0
  106. research_panel-3.1.1/packages/core/research/mcp.py +326 -0
  107. research_panel-3.1.1/packages/core/research/mirrors.py +121 -0
  108. research_panel-3.1.1/packages/core/research/notify.py +340 -0
  109. research_panel-3.1.1/packages/core/research/orchestrate.py +672 -0
  110. research_panel-3.1.1/packages/core/research/packs.py +317 -0
  111. research_panel-3.1.1/packages/core/research/plans.py +554 -0
  112. research_panel-3.1.1/packages/core/research/planspec.py +732 -0
  113. research_panel-3.1.1/packages/core/research/processes.py +49 -0
  114. research_panel-3.1.1/packages/core/research/promotion.py +441 -0
  115. research_panel-3.1.1/packages/core/research/provenance.py +713 -0
  116. research_panel-3.1.1/packages/core/research/providers/__init__.py +228 -0
  117. research_panel-3.1.1/packages/core/research/providers/agy.py +92 -0
  118. research_panel-3.1.1/packages/core/research/providers/base.py +97 -0
  119. research_panel-3.1.1/packages/core/research/providers/claude.py +87 -0
  120. research_panel-3.1.1/packages/core/research/providers/codex.py +108 -0
  121. research_panel-3.1.1/packages/core/research/providers/custom.py +28 -0
  122. research_panel-3.1.1/packages/core/research/providers/limits.py +199 -0
  123. research_panel-3.1.1/packages/core/research/providers/opencode.py +267 -0
  124. research_panel-3.1.1/packages/core/research/registry.py +879 -0
  125. research_panel-3.1.1/packages/core/research/report.py +409 -0
  126. research_panel-3.1.1/packages/core/research/rpc.py +107 -0
  127. research_panel-3.1.1/packages/core/research/runner.py +194 -0
  128. research_panel-3.1.1/packages/core/research/runs.py +822 -0
  129. research_panel-3.1.1/packages/core/research/sandbox.py +178 -0
  130. research_panel-3.1.1/packages/core/research/schema.py +374 -0
  131. research_panel-3.1.1/packages/core/research/search.py +77 -0
  132. research_panel-3.1.1/packages/core/research/selfupdate.py +144 -0
  133. research_panel-3.1.1/packages/core/research/services.py +692 -0
  134. research_panel-3.1.1/packages/core/research/setup_agents.py +202 -0
  135. research_panel-3.1.1/packages/core/research/skills.py +532 -0
  136. research_panel-3.1.1/packages/core/research/store.py +911 -0
  137. research_panel-3.1.1/packages/core/research/strategy.py +377 -0
  138. research_panel-3.1.1/packages/core/research/supervisor.py +2053 -0
  139. research_panel-3.1.1/packages/core/research/supervisord.py +10 -0
  140. research_panel-3.1.1/packages/core/research/task_spec.py +73 -0
  141. research_panel-3.1.1/packages/core/research/taskprompt.py +145 -0
  142. research_panel-3.1.1/packages/core/research/templates/AGENTS.block.md +111 -0
  143. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/LICENSE +21 -0
  144. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/SKILL.md +378 -0
  145. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/SOURCE.yaml +9 -0
  146. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/references/building.md +333 -0
  147. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/references/experiments.md +215 -0
  148. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/references/hardware.md +272 -0
  149. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/references/noise.md +234 -0
  150. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/references/review.md +61 -0
  151. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/references/simulation.md +176 -0
  152. research_panel-3.1.1/packages/core/research/templates/catalog/cirq/references/transformation.md +150 -0
  153. research_panel-3.1.1/packages/core/research/templates/catalog/citation-management/LICENSE +21 -0
  154. research_panel-3.1.1/packages/core/research/templates/catalog/citation-management/SKILL.md +359 -0
  155. research_panel-3.1.1/packages/core/research/templates/catalog/citation-management/SOURCE.yaml +9 -0
  156. research_panel-3.1.1/packages/core/research/templates/catalog/dask/LICENSE +21 -0
  157. research_panel-3.1.1/packages/core/research/templates/catalog/dask/SKILL.md +493 -0
  158. research_panel-3.1.1/packages/core/research/templates/catalog/dask/SOURCE.yaml +9 -0
  159. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/LICENSE +21 -0
  160. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/SKILL.md +286 -0
  161. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/SOURCE.yaml +9 -0
  162. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/references/design_types.md +137 -0
  163. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/references/factorial_and_doe.md +156 -0
  164. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/references/randomization_and_blocking.md +133 -0
  165. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/references/sequential_and_adaptive.md +109 -0
  166. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/scripts/doe_designs.py +227 -0
  167. research_panel-3.1.1/packages/core/research/templates/catalog/experimental-design/scripts/randomization.py +228 -0
  168. research_panel-3.1.1/packages/core/research/templates/catalog/exploratory-data-analysis/LICENSE +21 -0
  169. research_panel-3.1.1/packages/core/research/templates/catalog/exploratory-data-analysis/SKILL.md +311 -0
  170. research_panel-3.1.1/packages/core/research/templates/catalog/exploratory-data-analysis/SOURCE.yaml +9 -0
  171. research_panel-3.1.1/packages/core/research/templates/catalog/frontend-design/LICENSE +177 -0
  172. research_panel-3.1.1/packages/core/research/templates/catalog/frontend-design/LICENSE.txt +177 -0
  173. research_panel-3.1.1/packages/core/research/templates/catalog/frontend-design/SKILL.md +71 -0
  174. research_panel-3.1.1/packages/core/research/templates/catalog/frontend-design/SOURCE.yaml +9 -0
  175. research_panel-3.1.1/packages/core/research/templates/catalog/hypothesis-generation/LICENSE +21 -0
  176. research_panel-3.1.1/packages/core/research/templates/catalog/hypothesis-generation/SKILL.md +290 -0
  177. research_panel-3.1.1/packages/core/research/templates/catalog/hypothesis-generation/SOURCE.yaml +9 -0
  178. research_panel-3.1.1/packages/core/research/templates/catalog/literature-review/LICENSE +21 -0
  179. research_panel-3.1.1/packages/core/research/templates/catalog/literature-review/SKILL.md +229 -0
  180. research_panel-3.1.1/packages/core/research/templates/catalog/literature-review/SOURCE.yaml +9 -0
  181. research_panel-3.1.1/packages/core/research/templates/catalog/matplotlib/LICENSE +21 -0
  182. research_panel-3.1.1/packages/core/research/templates/catalog/matplotlib/SKILL.md +435 -0
  183. research_panel-3.1.1/packages/core/research/templates/catalog/matplotlib/SOURCE.yaml +9 -0
  184. research_panel-3.1.1/packages/core/research/templates/catalog/peer-review/LICENSE +21 -0
  185. research_panel-3.1.1/packages/core/research/templates/catalog/peer-review/SKILL.md +317 -0
  186. research_panel-3.1.1/packages/core/research/templates/catalog/peer-review/SOURCE.yaml +9 -0
  187. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/LICENSE +21 -0
  188. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/SKILL.md +141 -0
  189. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/SOURCE.yaml +9 -0
  190. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/references/advanced_features.md +187 -0
  191. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/references/devices_backends.md +172 -0
  192. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/references/getting_started.md +112 -0
  193. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/references/optimization.md +165 -0
  194. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/references/quantum_chemistry.md +154 -0
  195. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/references/quantum_circuits.md +135 -0
  196. research_panel-3.1.1/packages/core/research/templates/catalog/pennylane/references/quantum_ml.md +147 -0
  197. research_panel-3.1.1/packages/core/research/templates/catalog/ponytail/LICENSE +21 -0
  198. research_panel-3.1.1/packages/core/research/templates/catalog/ponytail/SKILL.md +52 -0
  199. research_panel-3.1.1/packages/core/research/templates/catalog/ponytail/SOURCE.yaml +9 -0
  200. research_panel-3.1.1/packages/core/research/templates/catalog/ponytail-review/LICENSE +21 -0
  201. research_panel-3.1.1/packages/core/research/templates/catalog/ponytail-review/SKILL.md +101 -0
  202. research_panel-3.1.1/packages/core/research/templates/catalog/ponytail-review/SOURCE.yaml +9 -0
  203. research_panel-3.1.1/packages/core/research/templates/catalog/pydicom/LICENSE +21 -0
  204. research_panel-3.1.1/packages/core/research/templates/catalog/pydicom/SKILL.md +428 -0
  205. research_panel-3.1.1/packages/core/research/templates/catalog/pydicom/SOURCE.yaml +9 -0
  206. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/LICENSE +21 -0
  207. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/SKILL.md +208 -0
  208. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/SOURCE.yaml +9 -0
  209. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/references/best_practices.md +87 -0
  210. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/references/callbacks.md +117 -0
  211. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/references/data_module.md +98 -0
  212. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/references/distributed_training.md +148 -0
  213. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/references/lightning_module.md +126 -0
  214. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/references/logging.md +144 -0
  215. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/references/trainer.md +90 -0
  216. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/scripts/quick_trainer_setup.py +483 -0
  217. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/scripts/template_datamodule.py +170 -0
  218. research_panel-3.1.1/packages/core/research/templates/catalog/pytorch-lightning/scripts/template_lightning_module.py +220 -0
  219. research_panel-3.1.1/packages/core/research/templates/catalog/qiskit/LICENSE +21 -0
  220. research_panel-3.1.1/packages/core/research/templates/catalog/qiskit/SKILL.md +283 -0
  221. research_panel-3.1.1/packages/core/research/templates/catalog/qiskit/SOURCE.yaml +9 -0
  222. research_panel-3.1.1/packages/core/research/templates/catalog/receiving-code-review/LICENSE +21 -0
  223. research_panel-3.1.1/packages/core/research/templates/catalog/receiving-code-review/SKILL.md +205 -0
  224. research_panel-3.1.1/packages/core/research/templates/catalog/receiving-code-review/SOURCE.yaml +9 -0
  225. research_panel-3.1.1/packages/core/research/templates/catalog/reproducibility-statement/LICENSE +24 -0
  226. research_panel-3.1.1/packages/core/research/templates/catalog/reproducibility-statement/SKILL.md +97 -0
  227. research_panel-3.1.1/packages/core/research/templates/catalog/reproducibility-statement/SOURCE.yaml +9 -0
  228. research_panel-3.1.1/packages/core/research/templates/catalog/requesting-code-review/LICENSE +21 -0
  229. research_panel-3.1.1/packages/core/research/templates/catalog/requesting-code-review/SKILL.md +95 -0
  230. research_panel-3.1.1/packages/core/research/templates/catalog/requesting-code-review/SOURCE.yaml +9 -0
  231. research_panel-3.1.1/packages/core/research/templates/catalog/requesting-code-review/code-reviewer.md +198 -0
  232. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-critical-thinking/LICENSE +21 -0
  233. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-critical-thinking/SKILL.md +235 -0
  234. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-critical-thinking/SOURCE.yaml +9 -0
  235. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-visualization-kdense/LICENSE +21 -0
  236. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-visualization-kdense/SKILL.md +307 -0
  237. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-visualization-kdense/SOURCE.yaml +9 -0
  238. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-writing/LICENSE +21 -0
  239. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-writing/SKILL.md +381 -0
  240. research_panel-3.1.1/packages/core/research/templates/catalog/scientific-writing/SOURCE.yaml +9 -0
  241. research_panel-3.1.1/packages/core/research/templates/catalog/scikit-learn/LICENSE +21 -0
  242. research_panel-3.1.1/packages/core/research/templates/catalog/scikit-learn/SKILL.md +346 -0
  243. research_panel-3.1.1/packages/core/research/templates/catalog/scikit-learn/SOURCE.yaml +9 -0
  244. research_panel-3.1.1/packages/core/research/templates/catalog/shap/LICENSE +21 -0
  245. research_panel-3.1.1/packages/core/research/templates/catalog/shap/SKILL.md +315 -0
  246. research_panel-3.1.1/packages/core/research/templates/catalog/shap/SOURCE.yaml +9 -0
  247. research_panel-3.1.1/packages/core/research/templates/catalog/simpy/LICENSE +21 -0
  248. research_panel-3.1.1/packages/core/research/templates/catalog/simpy/SKILL.md +314 -0
  249. research_panel-3.1.1/packages/core/research/templates/catalog/simpy/SOURCE.yaml +9 -0
  250. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-analysis/LICENSE +21 -0
  251. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-analysis/SKILL.md +453 -0
  252. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-analysis/SOURCE.yaml +9 -0
  253. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/LICENSE +21 -0
  254. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/SKILL.md +225 -0
  255. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/SOURCE.yaml +9 -0
  256. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/references/closed_form_recipes.md +200 -0
  257. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/references/effect_sizes.md +134 -0
  258. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/references/simulation_based_power.md +144 -0
  259. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/scripts/power.py +453 -0
  260. research_panel-3.1.1/packages/core/research/templates/catalog/statistical-power/scripts/simulate_power.py +314 -0
  261. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/LICENSE +21 -0
  262. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/SKILL.md +408 -0
  263. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/SOURCE.yaml +9 -0
  264. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/references/advanced-topics.md +651 -0
  265. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/references/code-generation-printing.md +632 -0
  266. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/references/core-capabilities.md +376 -0
  267. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/references/core_capabilities.md +195 -0
  268. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/references/matrices-linear-algebra.md +531 -0
  269. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/references/physics-mechanics.md +630 -0
  270. research_panel-3.1.1/packages/core/research/templates/catalog/sympy/references/review.md +88 -0
  271. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/CREATION-LOG.md +119 -0
  272. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/LICENSE +21 -0
  273. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/SKILL.md +283 -0
  274. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/SOURCE.yaml +9 -0
  275. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/condition-based-waiting-example.ts +158 -0
  276. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/condition-based-waiting.md +115 -0
  277. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/defense-in-depth.md +122 -0
  278. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/find-polluter.sh +72 -0
  279. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/root-cause-tracing.md +169 -0
  280. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/test-academic.md +14 -0
  281. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/test-pressure-1.md +58 -0
  282. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/test-pressure-2.md +68 -0
  283. research_panel-3.1.1/packages/core/research/templates/catalog/systematic-debugging/test-pressure-3.md +69 -0
  284. research_panel-3.1.1/packages/core/research/templates/catalog/verification-before-completion/LICENSE +21 -0
  285. research_panel-3.1.1/packages/core/research/templates/catalog/verification-before-completion/SKILL.md +120 -0
  286. research_panel-3.1.1/packages/core/research/templates/catalog/verification-before-completion/SOURCE.yaml +9 -0
  287. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/LICENSE +202 -0
  288. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/LICENSE.txt +202 -0
  289. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/SKILL.md +96 -0
  290. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/SOURCE.yaml +9 -0
  291. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/examples/console_logging.py +35 -0
  292. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/examples/element_discovery.py +40 -0
  293. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/examples/static_html_automation.py +33 -0
  294. research_panel-3.1.1/packages/core/research/templates/catalog/webapp-testing/scripts/with_server.py +106 -0
  295. research_panel-3.1.1/packages/core/research/templates/catalog.yaml +853 -0
  296. research_panel-3.1.1/packages/core/research/templates/claude-agents/research-haiku.md +8 -0
  297. research_panel-3.1.1/packages/core/research/templates/claude-agents/research-opus.md +8 -0
  298. research_panel-3.1.1/packages/core/research/templates/claude-agents/research-sonnet.md +8 -0
  299. research_panel-3.1.1/packages/core/research/templates/packs.yaml +122 -0
  300. research_panel-3.1.1/packages/core/research/templates/prompts/resume-session.md +3 -0
  301. research_panel-3.1.1/packages/core/research/templates/prompts/synthesize.md +3 -0
  302. research_panel-3.1.1/packages/core/research/templates/skills/clean-dataset/SKILL.md +13 -0
  303. research_panel-3.1.1/packages/core/research/templates/skills/engineering-loop/SKILL.md +31 -0
  304. research_panel-3.1.1/packages/core/research/templates/skills/failure-triage/SKILL.md +30 -0
  305. research_panel-3.1.1/packages/core/research/templates/skills/hpc-setup/SKILL.md +147 -0
  306. research_panel-3.1.1/packages/core/research/templates/skills/hypothesis-design/SKILL.md +24 -0
  307. research_panel-3.1.1/packages/core/research/templates/skills/independent-review/SKILL.md +23 -0
  308. research_panel-3.1.1/packages/core/research/templates/skills/literature-evidence/SKILL.md +19 -0
  309. research_panel-3.1.1/packages/core/research/templates/skills/parameter-tuning/SKILL.md +18 -0
  310. research_panel-3.1.1/packages/core/research/templates/skills/promote-validated-work/SKILL.md +19 -0
  311. research_panel-3.1.1/packages/core/research/templates/skills/reproduce-paper/SKILL.md +30 -0
  312. research_panel-3.1.1/packages/core/research/templates/skills/reproducibility-audit/SKILL.md +19 -0
  313. research_panel-3.1.1/packages/core/research/templates/skills/research-context/SKILL.md +20 -0
  314. research_panel-3.1.1/packages/core/research/templates/skills/run-experiment/SKILL.md +24 -0
  315. research_panel-3.1.1/packages/core/research/templates/skills/scientific-briefing/SKILL.md +47 -0
  316. research_panel-3.1.1/packages/core/research/templates/skills/scientific-handoff/SKILL.md +24 -0
  317. research_panel-3.1.1/packages/core/research/templates/skills/scientific-visualization/SKILL.md +22 -0
  318. research_panel-3.1.1/packages/core/research/templates/skills/synthesize-experiment/SKILL.md +29 -0
  319. research_panel-3.1.1/packages/core/research/templates/skills/uncertainty-analysis/SKILL.md +20 -0
  320. research_panel-3.1.1/packages/core/research/templates/skills/validation-oracles/SKILL.md +24 -0
  321. research_panel-3.1.1/packages/core/research/templates/templates/experiment-brief.md +10 -0
  322. research_panel-3.1.1/packages/core/research/templates/templates/note.md +6 -0
  323. research_panel-3.1.1/packages/core/research/totp.py +51 -0
  324. research_panel-3.1.1/packages/core/research/usage.py +134 -0
  325. research_panel-3.1.1/packages/core/research/util.py +215 -0
  326. research_panel-3.1.1/packages/core/research/verification.py +314 -0
  327. research_panel-3.1.1/packages/core/research/views.py +407 -0
  328. research_panel-3.1.1/packages/core/research/workspace.py +616 -0
  329. research_panel-3.1.1/packages/core/research/yamlio.py +72 -0
  330. research_panel-3.1.1/pyproject.toml +70 -0
  331. research_panel-3.1.1/research_panel.egg-info/PKG-INFO +507 -0
  332. research_panel-3.1.1/research_panel.egg-info/SOURCES.txt +335 -0
  333. research_panel-3.1.1/research_panel.egg-info/dependency_links.txt +1 -0
  334. research_panel-3.1.1/research_panel.egg-info/entry_points.txt +2 -0
  335. research_panel-3.1.1/research_panel.egg-info/requires.txt +14 -0
  336. research_panel-3.1.1/research_panel.egg-info/top_level.txt +2 -0
  337. research_panel-3.1.1/setup.cfg +4 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Yubraj Bhandari
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,507 @@
1
+ Metadata-Version: 2.4
2
+ Name: research-panel
3
+ Version: 3.1.1
4
+ Summary: ResearchOS: a CLI, terminal UI and supervisor for autonomous research with coding agents (Claude Code, Codex, Antigravity, opencode): plans, experiments, approvals, results.
5
+ Author: yubrajbhandari923
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/yubrajbhandari923/research-vscode
8
+ Project-URL: Documentation, https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/QUICKSTART.md
9
+ Project-URL: Repository, https://github.com/yubrajbhandari923/research-vscode
10
+ Project-URL: Issues, https://github.com/yubrajbhandari923/research-vscode/issues
11
+ Project-URL: Changelog, https://github.com/yubrajbhandari923/research-vscode/blob/main/CHANGELOG.md
12
+ Keywords: research,experiments,reproducibility,agents,claude-code,codex,opencode,supervisor,tui,cli,slurm,hpc
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Environment :: Console
15
+ Classifier: Intended Audience :: Science/Research
16
+ Classifier: License :: OSI Approved :: MIT License
17
+ Classifier: Operating System :: MacOS
18
+ Classifier: Operating System :: POSIX
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3 :: Only
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Programming Language :: Python :: 3.14
25
+ Classifier: Topic :: Scientific/Engineering
26
+ Requires-Python: >=3.8
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ Provides-Extra: dev
30
+ Requires-Dist: pytest>=7; extra == "dev"
31
+ Requires-Dist: pytest-xdist>=3; extra == "dev"
32
+ Provides-Extra: tui
33
+ Requires-Dist: textual>=0.80; python_full_version >= "3.8.1" and extra == "tui"
34
+ Provides-Extra: discord
35
+ Requires-Dist: discord.py<3,>=2.4; python_version >= "3.10" and extra == "discord"
36
+ Dynamic: license-file
37
+
38
+ # Research OS
39
+
40
+ Project-local research memory for computational science. The `research` CLI is the product; a terminal UI, a VS Code extension,
41
+ a Python API and an MCP server are interfaces to the same `.research/` directory.
42
+ It preserves what you intended, what was implemented, what experiments showed, what you learned,
43
+ and what should happen next.
44
+
45
+ **Version 3.1.1.** Project format 2. v1 projects are not upgraded or migrated (see [Recovery](#recovery)).
46
+
47
+ ![Research Control Center: Home](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/home-dark.png)
48
+
49
+ Two related lifecycles keep scientific conclusions separate from completed work:
50
+
51
+ ```text
52
+ Question → Experiment → Runs → Metrics / Artifacts → Synthesis → Findings → Decisions → Checkpoint
53
+ Plan → Tasks → Agent delegation → Implementation → Verification → Completion
54
+ ```
55
+
56
+ Research OS is local and provider-independent. Canonical records are text files; SQLite provides
57
+ an index. It supports local runs, Remote SSH, SLURM and portable HPC bundles. It does not replace
58
+ scientific notebooks, validate scientific truth, or autonomously schedule your research. Optional job isolation
59
+ restricts what a *job* can touch; it does not sandbox *agents* (agent boundaries are advisory). There is no required cloud service.
60
+
61
+ > [Getting started](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/QUICKSTART.md) · [Guide](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/GUIDE.md) · [Skills, hooks and MCP](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/AGENT_TOOLS.md) · [Governance](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/GOVERNANCE.md) ·
62
+ > [Supervisor](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/SUPERVISOR.md) · [Chat](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/CHAT.md) · [Troubleshooting](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/TROUBLESHOOTING.md) · [Changelog](https://github.com/yubrajbhandari923/research-vscode/blob/main/CHANGELOG.md).
63
+
64
+ ## Quick start (5 minutes)
65
+
66
+ ```bash
67
+ # 1. Install the CLI from PyPI, in its own isolated environment ([tui] adds the terminal UI)
68
+ uv tool install "research-panel[tui]" # or: pipx install "research-panel[tui]"
69
+ research version
70
+
71
+ # 2. Create a project (a preview; add --apply to create it)
72
+ research init sparse-ct --layout ledger --name "Sparse CT" --goal "What you are trying to find out" --agents claude
73
+ research init sparse-ct --layout ledger --name "Sparse CT" --goal "What you are trying to find out" --agents claude --apply
74
+ cd sparse-ct/main && research doctor
75
+
76
+ # 3. Set up an agent and a model strategy (you install and sign in to the agent's own CLI)
77
+ research agent setup claude --apply
78
+ research strategy use balanced_first
79
+
80
+ # 4. Run a plan: validate, apply, start the supervisor
81
+ research plan yaml template -o plans/research.yaml # edit it, or use the example in the guide
82
+ research plan yaml validate plans/research.yaml
83
+ research plan yaml apply plans/research.yaml
84
+ research plan run PLAN-001
85
+
86
+ # 5. Watch and steer
87
+ research tui # needs the [tui] extra
88
+ research plan status PLAN-001
89
+ ```
90
+
91
+ Prefer VS Code? Install the `.vsix` from the same release, open an empty folder and run **Research: Initialize Project**.
92
+ The step-by-step guide, with a worked example, is [docs/QUICKSTART.md](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/QUICKSTART.md).
93
+
94
+ ## Feature tour
95
+
96
+ | You want to | Look at |
97
+ |---|---|
98
+ | Install, update, match the extension and CLI versions | [Install](#install), [Getting started](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/QUICKSTART.md#1-install) |
99
+ | Let agents run a plan while you sleep, with checks and retries | [Supervisor](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/SUPERVISOR.md), [Plans, tasks and agents](#plans-tasks-and-agents) |
100
+ | Choose which model does which work (fast, balanced, deep) | [Providers and strategies](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/PROVIDERS.md), [Model allocation](#model-allocation-and-contracts) |
101
+ | Watch from a terminal or a panel | [`research tui`](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/QUICKSTART.md#5-watching-and-steering), [Control Center](#control-center) |
102
+ | Answer questions and steer from Telegram or Discord | [Chat](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/CHAT.md) |
103
+ | Keep scientific decisions in human hands | [Governance and the approval PIN](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/GOVERNANCE.md) |
104
+ | Survive provider usage limits unattended | [Usage limits](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/QUICKSTART.md#8-usage-limits) |
105
+ | Tell the story of your results | [Scientist Guide](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/GUIDE.md) |
106
+ | Give agents skills, hooks and MCP tools | [Skills, hooks and MCP](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/AGENT_TOOLS.md) |
107
+ | Fix a problem | [Troubleshooting](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/TROUBLESHOOTING.md) |
108
+
109
+ The project layout is `main/` (your code, GitHub's root), `ledger/` (research records) and `experiments/` (one worktree each). Initialization links the shipped
110
+ skills for your agents, registers the MCP server, approves nine starter hooks and creates the Scientist Guide. Nothing is pushed.
111
+
112
+ ## Control Center
113
+
114
+ `Research: Open Control Center` opens one panel with seven areas:
115
+
116
+ | Area | What it is for |
117
+ |---|---|
118
+ | **Home** | Project goal, current focus, items that need you (syntheses, reviews, blocked tasks, promotions), active experiments, running jobs, recent findings and activity |
119
+ | **Work** | Plans and tasks, experiment branches (git worktrees), jobs, promotion candidates with their gates, optional job isolation |
120
+ | **Research** | **Reports** (write the project report or the complete export, open them), experiments with run progress and latest result, findings, questions, decisions |
121
+ | **Plans** | YAML plans run by the persistent supervisor: phases, attempts, approvals, proposals |
122
+ | **Guide** | The Scientist Guide: important results, chapters and their owners, what an agent may write, references, publishing, Quarto, build and preview |
123
+ | **Agents** | Providers (Claude Code, Codex, Antigravity), and **Skills, hooks and MCP**: what is loaded, one-click fixes |
124
+ | **Settings** | Every configurable setting with `?` help, its origin (default, machine or project file), file and key; **the Research OS version**; project health |
125
+
126
+ | Guide | Research and reports |
127
+ |---|---|
128
+ | ![Guide](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/guide-dark.png) | ![Research](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/research-dark.png) |
129
+
130
+ | Skills, hooks and MCP | Plans |
131
+ |---|---|
132
+ | ![Agents: skills, hooks and MCP](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/agents-tools-dark.png) | ![Plans](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/plans-dark.png) |
133
+
134
+ | Home | Work | Settings |
135
+ |---|---|---|
136
+ | ![Home](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/home-dark.png) | ![Work](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/work-dark.png) | ![Settings](https://raw.githubusercontent.com/yubrajbhandari923/research-vscode/main/docs/screens/control-center-v2/settings-dark.png) |
137
+
138
+ Light-theme versions of every screen are in [`docs/screens/control-center-v2/`](https://github.com/yubrajbhandari923/research-vscode/tree/main/docs/screens/control-center-v2/) (`*-light.png`), and the Guide page after a build is `guide-built-*.png`.
139
+ First run in an empty folder opens a short setup wizard; **New experiment** is a guided form that never runs anything.
140
+
141
+ ## The Scientist Guide
142
+
143
+ `research report` records **everything**; the guide is the **short story you tell**. It is a [Quarto](https://quarto.org) book in
144
+ `docs/scientist-guide/` on the main branch that builds to a website (and a PDF), with your own theme, citations and notes:
145
+
146
+ - **Important results are logged for you.** A finding an independent review marks supported (or that you star) gets a short entry with its claim and plot in *Key results*. No agent is involved and entries are never rewritten.
147
+ - **An agent drafts only when you ask**, within limits you set (words per section, sections, figures); `research guide draft check` reports any overrun. You edit, add context, cite, and approve.
148
+ - **References from day one:** `references.bib`, `research guide cite add --bibtex …`, `[@key]` in the text; a cited key that is missing is an error.
149
+ - **Publish on every push:** `.github/workflows/publish-guide.yml` deploys the scientific edition with GitHub Pages (one-time: Settings → Pages → Source: GitHub Actions).
150
+ - **Two editions, one text:** the website is clean prose; the researcher edition adds an evidence panel per chapter. Claims and figures carry provenance; review and approval are separate steps.
151
+
152
+ Quarto is needed only to build ([install or update it](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/GUIDE.md#updating-quarto)). Full guide: [docs/GUIDE.md](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/GUIDE.md).
153
+
154
+ ## Skills, hooks and MCP
155
+
156
+ Skills tell an agent *how* to work, hooks are programs *you approve* that check its work, and the MCP server lets it read and write the
157
+ records instead of guessing. Every new project is equipped out of the box:
158
+
159
+ - **Skills:** the *Core Research* pack (hypothesis design, validation oracles, failure triage, reproducibility audit, uncertainty analysis, literature evidence, scientific visualization, independent review, promotion of validated work, plus curated debugging, review and experimental-design skills), and any of eight field packs you pick in the wizard: Scientific Python, Machine Learning, Physics/Numerical, Medical Imaging, Quantum Computing, HPC, Frontend, Scientific Writing. Third-party skills (Ponytail, Superpowers, K-Dense, Anthropic, Kalaris) are curated, attributed copies with pinned commits and licenses ([THIRD_PARTY_NOTICES.md](https://github.com/yubrajbhandari923/research-vscode/blob/main/THIRD_PARTY_NOTICES.md)); Trail of Bits and Vercel skills, whose licenses do not allow bundling, are install-from-source. A skill reaches an agent's brief only when the task type or role matches.
160
+ - **Hooks:** nine cheap starter checks (syntax, whitespace, git integrity, secrets scan, task scope, frozen tests, experiment configuration, numeric invariants, artifact integrity), approved by you; project-aware extras (lint, format, pytest, tsc) are detected and offered, never automatic.
161
+ - **MCP:** registered for each enabled agent.
162
+
163
+ Agents → **Skills, hooks and MCP** has a searchable catalog with one-click install, packs, per-skill activation, enable/disable, hook approval and test results, and updates; `research skills …` and `research hook …` do the same, and `skills.packs` in the machine config sets the default for every new project. [docs/AGENT_TOOLS.md](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/AGENT_TOOLS.md).
164
+
165
+ ## Install
166
+
167
+ Research OS is a command-line tool first. The CLI and terminal UI are on [PyPI](https://pypi.org/project/research-panel/) as
168
+ `research-panel`; the optional VS Code extension (`research-panel-X.Y.Z.vsix`) is on the
169
+ [GitHub releases page](https://github.com/yubrajbhandari923/research-vscode/releases/latest), next to the same wheel, an sdist and `SHA256SUMS`.
170
+ The core needs Python 3.8 or newer; Node is only needed to build from source.
171
+
172
+ ```bash
173
+ # 1. the CLI, in its own isolated environment (uv or pipx); add the terminal UI with the tui extra
174
+ uv tool install "research-panel[tui]"
175
+ # or: pipx install "research-panel[tui]"
176
+ research version
177
+ research tui
178
+
179
+ # 2. optional VS Code extension (the CLI from step 1 must be installed)
180
+ code --install-extension research-panel-X.Y.Z.vsix
181
+
182
+ # update later
183
+ uv tool upgrade research-panel # or: pipx upgrade research-panel, or: research self-update
184
+ ```
185
+
186
+ Or in VS Code: Extensions → `…` → **Install from VSIX…**. Install the extension on the workspace host when using Remote SSH, and the CLI there too.
187
+
188
+ **Update.** `research self-update` downloads the newest release wheel, checks it against `SHA256SUMS`, and reinstalls with the tool that installed it
189
+ (`uv tool`, pipx or pip). `--check` only reports, `--version X.Y.Z` pins, `--from-file WHEEL` installs offline, and a major (breaking) upgrade needs `--major`.
190
+ On any failure the existing install is untouched.
191
+
192
+ **The extension is a thin client.** It runs the installed `research` (the `research.cliPath` setting, then `PATH`, `~/.local/bin` and pipx's bin directory) and
193
+ bundles no Python. It needs a core with the same major version and a minor at least what it declares; on a mismatch the status bar warns and
194
+ **Research: Show Version Info** names the command to run. `research version --json` reports what is installed.
195
+
196
+ **Agents.** Each initialized project gets `.research/bin/research`, a generated machine-local launcher agents can run without `PATH`; refresh it with
197
+ `research bin install --force` after an upgrade, a new machine or moving the project.
198
+
199
+ **Supervisor after a reboot or upgrade.** Opening a project in VS Code starts the supervisor only when a plan is running or Telegram is enabled; otherwise run `research supervisor start`, and after an upgrade `research supervisor restart` (`research self-update` also restarts known supervisors).
200
+
201
+ To build from a clone:
202
+
203
+ ```bash
204
+ python3 -m venv .venv
205
+ source .venv/bin/activate
206
+ python -m pip install -e '.[dev]' build
207
+ npm install
208
+ npm test
209
+ npm run package # VSIX, wheel and sdist in dist/
210
+ ```
211
+
212
+ Activate the environment before `npm test`: it invokes `python3` from PATH.
213
+
214
+ ## Start a research project
215
+
216
+ ```bash
217
+ cd my-project
218
+ research init --goal "Measure how step size affects convergence"
219
+ research question create "Which step size converges reliably?"
220
+ research experiment create "step-size study" -q Q-001 \
221
+ --hypothesis "An intermediate step size converges fastest" \
222
+ --param 'alpha=[0.1,0.5,1.0]' --metric final_error --planned-runs 3 \
223
+ --stop "Three runs, then synthesize"
224
+ ```
225
+
226
+ Initialization writes `.research/`, a managed block in `AGENTS.md`, and the project-local CLI.
227
+ It preserves text outside the managed block. Default skills and templates live inside `.research/`.
228
+
229
+ Register an experiment before executing its runs. With your own `sim.py`:
230
+
231
+ ```bash
232
+ research run exec EXP-001 --param alpha=0.1 -- python sim.py --alpha 0.1
233
+ research run exec EXP-001 --param alpha=0.5 -- python sim.py --alpha 0.5
234
+ research run exec EXP-001 --param alpha=1.0 --detach -- python sim.py --alpha 1.0
235
+ research run logs RUN-0001 --tail 20
236
+ research experiment show EXP-001
237
+ ```
238
+
239
+ Inside a registered run, the Python API attaches records to the current run:
240
+
241
+ ```python
242
+ import research
243
+
244
+ research.log_metric("final_error", 0.002)
245
+ research.register_artifact("outputs/curve.png", description="Convergence curve")
246
+ ```
247
+
248
+ Logs, parameters, command, timing, exit state and available git metadata are recorded. Artifacts
249
+ are references, not backup copies. Detached runs survive the initiating CLI; reconciliation reads
250
+ the runner's status files. A disappeared process without a recorded outcome becomes `unknown`.
251
+
252
+ For an executable example, use a **new** destination:
253
+
254
+ ```bash
255
+ bash examples/alpha-sweep/run_demo.sh /tmp/my-research-demo
256
+ ```
257
+
258
+ The demo refuses an existing destination. It must never erase a research directory to start over.
259
+
260
+ ## Synthesize, decide and resume
261
+
262
+ After examining actual results, record the interpretation explicitly:
263
+
264
+ ```bash
265
+ research experiment synthesize EXP-001 \
266
+ --happened "Describe the completed runs and their measured results" \
267
+ --interpretation "Explain what the evidence supports and what it does not" \
268
+ --next "Describe the next discriminating experiment"
269
+ research finding create "A conclusion supported by the observed results" \
270
+ --supports EXP-001 RUN-0001 --confidence medium --limitations "Single seed"
271
+ research finding create "A direction that failed" --kind failure --supports RUN-0003
272
+ research decision create "The next research decision" --findings F-001
273
+ research checkpoint create --problem "Remaining uncertainty" --next "Next experiment"
274
+ research status --full
275
+ research current
276
+ ```
277
+
278
+ These are templates for your observations, not conclusions to copy without evidence. A synthesis
279
+ does not automatically create a finding. Agent findings remain preliminary until reviewed by an
280
+ independent actor or role. Failed directions remain discoverable. Superseding records preserves
281
+ historical context.
282
+
283
+ `research evidence` binds numerical claims to recorded metrics or supported calculations.
284
+ Numerical consistency is distinct from scientific validity: software cannot establish that the
285
+ experiment, metric or interpretation is appropriate. The **Scientist Guide** is the curated counterpart of `research report`: a Quarto book on the main branch
286
+ (`docs/scientist-guide/`) with your key results, citations (`references.bib`) and a theme, published as a website on every push.
287
+ Important results are logged into it automatically, an agent writes a short first draft only when you ask (within word, section
288
+ and figure limits you set), and you finish it. Claims and figures carry provenance; review and approval are separate steps
289
+ (`docs/GUIDE.md`).
290
+
291
+ In VS Code, open **Research Home** with `Ctrl/Cmd+Alt+R`. Questions, experiments, findings,
292
+ decisions, checkpoints and plans also have sidebar views. Experiment pages expose runs, logs,
293
+ metrics and artifacts. The CLI remains available for interfaces without a dedicated UI.
294
+
295
+ ## Plans, tasks and agents
296
+
297
+ ```bash
298
+ research plan create "Implement and validate the next experiment"
299
+ research task create PLAN-001 "Implement the simulator" --check 'cmd:python -m pytest -q'
300
+ research task next
301
+ research task context T-001
302
+ research task start T-001
303
+ research task verify T-001
304
+ research task done T-001 --result "Implementation and validation summary"
305
+ ```
306
+
307
+ Tasks can carry dependencies, acceptance criteria, file or metric checks, and progress notes.
308
+ Dependency cycles introduced by task updates are rejected. Claims are serialized in SQLite;
309
+ another actor's claim requires an explicit takeover. Starting a task with unmet dependencies
310
+ still warns. Plans do not complete automatically.
311
+
312
+ Completion checks apply to `task done`, task status updates, `mark` and creating a task already `done`; all
313
+ of them run the same verification (`orchestrate.verify_work`): frozen-test integrity, a consistent task
314
+ specification, file boundaries, approved hooks and task checks. The result is *passed*, *blocked* (a check failed,
315
+ a required hook is unapproved, or the specification conflicts) or *unverified* (nothing deterministic ran). A task with
316
+ no verifier can still be completed administratively, and that is recorded as such; it is never reported as verified.
317
+ `research task verify` exits non-zero unless the result is *passed*. Passing checks never make a finding
318
+ scientifically supported; that needs the separate independent review. Failed checks block agents;
319
+ humans receive warnings and an audit event unless `agent_policy.enforce_for_humans` is enabled. Frozen-test integrity
320
+ blocks completion independently. Roles are self-declared conventions, not authenticated identities.
321
+ Hand-edited files and direct Python internals are outside the CLI policy boundary.
322
+
323
+ ```bash
324
+ research agent dispatch planner --objective "Design the next experiment"
325
+ research task dispatch T-001
326
+ research agent dispatch verifier F-001
327
+ ```
328
+
329
+ `research task context T-001` (also the MCP `task_context` tool, the RPC call behind the editor, and the start of every
330
+ dispatch brief) prints one *effective task specification*: objective, inputs, constraints, permitted files, expected
331
+ outputs, acceptance criteria, checks, frozen tests and hooks needing approval, each with its source. If the task record and
332
+ its orchestration contract disagree, both values are shown as a conflict and dispatch and completion are blocked until
333
+ someone reconciles them; nothing is silently overridden.
334
+
335
+ Dispatch prepares a brief and, for tasks, a single-use launch command. The active strategy chooses the model by
336
+ default; `--profile`/`--agent-model` are explicit overrides (task pin, then strategy, is the order below them). Every
337
+ task dispatch path (plain, routed, orchestrated, editor, MCP) applies the same specification, dependency,
338
+ frozen-test and preflight checks. Launching the command takes a per-task lock held for the provider's lifetime, so
339
+ two processes cannot run the same task; a second launch exits with code 3. Execution records under
340
+ `.research/orchestration/executions/` distinguish *prepared*, *launched*, *running*, *completed*, *failed* and
341
+ *unknown* (the launcher was interrupted and the provider's fate is unobserved). A launcher killed outright (SIGKILL) cannot update its record, which then stays *running*; the lock, not the record, is the authority on whether the task is still being executed. Preparing or sending a command to a
342
+ terminal is not evidence that an agent ran. Missing provider executables, credentials
343
+ or model access must be resolved in that provider's environment. No third-party skill is installed
344
+ merely by selecting a strategy.
345
+
346
+ ### Model allocation and contracts
347
+
348
+ ```bash
349
+ research strategy list
350
+ research strategy use balanced_first
351
+ research strategy validate
352
+ research orchestrate --help
353
+ ```
354
+
355
+ Built-in strategies map task classes to configured model profiles:
356
+
357
+ | Strategy | Allocation intent |
358
+ |---|---|
359
+ | `balanced_first` | Balanced model coordinates, fast model implements checkable work, deep model only for scientific synthesis (preferred for new projects) |
360
+ | `deep_first` | Deep model plans and interprets, balanced translates to contracts and tests, fast implements |
361
+ | `fast_max` | Maximise verified fast-model execution; balanced orchestrates and is the escalation target; deep only on request |
362
+ | `balanced_heavy` | Balanced model coordinates and implements, fast only for mechanical work, deep for milestone synthesis |
363
+
364
+ The older names `sonnet_first`, `opus_first`, `haiku_max` and `sonnet_heavy` are accepted as aliases of these.
365
+
366
+ Custom strategies can extend a built-in. Profile model identifiers are configuration, not evidence
367
+ of provider availability. Per-dispatch overrides take precedence over task pins, then strategy
368
+ routing. Task pins apply to implementer dispatches; verifier routing retains its independence rule.
369
+ Without an active strategy, legacy tier configuration remains supported for existing projects.
370
+
371
+ Contracts persist objective, context, outputs, allowed files, constraints and verification guidance.
372
+ Use `research orchestrate contract --help` for fields. `research orchestrate freeze` records acceptance
373
+ file hashes; changing an existing hash requires `correct-test` and a reason. Re-freezing does not
374
+ silently accept changed tests. `orchestrate verify` checks integrity, file boundaries, task checks
375
+ and hooks; missing verification is not success. Retries and escalations are bounded by the chosen
376
+ strategy, but Research OS does not supply an unattended scheduler.
377
+
378
+ Agents should recover context through `AGENTS.md → research current → research task context → search/show`.
379
+ Project agents may propose skills and hooks; this does not authorize modifying Research OS itself.
380
+
381
+ ## Configuration, skills and hooks
382
+
383
+ Configuration precedence is **built-in defaults ← machine file ← project file**. The machine file
384
+ is normally `~/.config/research-os/config.yaml`; project overrides live in `.research/config.yaml`.
385
+ Sparse files inherit missing values. Use `research config check` for diagnostics. Supported edits
386
+ preserve comments; converting legacy flow-style YAML may require a backed-up migration.
387
+
388
+ The project harness references instructions, skills, focused context and checks. Harness `checks`
389
+ are guidance in briefs; executable automatic checks belong in task checks or approved hooks.
390
+
391
+ - **Skills** are instructions and supporting files, imported into `.research/skills/` with provenance.
392
+ Use `research skills list`, `show`, `add`, `update` and `link`. Removed/replaced skills are backed up
393
+ in `.research/cache/removed-skills/`; user-owned agent-directory entries are preserved.
394
+ - **Tools** are callable CLI, RPC or MCP operations. MCP covers a subset of the CLI.
395
+ - **Hooks** are shell commands at `preflight`, `post_implementation`, `pre_experiment` or
396
+ `post_experiment`. They require explicit human approval.
397
+
398
+ ```bash
399
+ research hook add tests --stage post_implementation --command 'python -m pytest -q'
400
+ research hook list
401
+ research hook approve tests
402
+ research hook run --stage post_implementation
403
+ ```
404
+
405
+ Approval binds the command, stage and effective timeout. Relevant changes invalidate it. An enabled,
406
+ required, unapproved hook blocks its gate; disabled hooks are skipped. Advisory failures remain
407
+ visible without blocking an otherwise successful verifier. A skipped hook never counts as a pass.
408
+ `post_experiment` runs through `research experiment check`, not automatically when a run exits.
409
+ Hook and check commands execute with the user's filesystem permissions. Approve only trusted code.
410
+
411
+ ## MCP and HPC
412
+
413
+ ```bash
414
+ research mcp install
415
+ research mcp serve
416
+ ```
417
+
418
+ The stdio MCP server exposes registered tools with schemas and structured errors. It does not expose
419
+ every feature: strategy, orchestration, hooks, evidence, tuning and guide workflows use CLI/RPC.
420
+ Re-run installation after moving a project if a client registration contains its old absolute path.
421
+ See [MCP details](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/spec/09-interfaces.md#mcp-server) and `research mcp --help`.
422
+
423
+ For SLURM on the workspace host, use `research run submit --help`. Remote HPC profiles specify SSH
424
+ aliases, approved storage roots and resources:
425
+
426
+ ```bash
427
+ research hpc config --example
428
+ research hpc doctor
429
+ research hpc --help
430
+ ```
431
+
432
+ Configure and inspect a profile before submission. SSH credentials stay in OpenSSH configuration.
433
+ Compute-node jobs write per-run files, never the project SQLite index. Portable bundles support
434
+ separate execution and result import; remote sync reconciles outcomes. Offline tests simulate
435
+ clusters and execute portable bundles locally; they do not establish compatibility with every
436
+ site's SLURM accounting, filesystem or scheduler policy. [HPC specification](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/spec/06-execution.md#hpc-execution).
437
+
438
+ ## Recovery
439
+
440
+ Back up the complete `.research/` directory and referenced artifacts. Run logs are gitignored by
441
+ default, so committing metadata alone does not back up logs or external datasets.
442
+
443
+ ```bash
444
+ research doctor # project health; --fix ID applies the few safe generated-file repairs
445
+ research config check # diagnose the configuration files
446
+ research rebuild # rebuild the index from canonical records
447
+ ```
448
+
449
+ Every mutation runs under a project write lock (`.research/.write.lock`) with an undo journal
450
+ (`.research/.transaction.json`). If a process dies mid-operation, the next open rolls the canonical files back and
451
+ rebuilds the index, so a half-finished operation is discarded as a whole; an unreadable or unsafe journal is preserved and
452
+ reported instead. This protects against process crashes and concurrent supported writers. It does not protect against
453
+ hand edits made during a write, filesystems whose `fsync`/`flock` are unreliable (some network mounts), or power loss on
454
+ hardware that acknowledges writes it has not persisted.
455
+
456
+ Rebuild backs up a readable index, imports canonical records transactionally and preserves canonical
457
+ file bytes. Duplicate IDs and malformed canonical records stop recovery rather than silently dropping
458
+ records. Resolve duplicate IDs **and their references**; renaming a filename alone does not change a
459
+ front-matter ID. Incomplete JSONL tails are not ingested and block further appends until repaired.
460
+
461
+ For an unreadable/corrupt index, stop clients and back up `.research/` first. Move `research.db` to a
462
+ safe backup location, then reopen the project to reconstruct it. Do not discard canonical files or
463
+ SQLite journal files blindly.
464
+
465
+ | Symptom | Next action |
466
+ |---|---|
467
+ | "… is a Research OS v1 project" | It is a v1 project and was not touched; see "Starting a v2 project in a v1 folder" below |
468
+ | CLI missing | Install it (see Install), use `.research/bin/research`, or run `research bin install`; more in [Troubleshooting](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/TROUBLESHOOTING.md) |
469
+ | Python fails to start in VS Code | Check Output → Research and `research.cliPath` (run `research version --json`) |
470
+ | Run budget blocks an agent | Review failures and synthesize before launching more runs |
471
+ | Required hook blocks work | Inspect its exact command, then have a human approve or deliberately disable it |
472
+ | Malformed Markdown, JSONL or YAML | Preserve the file, repair the reported record, then retry |
473
+ | Task ledger is corrupt | Restore/repair it; do not reset frozen tests or attempt history |
474
+ | Index locked | Stop competing clients and retry; do not delete an active database |
475
+ | Newer schema refused | Install a newer release; do not lower the stored schema version |
476
+
477
+ ### Starting a v2 project in a v1 folder
478
+
479
+ A folder with a `.research/config.yaml` but no `.research/format.json` is a v1 project. The CLI and extension refuse it and change nothing, so Research OS 1.x
480
+ can still read it. To start fresh in the same folder:
481
+
482
+ ```bash
483
+ mv .research .research-v1-archive # keeps every old record, untouched
484
+ research init --goal "What you are trying to find out"
485
+ ```
486
+
487
+ Re-register what still matters with `research question create`, `research finding create` and `research decision create`; old runs, metrics and artifacts are not imported.
488
+
489
+ ## Documentation
490
+
491
+ [Getting started](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/QUICKSTART.md) · [Troubleshooting](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/TROUBLESHOOTING.md) · [Chat](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/CHAT.md) · [Configuration](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/CONFIGURATION.md) ·
492
+ [Technical specification](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/SPEC.md) · [Scientist Guide](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/GUIDE.md) · [Skills, hooks and MCP](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/AGENT_TOOLS.md) ·
493
+ [Providers](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/PROVIDERS.md) · [Supervisor](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/SUPERVISOR.md) · [Setup](https://github.com/yubrajbhandari923/research-vscode/blob/main/docs/SETUP.md) ·
494
+ [Changelog](https://github.com/yubrajbhandari923/research-vscode/blob/main/CHANGELOG.md).
495
+
496
+ ## Development
497
+
498
+ `npm test` runs Python tests, TypeScript checking and Node RPC-client tests; `npm run test:webview` runs the Control Center
499
+ interaction tests against the real core in jsdom. `npm run build` bundles the extension; `npm run package` produces the VSIX,
500
+ wheel and (when a build frontend is available) source distribution. `bash scripts/clean_install_test.sh` installs the wheel
501
+ offline in a fresh environment and verifies relocation/rebuild.
502
+
503
+ Authoritative source lives under `packages/core`, `packages/cli` and `packages/vscode-extension/src`
504
+ (webview assets in `media`). Extension `dist`, codicons and root `dist/` are generated.
505
+
506
+ Unverified (nothing in the test suite covers them): the extension inside every VS Code configuration (Remote SSH, high-contrast themes, screen readers),
507
+ Windows, and real Apptainer/GPU isolation.