feat(swarm-worker): dispatch prose swarm slots to ephemeral Muse subagents
- daemon: route non-shell slot tasks to a fresh subagent session on dev/def/muse via muse_hybrid; add bin/ to sys.path so muse_hybrid/prompt_envelope import under the tmux supervisor - prompt_envelope: add wrap_subagent_task() - plain task assignment without [TOOL tmux/swarm/cron] meta tags (subagents refused those as relayed test traffic) - box-ctl/reporter: swarm-attach accepts optional session-id, stored as slot.subagent_session_id - executor: _looks_like_shell requires an existing executable (prose like 'verify ...' no longer misread as shell) - poller: pick up pending swarms as well as running - response-harvester: monitor running slot subagent sessions from swarms.json, allow '/' in RESULT/VERB job ids, archive ephemeral threads on any verdict (OK or FAIL), reap slot sessions for terminal swarms
This commit is contained in:
@@ -97,7 +97,8 @@ def find_pending_slots(stale_minutes=STALE_MINUTES):
|
||||
return found
|
||||
swarms = data.get("swarms", []) if isinstance(data, dict) else []
|
||||
for summary in swarms:
|
||||
if (summary.get("status") or "").lower() != "running":
|
||||
summary_status = (summary.get("status") or "").lower()
|
||||
if summary_status not in ("running", "pending"):
|
||||
continue
|
||||
swarm_id = summary.get("swarm_id")
|
||||
if not swarm_id:
|
||||
|
||||
Reference in New Issue
Block a user