@bohuyeshan/openagent-labforge-core 3.11.5 → 3.13.0

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 (272) hide show
  1. package/README.ja.md +130 -343
  2. package/README.ko.md +128 -337
  3. package/README.md +229 -584
  4. package/README.ru.md +131 -364
  5. package/README.zh-cn.md +231 -547
  6. package/bin/openagent-labforge.js +95 -9
  7. package/bin/platform.test.ts +20 -21
  8. package/dist/agents/article-writer.d.ts +7 -0
  9. package/dist/agents/atlas/default.d.ts +1 -1
  10. package/dist/agents/atlas/gemini.d.ts +1 -1
  11. package/dist/agents/atlas/gpt.d.ts +1 -1
  12. package/dist/agents/bio-methodologist.d.ts +1 -1
  13. package/dist/agents/bio-orchestrator.d.ts +7 -0
  14. package/dist/agents/bio-skill-guidance.d.ts +1 -0
  15. package/dist/agents/builtin-agents/general-agents.d.ts +0 -1
  16. package/dist/agents/builtin-agents/sisyphus-agent.d.ts +16 -0
  17. package/dist/agents/dynamic-agent-prompt-builder.d.ts +0 -2
  18. package/dist/agents/engineering-capability.d.ts +7 -0
  19. package/dist/agents/env-context.d.ts +1 -1
  20. package/dist/agents/github-scout.d.ts +7 -0
  21. package/dist/agents/index.d.ts +0 -1
  22. package/dist/agents/metis.d.ts +1 -1
  23. package/dist/agents/momus.d.ts +1 -1
  24. package/dist/agents/prometheus/behavioral-summary.d.ts +1 -1
  25. package/dist/agents/prometheus/gemini.d.ts +1 -1
  26. package/dist/agents/prometheus/gpt.d.ts +1 -1
  27. package/dist/agents/prometheus/interview-mode.d.ts +1 -1
  28. package/dist/agents/prometheus/plan-generation.d.ts +1 -1
  29. package/dist/agents/prometheus/plan-template.d.ts +1 -1
  30. package/dist/agents/prometheus/system-prompt.d.ts +1 -1
  31. package/dist/agents/scientific-writer.d.ts +7 -0
  32. package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +1 -1
  33. package/dist/agents/sisyphus-junior/gpt-5-4.d.ts +1 -1
  34. package/dist/agents/sisyphus-junior/gpt.d.ts +1 -1
  35. package/dist/agents/tech-scout.d.ts +7 -0
  36. package/dist/agents/types.d.ts +1 -1
  37. package/dist/agents/wase.d.ts +8 -0
  38. package/dist/agents/wet-lab-designer.d.ts +7 -0
  39. package/dist/agents/writing-style-rules.d.ts +1 -0
  40. package/dist/cli/config-manager/bun-install.d.ts +1 -6
  41. package/dist/cli/config-manager/cleanup-managed-mcp-from-opencode-config.d.ts +2 -0
  42. package/dist/cli/config-manager/cleanup-stale-managed-agents.d.ts +2 -0
  43. package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -0
  44. package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -1
  45. package/dist/cli/config-manager/sync-static-agent-to-opencode-config.d.ts +2 -0
  46. package/dist/cli/config-manager/sync-static-mcp-to-opencode-config.d.ts +2 -0
  47. package/dist/cli/config-manager/write-bootstrap-skill.d.ts +15 -0
  48. package/dist/cli/config-manager.d.ts +5 -0
  49. package/dist/cli/index.js +24986 -15362
  50. package/dist/cli/install-validators.d.ts +0 -1
  51. package/dist/cli/model-fallback-types.d.ts +0 -1
  52. package/dist/cli/run/index.d.ts +0 -1
  53. package/dist/cli/run/types.d.ts +0 -1
  54. package/dist/cli/types.d.ts +0 -3
  55. package/dist/config/schema/agent-names.d.ts +36 -3
  56. package/dist/config/schema/agent-overrides.d.ts +504 -0
  57. package/dist/config/schema/background-task.d.ts +0 -2
  58. package/dist/config/schema/experimental.d.ts +5 -0
  59. package/dist/config/schema/git-master.d.ts +0 -1
  60. package/dist/config/schema/hooks.d.ts +0 -2
  61. package/dist/config/schema/mcp-policy.d.ts +1 -0
  62. package/dist/config/schema/oh-my-opencode-config.d.ts +526 -54
  63. package/dist/config/schema.d.ts +0 -1
  64. package/dist/create-hooks.d.ts +0 -13
  65. package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +1 -16
  66. package/dist/features/background-agent/constants.d.ts +2 -1
  67. package/dist/features/background-agent/manager.d.ts +5 -20
  68. package/dist/features/background-agent/process-cleanup.d.ts +1 -1
  69. package/dist/features/background-agent/task-history.d.ts +0 -1
  70. package/dist/features/background-agent/task-poller.d.ts +0 -1
  71. package/dist/features/background-agent/types.d.ts +0 -4
  72. package/dist/features/builtin-commands/commands.d.ts +4 -1
  73. package/dist/features/builtin-skills/skills/bio-methods.d.ts +2 -0
  74. package/dist/features/builtin-skills/skills/bio-pipeline.d.ts +2 -0
  75. package/dist/features/builtin-skills/skills/bio-tools.d.ts +2 -0
  76. package/dist/features/builtin-skills/skills/bio-visualization.d.ts +2 -0
  77. package/dist/features/builtin-skills/skills/cell-annotation.d.ts +2 -0
  78. package/dist/features/builtin-skills/skills/differential-expression.d.ts +2 -0
  79. package/dist/features/builtin-skills/skills/geo-query.d.ts +2 -0
  80. package/dist/features/builtin-skills/skills/index.d.ts +14 -0
  81. package/dist/features/builtin-skills/skills/paper-evidence.d.ts +2 -0
  82. package/dist/features/builtin-skills/skills/pubmed-search.d.ts +2 -0
  83. package/dist/features/builtin-skills/skills/scrna-preprocessing.d.ts +2 -0
  84. package/dist/features/builtin-skills/skills/sequence-analysis.d.ts +2 -0
  85. package/dist/features/builtin-skills/skills/structural-biology.d.ts +2 -0
  86. package/dist/features/builtin-skills/skills/vector-design.d.ts +2 -0
  87. package/dist/features/builtin-skills/skills/wet-lab-design.d.ts +2 -0
  88. package/dist/features/claude-code-agent-loader/loader.d.ts +3 -3
  89. package/dist/features/claude-code-agent-loader/types.d.ts +1 -8
  90. package/dist/features/claude-code-mcp-loader/configure-allowed-env-vars.d.ts +5 -0
  91. package/dist/features/claude-code-mcp-loader/index.d.ts +1 -0
  92. package/dist/features/claude-code-mcp-loader/types.d.ts +3 -0
  93. package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +2 -2
  94. package/dist/features/claude-code-plugin-loader/loader.d.ts +2 -2
  95. package/dist/features/claude-code-plugin-loader/types.d.ts +1 -1
  96. package/dist/features/claude-code-session-state/state.d.ts +5 -0
  97. package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -1
  98. package/dist/features/opencode-skill-loader/project-skill-directory-discovery.d.ts +1 -0
  99. package/dist/features/opencode-skill-loader/skill-metadata-validator.d.ts +8 -0
  100. package/dist/features/skill-mcp-manager/types.d.ts +0 -4
  101. package/dist/features/tmux-subagent/index.d.ts +0 -1
  102. package/dist/features/tmux-subagent/manager.d.ts +0 -5
  103. package/dist/features/tmux-subagent/types.d.ts +0 -2
  104. package/dist/hooks/atlas/tool-execute-after.d.ts +0 -2
  105. package/dist/hooks/atlas/types.d.ts +0 -2
  106. package/dist/hooks/atlas/verification-reminders.d.ts +0 -4
  107. package/dist/hooks/auto-slash-command/hook.d.ts +0 -7
  108. package/dist/hooks/auto-update-checker/checker.d.ts +1 -3
  109. package/dist/hooks/auto-update-checker/constants.d.ts +2 -2
  110. package/dist/hooks/comment-checker/downloader.d.ts +1 -1
  111. package/dist/hooks/compaction-context-injector/hook.d.ts +1 -5
  112. package/dist/hooks/context-window-monitor.d.ts +5 -2
  113. package/dist/hooks/index.d.ts +0 -2
  114. package/dist/hooks/keyword-detector/detector.d.ts +1 -1
  115. package/dist/hooks/keyword-detector/hook.d.ts +2 -2
  116. package/dist/hooks/keyword-detector/index.d.ts +1 -0
  117. package/dist/hooks/keyword-detector/semantic-hint.d.ts +4 -0
  118. package/dist/hooks/keyword-detector/ultrawork/autonomous.d.ts +8 -0
  119. package/dist/hooks/preemptive-compaction.d.ts +5 -2
  120. package/dist/hooks/runtime-fallback/hook.d.ts +3 -2
  121. package/dist/hooks/runtime-fallback/message-update-handler.d.ts +2 -1
  122. package/dist/hooks/runtime-fallback/types.d.ts +3 -56
  123. package/dist/hooks/session-notification-scheduler.d.ts +3 -5
  124. package/dist/hooks/session-notification.d.ts +0 -2
  125. package/dist/hooks/session-recovery/tool-pairing.d.ts +16 -0
  126. package/dist/hooks/start-work/index.d.ts +1 -1
  127. package/dist/hooks/start-work/worktree-detector.d.ts +0 -7
  128. package/dist/hooks/todo-continuation-enforcer/compaction-guard.d.ts +4 -0
  129. package/dist/hooks/todo-continuation-enforcer/constants.d.ts +6 -5
  130. package/dist/hooks/todo-continuation-enforcer/handler.d.ts +0 -1
  131. package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +0 -1
  132. package/dist/hooks/todo-continuation-enforcer/resolve-message-info.d.ts +3 -0
  133. package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +1 -1
  134. package/dist/hooks/todo-continuation-enforcer/types.d.ts +8 -3
  135. package/dist/hooks/tool-output-truncator.d.ts +0 -1
  136. package/dist/index.js +56627 -56933
  137. package/dist/mcp/extended.d.ts +4 -2
  138. package/dist/mcp/index.d.ts +2 -1
  139. package/dist/mcp/types.d.ts +2 -3
  140. package/dist/openagent-labforge.schema.json +1362 -83
  141. package/dist/plugin/hooks/create-continuation-hooks.d.ts +1 -2
  142. package/dist/plugin/hooks/create-core-hooks.d.ts +0 -1
  143. package/dist/plugin/hooks/create-session-hooks.d.ts +1 -2
  144. package/dist/plugin/ultrawork-model-override.d.ts +11 -1
  145. package/dist/plugin-dispose.d.ts +12 -10
  146. package/dist/plugin-handlers/agent-config-handler.d.ts +0 -1
  147. package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +1 -1
  148. package/dist/plugin-state.d.ts +0 -5
  149. package/dist/shared/agent-display-names.d.ts +1 -0
  150. package/dist/shared/data-path.d.ts +1 -1
  151. package/dist/shared/dynamic-truncator.d.ts +7 -4
  152. package/dist/shared/external-plugin-detector.d.ts +7 -0
  153. package/dist/shared/index.d.ts +5 -3
  154. package/dist/shared/jsonc-parser.d.ts +4 -0
  155. package/dist/shared/mcp-local-command-normalizer.d.ts +1 -0
  156. package/dist/shared/migrate-legacy-config-file.d.ts +1 -0
  157. package/dist/shared/model-error-classifier.d.ts +1 -2
  158. package/dist/shared/opencode-command-dirs.d.ts +0 -1
  159. package/dist/shared/plugin-identity.d.ts +2 -3
  160. package/dist/shared/project-discovery-dirs.d.ts +4 -0
  161. package/dist/shared/session-model-state.d.ts +1 -2
  162. package/dist/shared/system-directive.d.ts +5 -6
  163. package/dist/tools/call-omo-agent/background-executor.d.ts +1 -2
  164. package/dist/tools/call-omo-agent/constants.d.ts +2 -2
  165. package/dist/tools/call-omo-agent/sync-executor.d.ts +3 -11
  166. package/dist/tools/call-omo-agent/tools.d.ts +2 -2
  167. package/dist/tools/call-omo-agent/types.d.ts +13 -0
  168. package/dist/tools/delegate-task/constants.d.ts +1 -1
  169. package/dist/tools/delegate-task/model-selection.d.ts +0 -1
  170. package/dist/tools/delegate-task/model-string-parser.d.ts +3 -1
  171. package/dist/tools/delegate-task/parent-context-resolver.d.ts +22 -0
  172. package/dist/tools/lsp/constants.d.ts +0 -1
  173. package/dist/tools/lsp/lsp-client-transport.d.ts +2 -4
  174. package/dist/tools/lsp/lsp-client-wrapper.d.ts +1 -2
  175. package/generated/skills-bundles/catalog.json +1 -1
  176. package/generated/skills-bundles/full/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +56 -55
  177. package/generated/skills-bundles/full/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +105 -104
  178. package/generated/skills-bundles/full/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +272 -271
  179. package/generated/skills-bundles/full/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +40 -39
  180. package/generated/skills-bundles/full/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +274 -273
  181. package/generated/skills-bundles/full/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +131 -130
  182. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +245 -244
  183. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +247 -246
  184. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +303 -302
  185. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -84
  186. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -87
  187. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -48
  188. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -80
  189. package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +31 -31
  190. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +126 -125
  191. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +80 -79
  192. package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +187 -186
  193. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +11 -11
  194. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +18 -18
  195. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +20 -20
  196. package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +15 -15
  197. package/generated/skills-bundles/full/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +217 -216
  198. package/generated/skills-bundles/paper/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +56 -55
  199. package/generated/skills-bundles/paper/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +105 -104
  200. package/generated/skills-bundles/paper/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +272 -271
  201. package/generated/skills-bundles/paper/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +40 -39
  202. package/generated/skills-bundles/paper/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +274 -273
  203. package/generated/skills-bundles/paper/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +131 -130
  204. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +245 -244
  205. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +247 -246
  206. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +303 -302
  207. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -84
  208. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -87
  209. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -48
  210. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -80
  211. package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +31 -31
  212. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +126 -125
  213. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +80 -79
  214. package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +187 -186
  215. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +11 -11
  216. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +18 -18
  217. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +20 -20
  218. package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +15 -15
  219. package/generated/skills-bundles/paper/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +217 -216
  220. package/package.json +36 -32
  221. package/dist/cli/openai-only-model-catalog.d.ts +0 -3
  222. package/dist/cli/run/model-resolver.d.ts +0 -4
  223. package/dist/config/schema/git-env-prefix.d.ts +0 -5
  224. package/dist/features/background-agent/remove-task-toast-tracking.d.ts +0 -1
  225. package/dist/features/background-agent/subagent-spawn-limits.d.ts +0 -23
  226. package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +0 -4
  227. package/dist/features/tmux-subagent/pane-state-parser.d.ts +0 -8
  228. package/dist/features/tmux-subagent/tracked-session-state.d.ts +0 -8
  229. package/dist/hooks/atlas/boulder-session-lineage.d.ts +0 -6
  230. package/dist/hooks/atlas/final-wave-approval-gate.d.ts +0 -4
  231. package/dist/hooks/atlas/idle-event.d.ts +0 -8
  232. package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +0 -11
  233. package/dist/hooks/auto-slash-command/processed-command-store.d.ts +0 -7
  234. package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +0 -7
  235. package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +0 -1
  236. package/dist/hooks/compaction-context-injector/constants.d.ts +0 -5
  237. package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +0 -6
  238. package/dist/hooks/compaction-context-injector/recovery.d.ts +0 -6
  239. package/dist/hooks/compaction-context-injector/session-id.d.ts +0 -2
  240. package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +0 -16
  241. package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +0 -13
  242. package/dist/hooks/compaction-context-injector/types.d.ts +0 -43
  243. package/dist/hooks/compaction-context-injector/validated-model.d.ts +0 -13
  244. package/dist/hooks/delegate-task-english-directive/hook.d.ts +0 -14
  245. package/dist/hooks/delegate-task-english-directive/index.d.ts +0 -1
  246. package/dist/hooks/gpt-permission-continuation/assistant-message.d.ts +0 -23
  247. package/dist/hooks/gpt-permission-continuation/constants.d.ts +0 -4
  248. package/dist/hooks/gpt-permission-continuation/detector.d.ts +0 -1
  249. package/dist/hooks/gpt-permission-continuation/handler.d.ts +0 -12
  250. package/dist/hooks/gpt-permission-continuation/index.d.ts +0 -13
  251. package/dist/hooks/gpt-permission-continuation/session-state.d.ts +0 -15
  252. package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +0 -16
  253. package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +0 -10
  254. package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +0 -11
  255. package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +0 -4
  256. package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +0 -7
  257. package/dist/hooks/runtime-fallback/session-messages.d.ts +0 -9
  258. package/dist/hooks/runtime-fallback/session-status-handler.d.ts +0 -3
  259. package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +0 -3
  260. package/dist/hooks/session-notification-content.d.ts +0 -30
  261. package/dist/plugin/normalize-tool-arg-schemas.d.ts +0 -2
  262. package/dist/plugin/ultrawork-variant-availability.d.ts +0 -6
  263. package/dist/shared/compaction-agent-config-checkpoint.d.ts +0 -11
  264. package/dist/shared/context-limit-resolver.d.ts +0 -5
  265. package/dist/shared/fallback-chain-from-models.d.ts +0 -3
  266. package/dist/shared/question-denied-session-permission.d.ts +0 -6
  267. package/dist/shared/retry-status-utils.d.ts +0 -2
  268. package/dist/shared/vision-capable-models-cache.d.ts +0 -4
  269. package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +0 -2
  270. package/dist/tools/look-at/multimodal-fallback-chain.d.ts +0 -4
  271. package/dist/tools/lsp/directory-diagnostics.d.ts +0 -1
  272. package/dist/tools/lsp/server-path-bases.d.ts +0 -1
@@ -6,58 +6,59 @@ allowed-tools: "Bash(ssh *), Bash(echo *), Read, Write, Edit"
6
6
  metadata:
7
7
  category: "data-analysis/experiment-monitoring"
8
8
  ---
9
- # Monitor Experiment Results
10
-
11
- Monitor: $ARGUMENTS
12
-
13
- ## Workflow
14
-
15
- ### Step 1: Check What's Running
16
- ```bash
17
- ssh <server> "screen -ls"
18
- ```
19
-
20
- ### Step 2: Collect Output from Each Screen
21
- For each screen session, capture the last N lines:
22
- ```bash
23
- ssh <server> "screen -S <name> -X hardcopy /tmp/screen_<name>.txt && tail -50 /tmp/screen_<name>.txt"
24
- ```
25
-
26
- If hardcopy fails, check for log files or tee output.
27
-
28
- ### Step 3: Check for JSON Result Files
29
- ```bash
30
- ssh <server> "ls -lt <results_dir>/*.json 2>/dev/null | head -20"
31
- ```
32
-
33
- If JSON results exist, fetch and parse them:
34
- ```bash
35
- ssh <server> "cat <results_dir>/<latest>.json"
36
- ```
37
-
38
- ### Step 4: Summarize Results
39
-
40
- Present results in a comparison table:
41
- ```
42
- | Experiment | Metric | Delta vs Baseline | Status |
43
- |-----------|--------|-------------------|--------|
44
- | Baseline | X.XX | — | done |
45
- | Method A | X.XX | +Y.Y | done |
46
- ```
47
-
48
- ### Step 5: Interpret
49
- - Compare against known baselines
50
- - Flag unexpected results (negative delta, NaN, divergence)
51
- - Suggest next steps based on findings
52
-
53
- ### Step 6: Feishu Notification (if configured)
54
-
55
- After results are collected, check `~/.claude/feishu.json`:
56
- - Send `experiment_done` notification: results summary table, delta vs baseline
57
- - If config absent or mode `"off"`: skip entirely (no-op)
58
-
59
- ## Key Rules
60
- - Always show raw numbers before interpretation
61
- - Compare against the correct baseline (same config)
62
- - Note if experiments are still running (check progress bars, iteration counts)
63
- - If results look wrong, check training logs for errors before concluding
9
+
10
+ # Monitor Experiment Results
11
+
12
+ Monitor: $ARGUMENTS
13
+
14
+ ## Workflow
15
+
16
+ ### Step 1: Check What's Running
17
+ ```bash
18
+ ssh <server> "screen -ls"
19
+ ```
20
+
21
+ ### Step 2: Collect Output from Each Screen
22
+ For each screen session, capture the last N lines:
23
+ ```bash
24
+ ssh <server> "screen -S <name> -X hardcopy /tmp/screen_<name>.txt && tail -50 /tmp/screen_<name>.txt"
25
+ ```
26
+
27
+ If hardcopy fails, check for log files or tee output.
28
+
29
+ ### Step 3: Check for JSON Result Files
30
+ ```bash
31
+ ssh <server> "ls -lt <results_dir>/*.json 2>/dev/null | head -20"
32
+ ```
33
+
34
+ If JSON results exist, fetch and parse them:
35
+ ```bash
36
+ ssh <server> "cat <results_dir>/<latest>.json"
37
+ ```
38
+
39
+ ### Step 4: Summarize Results
40
+
41
+ Present results in a comparison table:
42
+ ```
43
+ | Experiment | Metric | Delta vs Baseline | Status |
44
+ |-----------|--------|-------------------|--------|
45
+ | Baseline | X.XX | | done |
46
+ | Method A | X.XX | +Y.Y | done |
47
+ ```
48
+
49
+ ### Step 5: Interpret
50
+ - Compare against known baselines
51
+ - Flag unexpected results (negative delta, NaN, divergence)
52
+ - Suggest next steps based on findings
53
+
54
+ ### Step 6: Feishu Notification (if configured)
55
+
56
+ After results are collected, check `~/.claude/feishu.json`:
57
+ - Send `experiment_done` notification: results summary table, delta vs baseline
58
+ - If config absent or mode `"off"`: skip entirely (no-op)
59
+
60
+ ## Key Rules
61
+ - Always show raw numbers before interpretation
62
+ - Compare against the correct baseline (same config)
63
+ - Note if experiments are still running (check progress bars, iteration counts)
64
+ - If results look wrong, check training logs for errors before concluding
@@ -6,107 +6,108 @@ allowed-tools: "Bash(*), Read, Grep, Glob, Edit, Write, Agent"
6
6
  metadata:
7
7
  category: "data-analysis/experiment-ops"
8
8
  ---
9
- # Run Experiment
10
-
11
- Deploy and run ML experiment: $ARGUMENTS
12
-
13
- ## Workflow
14
-
15
- ### Step 1: Detect Environment
16
-
17
- Read the project's `CLAUDE.md` to determine the experiment environment:
18
-
19
- - **Local GPU**: Look for local CUDA/MPS setup info
20
- - **Remote server**: Look for SSH alias, conda env, code directory
21
-
22
- If no server info is found in `CLAUDE.md`, ask the user.
23
-
24
- ### Step 2: Pre-flight Check
25
-
26
- Check GPU availability on the target machine:
27
-
28
- **Remote:**
29
- ```bash
30
- ssh <server> nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
31
- ```
32
-
33
- **Local:**
34
- ```bash
35
- nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
36
- # or for Mac MPS:
37
- python -c "import torch; print('MPS available:', torch.backends.mps.is_available())"
38
- ```
39
-
40
- Free GPU = memory.used < 500 MiB.
41
-
42
- ### Step 3: Sync Code (Remote Only)
43
-
44
- Only sync necessary files — NOT data, checkpoints, or large files:
45
- ```bash
46
- rsync -avz --include='*.py' --exclude='*' <local_src>/ <server>:<remote_dst>/
47
- ```
48
-
49
- ### Step 4: Deploy
50
-
51
- #### Remote (via SSH + screen)
52
-
53
- For each experiment, create a dedicated screen session with GPU binding:
54
- ```bash
55
- ssh <server> "screen -dmS <exp_name> bash -c '\
56
- eval \"\$(<conda_path>/conda shell.bash hook)\" && \
57
- conda activate <env> && \
58
- CUDA_VISIBLE_DEVICES=<gpu_id> python <script> <args> 2>&1 | tee <log_file>'"
59
- ```
60
-
61
- #### Local
62
-
63
- ```bash
64
- # Linux with CUDA
65
- CUDA_VISIBLE_DEVICES=<gpu_id> python <script> <args> 2>&1 | tee <log_file>
66
-
67
- # Mac with MPS (PyTorch uses MPS automatically)
68
- python <script> <args> 2>&1 | tee <log_file>
69
- ```
70
-
71
- For local long-running jobs, use `run_in_background: true` to keep the conversation responsive.
72
-
73
- ### Step 5: Verify Launch
74
-
75
- **Remote:**
76
- ```bash
77
- ssh <server> "screen -ls"
78
- ```
79
-
80
- **Local:**
81
- Check process is running and GPU is allocated.
82
-
83
- ### Step 6: Feishu Notification (if configured)
84
-
85
- After deployment is verified, check `~/.claude/feishu.json`:
86
- - Send `experiment_done` notification: which experiments launched, which GPUs, estimated time
87
- - If config absent or mode `"off"`: skip entirely (no-op)
88
-
89
- ## Key Rules
90
-
91
- - ALWAYS check GPU availability first — never blindly assign GPUs
92
- - Each experiment gets its own screen session + GPU (remote) or background process (local)
93
- - Use `tee` to save logs for later inspection
94
- - Run deployment commands with `run_in_background: true` to keep conversation responsive
95
- - Report back: which GPU, which screen/process, what command, estimated time
96
- - If multiple experiments, launch them in parallel on different GPUs
97
-
98
- ## CLAUDE.md Example
99
-
100
- Users should add their server info to their project's `CLAUDE.md`:
101
-
102
- ```markdown
103
- ## Remote Server
104
- - SSH: `ssh my-gpu-server`
105
- - GPU: 4x A100 (80GB each)
106
- - Conda: `eval "$(/opt/conda/bin/conda shell.bash hook)" && conda activate research`
107
- - Code dir: `/home/user/experiments/`
108
-
109
- ## Local Environment
110
- - Mac MPS / Linux CUDA
111
- - Conda env: `ml` (Python 3.10 + PyTorch)
112
- ```
9
+
10
+ # Run Experiment
11
+
12
+ Deploy and run ML experiment: $ARGUMENTS
13
+
14
+ ## Workflow
15
+
16
+ ### Step 1: Detect Environment
17
+
18
+ Read the project's `CLAUDE.md` to determine the experiment environment:
19
+
20
+ - **Local GPU**: Look for local CUDA/MPS setup info
21
+ - **Remote server**: Look for SSH alias, conda env, code directory
22
+
23
+ If no server info is found in `CLAUDE.md`, ask the user.
24
+
25
+ ### Step 2: Pre-flight Check
26
+
27
+ Check GPU availability on the target machine:
28
+
29
+ **Remote:**
30
+ ```bash
31
+ ssh <server> nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
32
+ ```
33
+
34
+ **Local:**
35
+ ```bash
36
+ nvidia-smi --query-gpu=index,memory.used,memory.total --format=csv,noheader
37
+ # or for Mac MPS:
38
+ python -c "import torch; print('MPS available:', torch.backends.mps.is_available())"
39
+ ```
40
+
41
+ Free GPU = memory.used < 500 MiB.
42
+
43
+ ### Step 3: Sync Code (Remote Only)
44
+
45
+ Only sync necessary files — NOT data, checkpoints, or large files:
46
+ ```bash
47
+ rsync -avz --include='*.py' --exclude='*' <local_src>/ <server>:<remote_dst>/
48
+ ```
49
+
50
+ ### Step 4: Deploy
51
+
52
+ #### Remote (via SSH + screen)
53
+
54
+ For each experiment, create a dedicated screen session with GPU binding:
55
+ ```bash
56
+ ssh <server> "screen -dmS <exp_name> bash -c '\
57
+ eval \"\$(<conda_path>/conda shell.bash hook)\" && \
58
+ conda activate <env> && \
59
+ CUDA_VISIBLE_DEVICES=<gpu_id> python <script> <args> 2>&1 | tee <log_file>'"
60
+ ```
61
+
62
+ #### Local
63
+
64
+ ```bash
65
+ # Linux with CUDA
66
+ CUDA_VISIBLE_DEVICES=<gpu_id> python <script> <args> 2>&1 | tee <log_file>
67
+
68
+ # Mac with MPS (PyTorch uses MPS automatically)
69
+ python <script> <args> 2>&1 | tee <log_file>
70
+ ```
71
+
72
+ For local long-running jobs, use `run_in_background: true` to keep the conversation responsive.
73
+
74
+ ### Step 5: Verify Launch
75
+
76
+ **Remote:**
77
+ ```bash
78
+ ssh <server> "screen -ls"
79
+ ```
80
+
81
+ **Local:**
82
+ Check process is running and GPU is allocated.
83
+
84
+ ### Step 6: Feishu Notification (if configured)
85
+
86
+ After deployment is verified, check `~/.claude/feishu.json`:
87
+ - Send `experiment_done` notification: which experiments launched, which GPUs, estimated time
88
+ - If config absent or mode `"off"`: skip entirely (no-op)
89
+
90
+ ## Key Rules
91
+
92
+ - ALWAYS check GPU availability first never blindly assign GPUs
93
+ - Each experiment gets its own screen session + GPU (remote) or background process (local)
94
+ - Use `tee` to save logs for later inspection
95
+ - Run deployment commands with `run_in_background: true` to keep conversation responsive
96
+ - Report back: which GPU, which screen/process, what command, estimated time
97
+ - If multiple experiments, launch them in parallel on different GPUs
98
+
99
+ ## CLAUDE.md Example
100
+
101
+ Users should add their server info to their project's `CLAUDE.md`:
102
+
103
+ ```markdown
104
+ ## Remote Server
105
+ - SSH: `ssh my-gpu-server`
106
+ - GPU: 4x A100 (80GB each)
107
+ - Conda: `eval "$(/opt/conda/bin/conda shell.bash hook)" && conda activate research`
108
+ - Code dir: `/home/user/experiments/`
109
+
110
+ ## Local Environment
111
+ - Mac MPS / Linux CUDA
112
+ - Conda env: `ml` (Python 3.10 + PyTorch)
113
+ ```