Дошка та воркфлоу
Командна дошка, за адресою /kanban, ніде не зберігається: це журнал подій, згрупований.
Одна машина записує картку - і вона є в кожної машини, без жодної синхронізації бази даних; саме
тому вона існує окремо від власного канбану Hermes (який є SQLite-файлом, що його
Hermes CLI тримає на одній машині).
Чотири стовпці, і картка переміщується називанням стовпця, до якого переходить, а не перетягуванням - одна подія з назвою в журналі замість потоку координат.
Картку можна віддати машині або агентові. Віддайте її агентові - і та машина, яка справді може запустити цього агента, забирає картку, виконує роботу, публікує результат як коментар і переміщує її в REVIEW - на рецензію, а не в готове: агент, що завершив задачу, - це те, на що треба подивитися, а не те, чому треба довіряти. Найперша заявка перемагає, нічиї розв’язуються за іменем машини, і це обчислюється однаково всюди з тих самих подій - без виборів, без координатора. Без заявки кожна машина, що може запустити Claude, виконала б ту саму картку, і одна задача повернулася б із чотирма рахунками.
Агент також може діяти: опублікувати повідомлення в кімнаті, відкрити картку, просунути її далі. Нічого, що виконує команду чи чіпає файл, - для цього в агента вже є ціла машина. «Nobody» - справжній виконавець.
Воркфлоу
Section titled “Воркфлоу”Воркфлоу, за адресою /workflows, - це впорядкований список кроків, деякі з яких зупиняються й чекають
на людину. Це те, чим насправді були Loop, Pipeline та Kanban - три пункти бічної панелі,
що робили одну річ трьома словниками.
| Було | Стало |
|---|---|
| Цикл Loop | Крок з onFail, що вказує назад на попередній крок, і обмеженням на повтори |
| Шлюз Pipeline | Крок gate |
| Стовпець Kanban | Поточний крок запуску |
| Картка Kanban, призначена агентові | Крок agent |
Види кроків
Section titled “Види кроків”- shell - виконує команду від імені того, хто запускає сервер, із тими самими повноваженнями, які вже мають агенти. Прочитайте воркфлоу перед увімкненням, як прочитали б скрипт.
- agent - записує промпт, який підхопить агент. Не блокує.
- gate - зупиняє запуск і запитує людину. Погодьте, щоб продовжити; відхиліть, щоб завершити.
- note - записує рядок і рухається далі.
Повтори, з обмеженням
Section titled “Повтори, з обмеженням”Будь-який крок, крім шлюзу, може назвати крок, до якого повертатися в разі збою, і максимальну кількість разів - типово три. Обмеження не є необов’язковим: цикл «збірка-оцінка-виправлення» без обмеження - це простій, а не функція.
Тригери
Section titled “Тригери”- Manual - кнопка.
- Schedule - інтервал у хвилинах (cron - це мова, і ніщо тут її не потребує). Спрацьовує негайно першого разу, бо оператор, який щось увімкнув і годину нічого не бачить, робить висновок, що воно зламане.
- Event - один раз на кожну нову подію вибраного виду: збій CI, приземлення патча. Коли його бачать уперше, він діє лише на найновішу подію, тож увімкнення не проганяє його по річній історії.
Те, що вже спрацювало, зберігається на диску, тож перезапуск не проганяє все заново. Шлюзи розташовані вгорі екрана: шлюз прямо зараз блокує чиюсь роботу.
Запуск не має власного стану
Section titled “Запуск не має власного стану”Він розгортається з журналу, тож сервер, убитий посеред запуску, не може залишити файл стану з вічним написом «running» - а на питання «хто це погодив і коли» можна відповісти через місяці, бо погодження - це підписана подія з приміткою.
Міграція з M.A.V.E.N
Section titled “Міграція з M.A.V.E.N”Наявний стан Loop, Pipeline та Kanban не конвертується - ті дошки були чернеткою кожної окремої машини, а конвертеру довелося б вигадати історію, якої ніколи не існувало в журналі. Створіть заново ті, що вам досі потрібні, як визначення воркфлоу; це займає хвилину на кожен.