feat(fleet): expand sidechat auto-provisioning for muse and dev, integrate response harvesting

This commit is contained in:
operator
2026-10-05 02:48:59 +00:00
parent ec547b28ac
commit 0eadd096b7
4 changed files with 54 additions and 5 deletions
+15
View File
@@ -661,6 +661,21 @@ class Handler(BaseHTTPRequestHandler):
{'op': k, 'desc': v['desc'],
'side_effecting': v['side_effecting']}
for k, v in sorted(OPS.items())]})
elif self.path in ('/box', '/box-relay.sh'):
relay_path = os.path.join(BIN_DIR, 'box-relay.sh')
if os.path.isfile(relay_path):
try:
with open(relay_path, 'rb') as f:
data = f.read()
self.send_response(200)
self.send_header('Content-Type', 'text/x-shellscript')
self.send_header('Content-Length', str(len(data)))
self.end_headers()
self.wfile.write(data)
return
except Exception:
pass
self._send(404, {'error': 'not found'})
else:
self._send(404, {'error': 'not found'})
+2 -2
View File
@@ -69,8 +69,8 @@ try:
except ImportError:
HAS_PIPELINE = False
VALID_AGENTS = ["muse", "pip", "646", "opm"]
DEFAULT_PORTS = {"muse": 9410, "pip": 9420, "646": 9430, "opm": 9440}
VALID_AGENTS = ["muse", "pip", "646", "opm", "dev", "def"]
DEFAULT_PORTS = {"muse": 9410, "pip": 9420, "646": 9430, "opm": 9440, "def": 9450, "dev": 9460}
# Matches EVERY [RESULT <job_id>] marker in a message (use with finditer, not
# search). The result text is lazy and stops before the next marker (or end of
+20 -3
View File
@@ -76,8 +76,14 @@
"thread_uuid": "5f33b1ab-a310-4cbb-9ccc-bb7bcd3d1b34",
"agent": "pip"
},
"muse tasks": {
"thread_uuid": "3881dae3-30fa-411b-8f5b-f6d5917bc302",
"agent": "muse",
"title": "muse tasks",
"created_at": "2026-10-05T02:44:00+00:00"
},
"muse-tasks": {
"thread_uuid": "414cc0fc-4c46-4cb4-9fa6-07f06912384a",
"thread_uuid": "3881dae3-30fa-411b-8f5b-f6d5917bc302",
"agent": "muse"
},
"pipe-c3f686": {
@@ -100,7 +106,7 @@
"heartbeat-opm": {
"thread_uuid": "51695451-ffba-49e2-8c6d-ffa4f511ce5a",
"agent": "opm",
"description": "Reuse key for OPM heartbeat -> dedicated heartbeat thread",
"description": "Reuse key for OPM heartbeat -> dedicated heartbeat thread [updated 2026-10-05 to current]",
"updated_at": "2026-10-05T02:22:19+00:00"
},
"646-pip@646": {
@@ -185,7 +191,7 @@
"heartbeat-thread": {
"thread_uuid": "51695451-ffba-49e2-8c6d-ffa4f511ce5a",
"agent": "opm",
"description": "Alias for heartbeat (dedicated heartbeat channel provisioned 2026-10-05)"
"description": "Alias for heartbeat (dedicated heartbeat channel provisioned 2026-10-05) [updated 2026-10-05 to current]"
},
"main-loop": {
"thread_uuid": "5f18476d-8994-49e7-a9e0-4838732363fe",
@@ -209,5 +215,16 @@
"agent": "646",
"title": "box-deep-health",
"created_at": "2026-10-05T02:26:37.043639+00:00"
},
"dev-646-sync": {
"thread_uuid": "4aefde50-c02c-4657-8d18-ad2238ef4cda",
"agent": "dev",
"title": "dev-646-sync",
"created_at": "2026-10-05T02:30:35.461450+00:00"
},
"pipe-5086a2": {
"thread_uuid": "8a026cff-1b98-48df-9bf3-169b19c2e07c",
"agent": "opm",
"created_at": "2026-10-05T02:37:49.620793+00:00"
}
}
+17
View File
@@ -0,0 +1,17 @@
{
"name": "dev-hourly-checkin",
"description": "Hourly operational check-in for Dev during active daytime hours",
"agent": "dev",
"schedule": "0 8-22 * * *",
"timeout": 300,
"on_failure": "alert",
"dm_target": "onboarding-dev",
"sidechat": {"create": false},
"followup": {
"expect_reply": true,
"timeout": "1h",
"nudges": 1,
"escalate": "opm"
},
"prompt_template": "Hourly operational check-in for Dev.\nJob ID: {job_id}\nTime: {datetime}\n\nPlease report briefly in this thread:\n(1) Current tasks and VM status\n(2) Subagent tasks and tooling audits\n(3) Any blockers or peer coordination items with 646/opm\n\nReply with [RESULT {job_id}] and your status."
}