@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.
- package/README.ja.md +130 -343
- package/README.ko.md +128 -337
- package/README.md +229 -584
- package/README.ru.md +131 -364
- package/README.zh-cn.md +231 -547
- package/bin/openagent-labforge.js +95 -9
- package/bin/platform.test.ts +20 -21
- package/dist/agents/article-writer.d.ts +7 -0
- package/dist/agents/atlas/default.d.ts +1 -1
- package/dist/agents/atlas/gemini.d.ts +1 -1
- package/dist/agents/atlas/gpt.d.ts +1 -1
- package/dist/agents/bio-methodologist.d.ts +1 -1
- package/dist/agents/bio-orchestrator.d.ts +7 -0
- package/dist/agents/bio-skill-guidance.d.ts +1 -0
- package/dist/agents/builtin-agents/general-agents.d.ts +0 -1
- package/dist/agents/builtin-agents/sisyphus-agent.d.ts +16 -0
- package/dist/agents/dynamic-agent-prompt-builder.d.ts +0 -2
- package/dist/agents/engineering-capability.d.ts +7 -0
- package/dist/agents/env-context.d.ts +1 -1
- package/dist/agents/github-scout.d.ts +7 -0
- package/dist/agents/index.d.ts +0 -1
- package/dist/agents/metis.d.ts +1 -1
- package/dist/agents/momus.d.ts +1 -1
- package/dist/agents/prometheus/behavioral-summary.d.ts +1 -1
- package/dist/agents/prometheus/gemini.d.ts +1 -1
- package/dist/agents/prometheus/gpt.d.ts +1 -1
- package/dist/agents/prometheus/interview-mode.d.ts +1 -1
- package/dist/agents/prometheus/plan-generation.d.ts +1 -1
- package/dist/agents/prometheus/plan-template.d.ts +1 -1
- package/dist/agents/prometheus/system-prompt.d.ts +1 -1
- package/dist/agents/scientific-writer.d.ts +7 -0
- package/dist/agents/sisyphus-junior/gpt-5-3-codex.d.ts +1 -1
- package/dist/agents/sisyphus-junior/gpt-5-4.d.ts +1 -1
- package/dist/agents/sisyphus-junior/gpt.d.ts +1 -1
- package/dist/agents/tech-scout.d.ts +7 -0
- package/dist/agents/types.d.ts +1 -1
- package/dist/agents/wase.d.ts +8 -0
- package/dist/agents/wet-lab-designer.d.ts +7 -0
- package/dist/agents/writing-style-rules.d.ts +1 -0
- package/dist/cli/config-manager/bun-install.d.ts +1 -6
- package/dist/cli/config-manager/cleanup-managed-mcp-from-opencode-config.d.ts +2 -0
- package/dist/cli/config-manager/cleanup-stale-managed-agents.d.ts +2 -0
- package/dist/cli/config-manager/parse-opencode-config-file.d.ts +2 -0
- package/dist/cli/config-manager/plugin-name-with-version.d.ts +1 -1
- package/dist/cli/config-manager/sync-static-agent-to-opencode-config.d.ts +2 -0
- package/dist/cli/config-manager/sync-static-mcp-to-opencode-config.d.ts +2 -0
- package/dist/cli/config-manager/write-bootstrap-skill.d.ts +15 -0
- package/dist/cli/config-manager.d.ts +5 -0
- package/dist/cli/index.js +24986 -15362
- package/dist/cli/install-validators.d.ts +0 -1
- package/dist/cli/model-fallback-types.d.ts +0 -1
- package/dist/cli/run/index.d.ts +0 -1
- package/dist/cli/run/types.d.ts +0 -1
- package/dist/cli/types.d.ts +0 -3
- package/dist/config/schema/agent-names.d.ts +36 -3
- package/dist/config/schema/agent-overrides.d.ts +504 -0
- package/dist/config/schema/background-task.d.ts +0 -2
- package/dist/config/schema/experimental.d.ts +5 -0
- package/dist/config/schema/git-master.d.ts +0 -1
- package/dist/config/schema/hooks.d.ts +0 -2
- package/dist/config/schema/mcp-policy.d.ts +1 -0
- package/dist/config/schema/oh-my-opencode-config.d.ts +526 -54
- package/dist/config/schema.d.ts +0 -1
- package/dist/create-hooks.d.ts +0 -13
- package/dist/features/background-agent/compaction-aware-message-resolver.d.ts +1 -16
- package/dist/features/background-agent/constants.d.ts +2 -1
- package/dist/features/background-agent/manager.d.ts +5 -20
- package/dist/features/background-agent/process-cleanup.d.ts +1 -1
- package/dist/features/background-agent/task-history.d.ts +0 -1
- package/dist/features/background-agent/task-poller.d.ts +0 -1
- package/dist/features/background-agent/types.d.ts +0 -4
- package/dist/features/builtin-commands/commands.d.ts +4 -1
- package/dist/features/builtin-skills/skills/bio-methods.d.ts +2 -0
- package/dist/features/builtin-skills/skills/bio-pipeline.d.ts +2 -0
- package/dist/features/builtin-skills/skills/bio-tools.d.ts +2 -0
- package/dist/features/builtin-skills/skills/bio-visualization.d.ts +2 -0
- package/dist/features/builtin-skills/skills/cell-annotation.d.ts +2 -0
- package/dist/features/builtin-skills/skills/differential-expression.d.ts +2 -0
- package/dist/features/builtin-skills/skills/geo-query.d.ts +2 -0
- package/dist/features/builtin-skills/skills/index.d.ts +14 -0
- package/dist/features/builtin-skills/skills/paper-evidence.d.ts +2 -0
- package/dist/features/builtin-skills/skills/pubmed-search.d.ts +2 -0
- package/dist/features/builtin-skills/skills/scrna-preprocessing.d.ts +2 -0
- package/dist/features/builtin-skills/skills/sequence-analysis.d.ts +2 -0
- package/dist/features/builtin-skills/skills/structural-biology.d.ts +2 -0
- package/dist/features/builtin-skills/skills/vector-design.d.ts +2 -0
- package/dist/features/builtin-skills/skills/wet-lab-design.d.ts +2 -0
- package/dist/features/claude-code-agent-loader/loader.d.ts +3 -3
- package/dist/features/claude-code-agent-loader/types.d.ts +1 -8
- package/dist/features/claude-code-mcp-loader/configure-allowed-env-vars.d.ts +5 -0
- package/dist/features/claude-code-mcp-loader/index.d.ts +1 -0
- package/dist/features/claude-code-mcp-loader/types.d.ts +3 -0
- package/dist/features/claude-code-plugin-loader/agent-loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/loader.d.ts +2 -2
- package/dist/features/claude-code-plugin-loader/types.d.ts +1 -1
- package/dist/features/claude-code-session-state/state.d.ts +5 -0
- package/dist/features/opencode-skill-loader/git-master-template-injection.d.ts +1 -1
- package/dist/features/opencode-skill-loader/project-skill-directory-discovery.d.ts +1 -0
- package/dist/features/opencode-skill-loader/skill-metadata-validator.d.ts +8 -0
- package/dist/features/skill-mcp-manager/types.d.ts +0 -4
- package/dist/features/tmux-subagent/index.d.ts +0 -1
- package/dist/features/tmux-subagent/manager.d.ts +0 -5
- package/dist/features/tmux-subagent/types.d.ts +0 -2
- package/dist/hooks/atlas/tool-execute-after.d.ts +0 -2
- package/dist/hooks/atlas/types.d.ts +0 -2
- package/dist/hooks/atlas/verification-reminders.d.ts +0 -4
- package/dist/hooks/auto-slash-command/hook.d.ts +0 -7
- package/dist/hooks/auto-update-checker/checker.d.ts +1 -3
- package/dist/hooks/auto-update-checker/constants.d.ts +2 -2
- package/dist/hooks/comment-checker/downloader.d.ts +1 -1
- package/dist/hooks/compaction-context-injector/hook.d.ts +1 -5
- package/dist/hooks/context-window-monitor.d.ts +5 -2
- package/dist/hooks/index.d.ts +0 -2
- package/dist/hooks/keyword-detector/detector.d.ts +1 -1
- package/dist/hooks/keyword-detector/hook.d.ts +2 -2
- package/dist/hooks/keyword-detector/index.d.ts +1 -0
- package/dist/hooks/keyword-detector/semantic-hint.d.ts +4 -0
- package/dist/hooks/keyword-detector/ultrawork/autonomous.d.ts +8 -0
- package/dist/hooks/preemptive-compaction.d.ts +5 -2
- package/dist/hooks/runtime-fallback/hook.d.ts +3 -2
- package/dist/hooks/runtime-fallback/message-update-handler.d.ts +2 -1
- package/dist/hooks/runtime-fallback/types.d.ts +3 -56
- package/dist/hooks/session-notification-scheduler.d.ts +3 -5
- package/dist/hooks/session-notification.d.ts +0 -2
- package/dist/hooks/session-recovery/tool-pairing.d.ts +16 -0
- package/dist/hooks/start-work/index.d.ts +1 -1
- package/dist/hooks/start-work/worktree-detector.d.ts +0 -7
- package/dist/hooks/todo-continuation-enforcer/compaction-guard.d.ts +4 -0
- package/dist/hooks/todo-continuation-enforcer/constants.d.ts +6 -5
- package/dist/hooks/todo-continuation-enforcer/handler.d.ts +0 -1
- package/dist/hooks/todo-continuation-enforcer/idle-event.d.ts +0 -1
- package/dist/hooks/todo-continuation-enforcer/resolve-message-info.d.ts +3 -0
- package/dist/hooks/todo-continuation-enforcer/session-state.d.ts +1 -1
- package/dist/hooks/todo-continuation-enforcer/types.d.ts +8 -3
- package/dist/hooks/tool-output-truncator.d.ts +0 -1
- package/dist/index.js +56627 -56933
- package/dist/mcp/extended.d.ts +4 -2
- package/dist/mcp/index.d.ts +2 -1
- package/dist/mcp/types.d.ts +2 -3
- package/dist/openagent-labforge.schema.json +1362 -83
- package/dist/plugin/hooks/create-continuation-hooks.d.ts +1 -2
- package/dist/plugin/hooks/create-core-hooks.d.ts +0 -1
- package/dist/plugin/hooks/create-session-hooks.d.ts +1 -2
- package/dist/plugin/ultrawork-model-override.d.ts +11 -1
- package/dist/plugin-dispose.d.ts +12 -10
- package/dist/plugin-handlers/agent-config-handler.d.ts +0 -1
- package/dist/plugin-handlers/prometheus-agent-config-builder.d.ts +1 -1
- package/dist/plugin-state.d.ts +0 -5
- package/dist/shared/agent-display-names.d.ts +1 -0
- package/dist/shared/data-path.d.ts +1 -1
- package/dist/shared/dynamic-truncator.d.ts +7 -4
- package/dist/shared/external-plugin-detector.d.ts +7 -0
- package/dist/shared/index.d.ts +5 -3
- package/dist/shared/jsonc-parser.d.ts +4 -0
- package/dist/shared/mcp-local-command-normalizer.d.ts +1 -0
- package/dist/shared/migrate-legacy-config-file.d.ts +1 -0
- package/dist/shared/model-error-classifier.d.ts +1 -2
- package/dist/shared/opencode-command-dirs.d.ts +0 -1
- package/dist/shared/plugin-identity.d.ts +2 -3
- package/dist/shared/project-discovery-dirs.d.ts +4 -0
- package/dist/shared/session-model-state.d.ts +1 -2
- package/dist/shared/system-directive.d.ts +5 -6
- package/dist/tools/call-omo-agent/background-executor.d.ts +1 -2
- package/dist/tools/call-omo-agent/constants.d.ts +2 -2
- package/dist/tools/call-omo-agent/sync-executor.d.ts +3 -11
- package/dist/tools/call-omo-agent/tools.d.ts +2 -2
- package/dist/tools/call-omo-agent/types.d.ts +13 -0
- package/dist/tools/delegate-task/constants.d.ts +1 -1
- package/dist/tools/delegate-task/model-selection.d.ts +0 -1
- package/dist/tools/delegate-task/model-string-parser.d.ts +3 -1
- package/dist/tools/delegate-task/parent-context-resolver.d.ts +22 -0
- package/dist/tools/lsp/constants.d.ts +0 -1
- package/dist/tools/lsp/lsp-client-transport.d.ts +2 -4
- package/dist/tools/lsp/lsp-client-wrapper.d.ts +1 -2
- package/generated/skills-bundles/catalog.json +1 -1
- package/generated/skills-bundles/full/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +56 -55
- package/generated/skills-bundles/full/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +105 -104
- package/generated/skills-bundles/full/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +272 -271
- package/generated/skills-bundles/full/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +40 -39
- package/generated/skills-bundles/full/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +274 -273
- package/generated/skills-bundles/full/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +131 -130
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +245 -244
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +247 -246
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +303 -302
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -84
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -87
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -48
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -80
- package/generated/skills-bundles/full/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +31 -31
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +126 -125
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +80 -79
- package/generated/skills-bundles/full/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +187 -186
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +11 -11
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +18 -18
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +20 -20
- package/generated/skills-bundles/full/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +15 -15
- package/generated/skills-bundles/full/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +217 -216
- package/generated/skills-bundles/paper/skills/data-analysis/experiment-monitoring/auto-claude__monitor-experiment/SKILL.md +56 -55
- package/generated/skills-bundles/paper/skills/data-analysis/experiment-ops/auto-claude__run-experiment/SKILL.md +105 -104
- package/generated/skills-bundles/paper/skills/data-analysis/optimization/auto-claude__dse-loop/SKILL.md +272 -271
- package/generated/skills-bundles/paper/skills/data-analysis/statistics/auto-claude__analyze-results/SKILL.md +40 -39
- package/generated/skills-bundles/paper/skills/data-analysis/visualization/auto-claude__paper-figure/SKILL.md +274 -273
- package/generated/skills-bundles/paper/skills/productivity/visual-design/auto-claude__pixel-art/SKILL.md +131 -130
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-compile/SKILL.md +245 -244
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-plan/SKILL.md +247 -246
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/SKILL.md +303 -302
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/iclr2026.tex +84 -84
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/icml2025.tex +87 -87
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/math_commands.tex +48 -48
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-write/templates/neurips2025.tex +80 -80
- package/generated/skills-bundles/paper/skills/research/document-authoring/auto-claude__paper-writing/SKILL.md +31 -31
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__arxiv/SKILL.md +126 -125
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__novelty-check/SKILL.md +80 -79
- package/generated/skills-bundles/paper/skills/research/literature-and-web-search/auto-claude__research-lit/SKILL.md +187 -186
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-creator/SKILL.md +11 -11
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery/SKILL.md +18 -18
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__idea-discovery-robot/SKILL.md +20 -20
- package/generated/skills-bundles/paper/skills/research/research-ideation/auto-claude__research-pipeline/SKILL.md +15 -15
- package/generated/skills-bundles/paper/skills/research/theory-writing/auto-claude__proof-writer/SKILL.md +217 -216
- package/package.json +36 -32
- package/dist/cli/openai-only-model-catalog.d.ts +0 -3
- package/dist/cli/run/model-resolver.d.ts +0 -4
- package/dist/config/schema/git-env-prefix.d.ts +0 -5
- package/dist/features/background-agent/remove-task-toast-tracking.d.ts +0 -1
- package/dist/features/background-agent/subagent-spawn-limits.d.ts +0 -23
- package/dist/features/claude-code-agent-loader/claude-model-mapper.d.ts +0 -4
- package/dist/features/tmux-subagent/pane-state-parser.d.ts +0 -8
- package/dist/features/tmux-subagent/tracked-session-state.d.ts +0 -8
- package/dist/hooks/atlas/boulder-session-lineage.d.ts +0 -6
- package/dist/hooks/atlas/final-wave-approval-gate.d.ts +0 -4
- package/dist/hooks/atlas/idle-event.d.ts +0 -8
- package/dist/hooks/atlas/resolve-active-boulder-session.d.ts +0 -11
- package/dist/hooks/auto-slash-command/processed-command-store.d.ts +0 -7
- package/dist/hooks/auto-update-checker/checker/sync-package-json.d.ts +0 -7
- package/dist/hooks/compaction-context-injector/compaction-context-prompt.d.ts +0 -1
- package/dist/hooks/compaction-context-injector/constants.d.ts +0 -5
- package/dist/hooks/compaction-context-injector/recovery-prompt-config.d.ts +0 -6
- package/dist/hooks/compaction-context-injector/recovery.d.ts +0 -6
- package/dist/hooks/compaction-context-injector/session-id.d.ts +0 -2
- package/dist/hooks/compaction-context-injector/session-prompt-config-resolver.d.ts +0 -16
- package/dist/hooks/compaction-context-injector/tail-monitor.d.ts +0 -13
- package/dist/hooks/compaction-context-injector/types.d.ts +0 -43
- package/dist/hooks/compaction-context-injector/validated-model.d.ts +0 -13
- package/dist/hooks/delegate-task-english-directive/hook.d.ts +0 -14
- package/dist/hooks/delegate-task-english-directive/index.d.ts +0 -1
- package/dist/hooks/gpt-permission-continuation/assistant-message.d.ts +0 -23
- package/dist/hooks/gpt-permission-continuation/constants.d.ts +0 -4
- package/dist/hooks/gpt-permission-continuation/detector.d.ts +0 -1
- package/dist/hooks/gpt-permission-continuation/handler.d.ts +0 -12
- package/dist/hooks/gpt-permission-continuation/index.d.ts +0 -13
- package/dist/hooks/gpt-permission-continuation/session-state.d.ts +0 -15
- package/dist/hooks/ralph-loop/pending-verification-handler.d.ts +0 -16
- package/dist/hooks/runtime-fallback/fallback-bootstrap-model.d.ts +0 -10
- package/dist/hooks/runtime-fallback/fallback-retry-dispatcher.d.ts +0 -11
- package/dist/hooks/runtime-fallback/last-user-retry-parts.d.ts +0 -4
- package/dist/hooks/runtime-fallback/retry-model-payload.d.ts +0 -7
- package/dist/hooks/runtime-fallback/session-messages.d.ts +0 -9
- package/dist/hooks/runtime-fallback/session-status-handler.d.ts +0 -3
- package/dist/hooks/runtime-fallback/visible-assistant-response.d.ts +0 -3
- package/dist/hooks/session-notification-content.d.ts +0 -30
- package/dist/plugin/normalize-tool-arg-schemas.d.ts +0 -2
- package/dist/plugin/ultrawork-variant-availability.d.ts +0 -6
- package/dist/shared/compaction-agent-config-checkpoint.d.ts +0 -11
- package/dist/shared/context-limit-resolver.d.ts +0 -5
- package/dist/shared/fallback-chain-from-models.d.ts +0 -3
- package/dist/shared/question-denied-session-permission.d.ts +0 -6
- package/dist/shared/retry-status-utils.d.ts +0 -2
- package/dist/shared/vision-capable-models-cache.d.ts +0 -4
- package/dist/tools/delegate-task/cancel-unstable-agent-task.d.ts +0 -2
- package/dist/tools/look-at/multimodal-fallback-chain.d.ts +0 -4
- package/dist/tools/lsp/directory-diagnostics.d.ts +0 -1
- 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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
-
|
|
51
|
-
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
-
|
|
62
|
-
-
|
|
63
|
-
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- **
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
conda
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
-
|
|
93
|
-
-
|
|
94
|
-
-
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
-
|
|
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
|
+
```
|