diff --git a/HEARTBEAT.md b/HEARTBEAT.md index 3c05c19..bc1d694 100644 --- a/HEARTBEAT.md +++ b/HEARTBEAT.md @@ -1,5 +1,22 @@ # HEARTBEAT.md +## 🤖 Watchdog: orchestrator pipeline (ORCH-задачи) — ПРИОРИТЕТ + +Чтобы НЕ терять конвейер: на каждом heartbeat проверять активные ORCH-задачи и докладывать Славе об изменениях стадий / застреваниях / падениях. Особенно при ведении эпика ORCH-54 (автономное внедрение). + +```shell +sshpass -p 'motoZ@yaz2010' ssh -o StrictHostKeyChecking=no -o ConnectTimeout=15 slin@82.22.50.71 "docker exec orchestrator python3 /tmp/orch_watch.py" 2>/dev/null +``` + +Если `/tmp/orch_watch.py` отсутствует — создать его (в контейнере) со скриптом: вывести активные ORCH-задачи (`SELECT id,work_item_id,stage,updated_at FROM tasks WHERE stage!='done' AND work_item_id LIKE 'ORCH%'`) и активную очередь (`jobs WHERE status IN ('queued','running')`). + +Логика: +- Задача **сменила стадию** → доложить («ORCH-XX: stage → review»). +- Задача **застряла** (stage!=done, нет активных job, updated_at давно) → проверить гейт, при нужде пнуть штатно (как ORCH-044), доложить. +- Job **failed / transient (429)** → доложить + следить за ретраем (breaker). +- Спокойно и без изменений → HEARTBEAT_OK (не спамить). +- Последнюю известную стадию по каждой ORCH-задаче держать в `memory/heartbeat-state.json`. + ## 🔄 Yandex backfill (02-19.04 thread_title) Rate limit сброс ~01:00 UTC. Запустить: diff --git a/memory/heartbeat-state.json b/memory/heartbeat-state.json index 2f86575..48b318d 100644 --- a/memory/heartbeat-state.json +++ b/memory/heartbeat-state.json @@ -1,11 +1,9 @@ { - "lastChecks": { - "email": null, - "calendar": null, - "weather": null, - "orchestrator_health": "2026-06-04T00:00:00Z", - "open_prs": ["PR #10 pipeline-ux (merged 03.06)", "PR #19 enduro-trails", "PR #1 orchestrator worktree", "PR #2 orchestrator multi-repo"] - }, - "lastHeartbeat": "2026-06-04T00:00:00Z", - "note": "Heartbeat 04.06 — ORCH-30 analysis done, staging env design approved (ORCH-31..35 in Backlog). Pipeline UX live on prod. No urgent items." -} \ No newline at end of file + "orch_pipeline": { + "last_check": "2026-06-06T14:45:00Z", + "known_stages": {}, + "note": "Watchdog за конвейером орка. known_stages: work_item_id -> последняя известная стадия. При расхождении — доложить Славе.", + "epic": "ORCH-54 — автономное внедрение. Порядок: 40 -> 43 -> 36 -> (53) -> 51", + "in_flight": "ORCH-40 (права root-файлов) — готовлю scope + запуск" + } +}