chore(retention): archive retired jobs [646-opm-watch, 646-pip-sync, 646-sidechat-task, auto-work-queue-f02, auto-work-queue-f06, auto-work-queue-f10, auto-work-queue-f14, auto-work-queue-f18, auto-work-xop-e02, auto-work-xop-e06, auto-work-xop-e10, auto-work-xop-e14, auto-work-xop-e18, mainloop-p1-pilot, mainloop-p2-noswitcher, mainloop-p3-bridge, mainloop-p4-steady]
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "646-opm-watch",
|
||||
"agent": "646",
|
||||
"description": "Monitor opm main chat for DM system work",
|
||||
"prompt_template": "Check opm's main chat for new DM system work (box API, job dispatcher, exec server). Report any new commits, endpoints, or decisions. Job ID: {job_id}",
|
||||
"schedule": "manual",
|
||||
"timeout": 300,
|
||||
"on_failure": "alert",
|
||||
"dm_target": "646 tasks",
|
||||
"sidechat": {"create": false},
|
||||
"chain_next": null
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"name": "646-pip-sync",
|
||||
"agent": "pip",
|
||||
"description": "Sync with pip on operator launch status",
|
||||
"prompt_template": "Operator sync from 646.\nJob ID: {job_id}\nTime: {datetime}\n\nPlease report: (1) your current task status, (2) any blockers, (3) readiness for the new operator launch. Reply with [RESULT {job_id}] and your status.",
|
||||
"schedule": "manual",
|
||||
"timeout": 300,
|
||||
"on_failure": "alert",
|
||||
"dm_target": "646-pip-coord",
|
||||
"sidechat": {"create": false},
|
||||
"chain_next": null
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"agent":"646","chain_next":null,"description":"Small task requiring 646 to reply in her sidechat thread (job-driven sidechat adoption)","dm_target":"646 tasks","followup":{"escalate":"opm","expect_reply":true,"nudges":2,"route":"646-tasks","timeout":"1h"},"name":"646-sidechat-task","on_failure":"alert","prompt_template":"Sidechat task for 646.\nJob ID: {job_id}\nTime: {datetime}\n\nPlease confirm you are receiving this in your sidechat thread by replying with:\n[RESULT {job_id}] CONFIRMED - I see sidechat messages\n\nThen tell me: what is the most important task on your plate right now?\n\nReply in this thread (not main chat).","schedule":"manual","sidechat":{"create":false},"timeout":300}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-queue-f02",
|
||||
"description": "Auto work-queue scavenger (builder 6/10): poll job-list, find manual/pending/stale jobs, check status, nudge/claim, keep chain moving",
|
||||
"agent": "pip",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Auto work-queue scavenger sweep. Time: {datetime}. Job ID: {job_id}.\n\n1. Run `box job-list` and find jobs with schedule \"manual\" or that look stale/pending/unclaimed.\n2. For each candidate run `box job-status <name>` to check dispatch/result/chain state.\n3. If a job is unclaimed or stuck pending, claim it: work it yourself if quick, otherwise nudge the owning agent with `box notify <agent> <message>`.\n4. If a job failed, run `box job-next <job-id>` and keep the chain moving (box->agent->box).\n5. Keep your reply short and end with a one-line summary of what you found and did, starting with OK or FAIL.",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"reuse_key": "auto-work-queue-f02",
|
||||
"name_template": "auto-work-queue-f02-{date}"
|
||||
},
|
||||
"followup": {
|
||||
"expect_reply": true,
|
||||
"timeout": "30m",
|
||||
"nudges": 1,
|
||||
"escalate": "opm",
|
||||
"route": "work-queue"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-queue-f06",
|
||||
"description": "Auto work-queue scavenger (builder 6/10): poll job-list, find manual/pending/stale jobs, check status, nudge/claim, keep chain moving",
|
||||
"agent": "pip",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Auto work-queue scavenger sweep. Time: {datetime}. Job ID: {job_id}.\n\n1. Run `box job-list` and find jobs with schedule \"manual\" or that look stale/pending/unclaimed.\n2. For each candidate run `box job-status <name>` to check dispatch/result/chain state.\n3. If a job is unclaimed or stuck pending, claim it: work it yourself if quick, otherwise nudge the owning agent with `box notify <agent> <message>`.\n4. If a job failed, run `box job-next <job-id>` and keep the chain moving (box->agent->box).\n5. Keep your reply short and end with a one-line summary of what you found and did, starting with OK or FAIL.",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"reuse_key": "auto-work-queue-f06",
|
||||
"name_template": "auto-work-queue-f06-{date}"
|
||||
},
|
||||
"followup": {
|
||||
"expect_reply": true,
|
||||
"timeout": "30m",
|
||||
"nudges": 1,
|
||||
"escalate": "opm",
|
||||
"route": "work-queue"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
{
|
||||
"name": "auto-work-queue-f10",
|
||||
"description": "Auto work-queue scavenger (builder 6/10): poll job-list, find manual/pending/stale jobs, check status, nudge/claim, keep chain moving",
|
||||
"agent": "pip",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Auto work-queue scavenger sweep. Time: {datetime}. Job ID: {job_id}.\n\n1. Run `box job-list` and find jobs with schedule \"manual\" or that look stale/pending/unclaimed.\n2. For each candidate run `box job-status <name>` to check dispatch/result/chain state.\n3. If a job is unclaimed or stuck pending, claim it: work it yourself if quick, otherwise nudge the owning agent with `box notify <agent> <message>`.\n4. If a job failed, run `box job-next <job-id>` and keep the chain moving (box->agent->box).\n5. Keep your reply short and end with a one-line summary of what you found and did, starting with OK or FAIL.",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"reuse_key": "auto-work-queue-f10",
|
||||
"name_template": "auto-work-queue-f10-{date}"
|
||||
},
|
||||
"followup": {
|
||||
"expect_reply": true,
|
||||
"timeout": "30m",
|
||||
"nudges": 1,
|
||||
"escalate": "opm",
|
||||
"route": "work-queue"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert",
|
||||
"note": "Dispatched by systemd job-auto-work-queue-f10.timer (OnCalendar=*:27). schedule=manual so job-scheduler.py skips it; prevents double-fire (systemd :27 + scheduler :30). Changed 2026-10-05 by operator-main per 646 DM 2112a7fe."
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-queue-f14",
|
||||
"description": "Auto work-queue scavenger (builder 6/10): poll job-list, find manual/pending/stale jobs, check status, nudge/claim, keep chain moving",
|
||||
"agent": "pip",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Auto work-queue scavenger sweep. Time: {datetime}. Job ID: {job_id}.\n\n1. Run `box job-list` and find jobs with schedule \"manual\" or that look stale/pending/unclaimed.\n2. For each candidate run `box job-status <name>` to check dispatch/result/chain state.\n3. If a job is unclaimed or stuck pending, claim it: work it yourself if quick, otherwise nudge the owning agent with `box notify <agent> <message>`.\n4. If a job failed, run `box job-next <job-id>` and keep the chain moving (box->agent->box).\n5. Keep your reply short and end with a one-line summary of what you found and did, starting with OK or FAIL.",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"reuse_key": "auto-work-queue-f14",
|
||||
"name_template": "auto-work-queue-f14-{date}"
|
||||
},
|
||||
"followup": {
|
||||
"expect_reply": true,
|
||||
"timeout": "30m",
|
||||
"nudges": 1,
|
||||
"escalate": "opm",
|
||||
"route": "work-queue"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-queue-f18",
|
||||
"description": "Auto work-queue scavenger (builder 6/10): poll job-list, find manual/pending/stale jobs, check status, nudge/claim, keep chain moving",
|
||||
"agent": "pip",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Auto work-queue scavenger sweep. Time: {datetime}. Job ID: {job_id}.\n\n1. Run `box job-list` and find jobs with schedule \"manual\" or that look stale/pending/unclaimed.\n2. For each candidate run `box job-status <name>` to check dispatch/result/chain state.\n3. If a job is unclaimed or stuck pending, claim it: work it yourself if quick, otherwise nudge the owning agent with `box notify <agent> <message>`.\n4. If a job failed, run `box job-next <job-id>` and keep the chain moving (box->agent->box).\n5. Keep your reply short and end with a one-line summary of what you found and did, starting with OK or FAIL.",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"reuse_key": "auto-work-queue-f18",
|
||||
"name_template": "auto-work-queue-f18-{date}"
|
||||
},
|
||||
"followup": {
|
||||
"expect_reply": true,
|
||||
"timeout": "30m",
|
||||
"nudges": 1,
|
||||
"escalate": "opm",
|
||||
"route": "work-queue"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-xop-e02",
|
||||
"agent": "pip",
|
||||
"description": "Cross-op fleet watch 646+opm (sync) - auto work finder",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Cross-op fleet watch: 646 vs opm (general sync check).\nJob ID: {job_id}\nTime: {datetime}\n\nCheck both ops and compare:\n1. Run `box fleet-status` - compare proc_alive, cdp_ok, latency_ms, queue_depth for 646 and opm.\n2. Run `box timer-list` - note any timer active/enabled on one side but missing/disabled on the other.\n3. Verdict: OK (both healthy, in sync), DEGRADED (latency/queue/timer drift), or PARTITION (one side down).\n\nBox CTA: if DEGRADED or PARTITION, run `box notify` with a one-line finding, then close out with a FAIL result for this job plus the summary. If OK, close out with an OK result for this job: 646+opm in sync.\n\nTools:\n[TOOL health.check {}]\n",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"name_template": "auto-work-xop-e02",
|
||||
"reuse_key": "auto-work-xop-e02"
|
||||
},
|
||||
"followup": {
|
||||
"escalate": "opm",
|
||||
"expect_reply": true,
|
||||
"nudges": 1,
|
||||
"route": "xop-watch",
|
||||
"timeout": "30m"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-xop-e06",
|
||||
"agent": "pip",
|
||||
"description": "Cross-op fleet watch pip+opm (sync) - auto work finder",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Cross-op fleet watch: pip vs opm (general sync check).\nJob ID: {job_id}\nTime: {datetime}\n\nCheck both ops and compare:\n1. Run `box fleet-status` - compare proc_alive, cdp_ok, latency_ms, queue_depth for pip and opm.\n2. Run `box timer-list` - note any timer active/enabled on one side but missing/disabled on the other.\n3. Verdict: OK (both healthy, in sync), DEGRADED (latency/queue/timer drift), or PARTITION (one side down).\n\nBox CTA: if DEGRADED or PARTITION, run `box notify` with a one-line finding, then close out with a FAIL result for this job plus the summary. If OK, close out with an OK result for this job: pip+opm in sync.\n\nTools:\n[TOOL health.check {}]\n",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"name_template": "auto-work-xop-e06",
|
||||
"reuse_key": "auto-work-xop-e06"
|
||||
},
|
||||
"followup": {
|
||||
"escalate": "opm",
|
||||
"expect_reply": true,
|
||||
"nudges": 1,
|
||||
"route": "xop-watch",
|
||||
"timeout": "30m"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-xop-e10",
|
||||
"agent": "pip",
|
||||
"description": "Cross-op fleet watch opm+muse (sync) - auto work finder",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Cross-op fleet watch: opm vs muse (general sync check).\nJob ID: {job_id}\nTime: {datetime}\n\nCheck both ops and compare:\n1. Run `box fleet-status` - compare proc_alive, cdp_ok, latency_ms, queue_depth for opm and muse.\n2. Run `box timer-list` - note any timer active/enabled on one side but missing/disabled on the other.\n3. Verdict: OK (both healthy, in sync), DEGRADED (latency/queue/timer drift), or PARTITION (one side down).\n\nBox CTA: if DEGRADED or PARTITION, run `box notify` with a one-line finding, then close out with a FAIL result for this job plus the summary. If OK, close out with an OK result for this job: opm+muse in sync.\n\nTools:\n[TOOL health.check {}]\n",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"name_template": "auto-work-xop-e10",
|
||||
"reuse_key": "auto-work-xop-e10"
|
||||
},
|
||||
"followup": {
|
||||
"escalate": "opm",
|
||||
"expect_reply": true,
|
||||
"nudges": 1,
|
||||
"route": "xop-watch",
|
||||
"timeout": "30m"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-xop-e14",
|
||||
"agent": "pip",
|
||||
"description": "Cross-op fleet watch muse+dev (sync) - auto work finder",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Cross-op fleet watch: muse vs dev (general sync check).\nJob ID: {job_id}\nTime: {datetime}\n\nCheck both ops and compare:\n1. Run `box fleet-status` - compare proc_alive, cdp_ok, latency_ms, queue_depth for muse and dev.\n2. Run `box timer-list` - note any timer active/enabled on one side but missing/disabled on the other.\n3. Verdict: OK (both healthy, in sync), DEGRADED (latency/queue/timer drift), or PARTITION (one side down).\n\nBox CTA: if DEGRADED or PARTITION, run `box notify` with a one-line finding, then close out with a FAIL result for this job plus the summary. If OK, close out with an OK result for this job: muse+dev in sync.\n\nTools:\n[TOOL health.check {}]\n",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"name_template": "auto-work-xop-e14",
|
||||
"reuse_key": "auto-work-xop-e14"
|
||||
},
|
||||
"followup": {
|
||||
"escalate": "opm",
|
||||
"expect_reply": true,
|
||||
"nudges": 1,
|
||||
"route": "xop-watch",
|
||||
"timeout": "30m"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"name": "auto-work-xop-e18",
|
||||
"agent": "pip",
|
||||
"description": "Cross-op fleet watch pip+dev (queue) - auto work finder",
|
||||
"schedule": "manual",
|
||||
"timeout": 600,
|
||||
"prompt_template": "Cross-op fleet watch: pip vs dev (queue-depth comparison).\nJob ID: {job_id}\nTime: {datetime}\n\nCheck both ops and compare:\n1. Run `box fleet-status` - compare proc_alive, cdp_ok, latency_ms, queue_depth for pip and dev.\n2. Run `box timer-list` - note any timer active/enabled on one side but missing/disabled on the other.\n3. Verdict: OK (both healthy, in sync), DEGRADED (latency/queue/timer drift), or PARTITION (one side down).\n\nBox CTA: if DEGRADED or PARTITION, run `box notify` with a one-line finding, then close out with a FAIL result for this job plus the summary. If OK, close out with an OK result for this job: pip+dev in sync.\n\nTools:\n[TOOL health.check {}]\n",
|
||||
"sidechat": {
|
||||
"create": true,
|
||||
"name_template": "auto-work-xop-e18",
|
||||
"reuse_key": "auto-work-xop-e18"
|
||||
},
|
||||
"followup": {
|
||||
"escalate": "opm",
|
||||
"expect_reply": true,
|
||||
"nudges": 1,
|
||||
"route": "xop-watch",
|
||||
"timeout": "30m"
|
||||
},
|
||||
"chain_next": null,
|
||||
"on_failure": "alert"
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "mainloop-p1-pilot",
|
||||
"description": "P1 main_loop rollout (owner 646, ETA 48h): harden 5-min self-monitor pilot on muse+646. Enable/disable round-trip via API+Box UI in one interval; verify watermark semantics; confirm digest quality on live traffic.",
|
||||
"schedule": "manual",
|
||||
"agent": "646",
|
||||
"target": "646 tasks",
|
||||
"timeout": 3600,
|
||||
"on_failure": "alert",
|
||||
"chain_next": "mainloop-p2-noswitcher",
|
||||
"prompt_template": "Phase 1 pilot hardening (owner: you, 646). Done when: (1) main-loop enable/disable round-trips via API and Box UI within one 5-min interval; (2) watermark semantics verified; (3) 24h error-free on muse+646 with >=1 real digest on live traffic. Reply RESULT <job_id> with status per criterion."
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "mainloop-p2-noswitcher",
|
||||
"description": "P2 main_loop rollout (owner opm, 646 verifies): NO_SWITCHER repair for pip+opm. VERIFIED GREEN 2026-10-04 ~20:05 UTC: consecutive main-loop checks all-ok, CDP live, browsers on muse.ai chat threads. Kept as repair record.",
|
||||
"schedule": "manual",
|
||||
"agent": "opm",
|
||||
"target": "main-loop brain",
|
||||
"timeout": 1800,
|
||||
"on_failure": "alert",
|
||||
"chain_next": "mainloop-p3-bridge",
|
||||
"prompt_template": "Phase 2 NO_SWITCHER repair record. Verified green 2026-10-04: consecutive main-loop checks show all four agents ok; CDP live on pip:9420/opm:9440; browsers parked on muse.ai chat threads. If a future check shows NO_SWITCHER, re-diagnose page state via netvm-exec.sh CDP /json/list. Reply RESULT <job_id> OK."
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "mainloop-p3-bridge",
|
||||
"description": "P3 main_loop rollout (owner 646, ETA 1wk): bridge registry becomes the chat to side-chat map. Fix br-ID collisions (two share br-20261003191930); reconcile main-chat bridge design with BRIDGE_SPEC.md; 646-pip-coord is the topology template.",
|
||||
"schedule": "manual",
|
||||
"agent": "646",
|
||||
"target": "646 tasks",
|
||||
"timeout": 3600,
|
||||
"on_failure": "alert",
|
||||
"chain_next": "mainloop-p4-steady",
|
||||
"prompt_template": "Phase 3 bridge plug-in (owner: you, 646). Done when: (1) bridge IDs collision-free; (2) main-chat bridge design reconciled with BRIDGE_SPEC.md and landed; (3) registry drives the main-loop prompt_sidechat map for all four agents. Reply RESULT <job_id> with status per criterion."
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "mainloop-p4-steady",
|
||||
"description": "P4 main_loop rollout (owner 646, opm supports, ETA 2wk): steady state. Alerting on consecutive errors + watermark staleness; operator SOP for toggles; escalation path for unanswered prompts (DM nudge, box alert, human).",
|
||||
"schedule": "manual",
|
||||
"agent": "646",
|
||||
"target": "646 tasks",
|
||||
"timeout": 3600,
|
||||
"on_failure": "alert",
|
||||
"chain_next": null,
|
||||
"prompt_template": "Phase 4 steady state (owner: you, 646; opm supports alerting). Done when: (1) SOP doc landed in operator docs; (2) consecutive-error + watermark-staleness alerting live; (3) escalation path table-topped or exercised once. Reply RESULT <job_id> with status per criterion."
|
||||
}
|
||||
Reference in New Issue
Block a user