[P0] Fix mimo swarm worker execution — cron LLM can't run shell scripts #1203
Closed
opened 2026-04-11 00:31:55 +00:00 by Rockachopa
·
1 comment
No Branch/Tag Specified
main
fix/entity-resolution-lines-wiring
feat/mnemosyne-memory-filter
feat/mnemosyne-memory-inspector
feat/mnemosyne-memory-search
mimo/build/issue-686
mimo/build/issue-680
feat/mnemosyne-ambient-particles
fix/auto-merge
feat/spatial-search-issue-1170
mimo/create/issue-698
mimo/code/issue-719
mimo/code/issue-721
mimo/code/issue-715
mimo/code/issue-723
mimo/code/issue-714
mimo/create/issue-681
mimo/code/issue-724
mimo/create/issue-685
mimo/create/issue-800
mimo/research/issue-1047
mimo/research/issue-801
mimo/build/issue-728
mimo/build/issue-703
mimo/code/issue-1174
mimo/build/issue-710
feat/mnemosyne-timeline-scrubber
mimo/build/issue-701
feat/mnemosyne-entity-resolution-lines
feat/mnemosyne-trust-crystal-rendering
feat/mnemosyne-live-memory-bridge
feat/mnemosyne-clear-feed
claude/issue-1171
mimo/code/issue-1145
mimo/code/issue-1146
feat/mnemosyne-crystal-inspect
feat/mnemosyne-persistence
claude/issue-1125
claude/issue-1126
feat/mnemosyne-spatial-schema-consolidated
feat/mnemosyne-spatial-memory-schema
feat/mnemosyne-spatial-schema
feat/mnemosyne-spatial-integration
feat/mnemosyne-memory-orbs-v2
feat/mnemosyne-memory-orbs-complete
feat/mnemosyne-glowing-orbs
feat/mnemosyne-memory-orbs
feat/mnemosyne-visuals
pr-1139
feat/mnemosyne-schema
bezalel/rca-deadman-fratricide
perplexity/soul-md-pointer
feat/mempalace-api-add-1775582323040
claude/issue-1112
groq/issue-1126
groq/issue-1118
groq/issue-1119
groq/issue-1047
groq/issue-915
claude/issue-1075
groq/issue-917
groq/issue-918
groq/issue-1103
groq/issue-1105
groq/issue-1106
groq/issue-1108
groq/issue-1092
groq/issue-1095
groq/issue-1098
groq/issue-913
timmy/issue-fix-896-897-898-910
claude/issue-823
claude/issue-879
claude/issue-880
claude/issue-827
claude/issue-882
claude/issue-826
claude/issue-836
claude/issue-832
claude/issue-833
timmy/issue-855
allegro/self-improvement-infra
ezra/deep-dive-architecture-20260405
claude/modularization-phase-1
gemini/issue-431
v7.0.0
GoldenRockachopa
pre-agent-workers-v1
v0-golden
Labels
Clear labels
222-epic
3d-world
CI
QA
actionable
agent-presence
aistudio-ready
assigned-aistudio
assigned-claude
assigned-claw-code
assigned-gemini
assigned-groq
assigned-kimi
assigned-kimi
assigned-perplexity
assigned-sonnet
blocked
claude-ready
claw-code-done
claw-code-in-progress
deprioritized
duplicate
epic
gemini-api
gemini-review
google-ai-ultra
groq-ready
harness
identity
infrastructure
kimi-done
kimi-in-progress
kimi-ready
lazzyPit
media-gen
mnemosyne
modularization
needs-design
nostr
p0-critical
p1-important
p2-backlog
performance
perplexity-ready
portal
research
security
sonnet-ready
sovereignty
velocity-engine
Continuous integration, runners, workflow issues
Quality assurance, testing, and production audit
Queued for Code Claw (qwen/openrouter)
Dispatched to Kimi via OpenClaw
Blocked by external dependency or merge conflict
Code Claw completed this task
Code Claw is actively working
Epic / umbrella issue
Gemini API integration
Google AI Ultra integration work
Timmy identity and branding
Kimi completed this task
Kimi is actively working on this
Lazarus Pit — automated agent resurrection and health recovery
AI media generation (image/video/audio)
Project Mnemosyne — The Living Holographic Archive
Deep research and planning tasks
Security hardening, vulnerability fixes, access control
Auto-generated by velocity engine
No Label
p0-critical
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
KimiClaw
Rockachopa
Timmy
allegro
antigravity
bezalel
claude
claw-code
codex-agent
ezra
gemini
google
grok
hermes
kimi
manus
perplexity
sonnet
Clear assignees
No Assignees
claude
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Timmy_Foundation/the-nexus#1203
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Root Cause Found
File:
run_agent.pyline 5557Code:
"tool_choice": "auto"The model decides whether to call tools. mimo-v2-pro via Nous accepts the
toolsparameter but chooses NOT to call them — generating text describing what it would do instead.This is NOT:
This IS:
tool_choice="auto"lets the model opt out of tool useEvidence
approval.pyL706-709: Non-interactive sessions auto-approve ALL commandsscheduler.pyL722: Only disablescronjob,messaging,clarify— terminal/execute_code remainrun_agent.pyL5557:tool_choice="auto"— model can choose not to call toolshermes chat -q "echo test" --provider nous -m xiaomi/mimo-v2-proproduces text, never calls terminalFix Options
Option 1: Force tool_choice for cron (RECOMMENDED)
In
scheduler.py, after creating the AIAgent, forcetool_choice="required"for the API kwargs. This makes the model always attempt a tool call.Location:
run_agent.pyaround line 5557, orscheduler.pyafter AIAgent creation.Option 2: Set tool_choice in cron prompt
The cron prompt could instruct the model: "You MUST use the terminal tool to execute commands. Do NOT describe what you would do — actually do it."
Option 3: Use a model with better function calling
Switch cron workers to a model known to support OpenAI function calling well (e.g., Claude, GPT-4o). But this loses the mimo-v2-pro benefit.
Option 4: Patch AIAgent to accept tool_choice override
Add a
tool_choiceparameter to AIAgent.init(). Cron scheduler passestool_choice="required".Acceptance Criteria
PR created: #1204
Root cause confirmed:
worker-runner.pycalledhermes chatwithout-t terminal,code_execution, so mimo-v2-pro had no shell tools and could only describe actions instead of executing them. Same bug inmimo-worker.shwith an additional invalid-pflag.Fixes applied:
worker-runner.py→ added-t terminal,code_executiontohermes chatinvocationmimo-worker.sh→ replacedhermes --profile timmy-sprint -p "$PROMPT"(invalid) withhermes chat -q "$PROMPT" --provider nous -m xiaomi/mimo-v2-pro --yolo -t terminal,code_execution -Qmimo-swarm-worker-Ncron jobs (*/5 * * * *) to consume the prompt queuemimo-swarm-dispatchercron job (*/10 * * * *) to claim issues and populate queueAll changes to
~/.hermes/mimo-swarm/scripts/applied immediately. Cron jobs live.