Аргус — внешний контур над агентом
Слой задач, бюджета и инициативы поверх агента: он сам решает, чем заняться утром, и сам отчитывается.
- Утренний отчёт о состоянии машины и задач приходит без запроса
- Задачи переживают убийство процесса: снятие по kill → подъём → доведено до конца
- Жёсткий контур прав: читать что угодно, писать — только по списку
Задача
Внутренний цикл агента уже есть в SDK, писать его заново незачем. Не хватало внешнего: очереди задач, бюджета, приоритетов и повода начать самому, без человека, который каждый раз нажимает старт.
Как устроено
SQLite и таймеры systemd вместо очередного фреймворка: сбор состояния каждые десять минут, тик исполнителя каждые пять, дежурный отчёт в девять утра. Отдельный юнит на падения с остыванием в полчаса, чтобы одна ошибка не превращалась в шторм перезапусков. В журнале решений отдельно записано, какие тяжёлые оркестраторы были рассмотрены и отвергнуты — и почему.
Что было трудно
Самое ценное решение оказалось не техническим. Первый этап объявлен намеренно выбрасываемым прототипом с критерием приёмки: три утра подряд осмысленный отчёт и вердикт владельца «полезно». Это защита от главной ловушки таких проектов — полировать то, что в итоге окажется не нужным.
Чем подтверждено
- Второй этап принят по проверке восстановления: процесс снят принудительно, задача всё равно доведена
- Первый этап честно висит в ожидании вердикта по своему критерию — это нормальное состояние, а не незавершёнка
- Пульт управления и постановка задач одной командой из терминала