Мила под вашу отрасль и команду
Своя Мила — 3 дня за $5Рекомендуемый бюджет →
По размеру
Каталог: бизнесы под ключ →Кто стоит за Милами и как присоединиться
Ещё
«Пришлю до шести» становится строкой в журнале с чатом и сроком. «Сделано» закрывается только уликой, которую скрипт проверяет сам: доставленное сообщение, страница, команда, коммит. У каждой строки ниже — ссылка на код.
Два инструмента: умение mila-tasks с журналом обязательств и карточки чатов с командой mila owe.
Работа, обещание человеку и вопрос владельцу живут по разным часам и закрываются по-разному. skills/mila-tasks:10-16
Ход до двух часов или стройка. Чем проверяется — пишется при заведении: без этого скрипт запись не заводит. Закрывается командой done с уликой.
Срок — чужие часы, абсолютное время. Обещание заводится до отправки ответа. Закрывается только сообщением, доставленным в тот же чат.
skills/mila-tasks:18task.py:765-776Варианты А и Б, вариант по умолчанию, откат и срок; без любого из пяти скрипт вопрос не примет. Открытых развилок не больше трёх, четвёртую он отклонит и запишет отказ в журнал.
task.py:796-807Журнал только дописывается: строки не правятся и не удаляются, даже битая строка остаётся как есть. OPEN.md собирается из журнала, руками его не правят. skills/mila-tasks:22-28 task.py:102-121
done без --proof ничего не пишет и выходит с кодом 2. Улик шесть видов: команда, проба, адрес, сообщение, коммит, слова человека. task.py:684-685 task.py:63--force, и пометка остаётся в строке навсегда; OPEN.md считает, сколько закрыто без машинной проверки. task.py:701-704 skills/mila-tasks:52 task.py:1117-1124После каждого ответа в Telegram хук записывает сообщение в журнал исходящих и ищет в нём обещание. Нашёл — заводит строку с чатом и сроком. Лишняя строка дешевле пропущенного обещания.
keep отмечает опоздание; broken пишет срыв в журнал и напоминает сказать человеку раньше, чем он заметит. task.py:777-779 task.py:785-792task.py next строит очередь каждый раз по одним и тем же правилам. skills/mila-tasks:55
Срок меньше чем через час, уже сорван или не назван — наверх.
task.py:441-446Взяты деньги, что-то «кровит» или срок сегодня. Следом — то, что владелец поручил сегодня.
task.py:450-454Три задачи одновременно, из них одна стройка и один слот стройки в сутки. Без касания 24 часа задача возвращается в очередь.
task.py:652-661task.py:856-866Стартовые оценки по видам работы; с трёх фактов прогноз — медиана реальных минут и токенов. Строка без касания 10 дней поднимается сама.
task.py:419-431task.py:455-457У каждого чата своя карточка: назначение, участники, договорённости. mila note <id> --promise "…" --due "27.08" записывает обещание одной командой; --done закрывает его по совпадению текста, поэтому «сделала» без записи ничего не закрывает. chat_note.py:13-22 chat_note.py:285-304
mila owe собирает открытые обещания из всех карточек: сначала просроченные и на сегодня, потом завтра, дальше по датам. Срок, записанный словами, которые нельзя проверить, получает «?» и совет переписать датой. chat_note.py:221-257 chat_note.py:258-260
Хук входящих на каждом ходу печатает обещания со сроком сегодня или просроченные, даже если новых сообщений нет. Установщик ставит и хук, и chat_note.py. telegram-inbox-feed.py:131-135 telegram-inbox-feed.py:257-262 install/install.sh:111-119
$ mila owe
Открытые обещания · 8
Acme · working chat
· visual prototype: desktop + mobile
due before rollout
Northside Studio · client chat
· stories poll · due tonight
Пример взят из документации набора, как есть. docs/REFERENCE.md:307-318
Умение proverka проверяет результат перед выдачей. CHANGELOG.md:29
Проверка берёт раздел «Готово, если» из SKILL.md этого умения и своего не добавляет. Источник — готовый результат, а не переписка до него.
Пункт пройден, только если в результате есть дословная цитата; пересказ не считается. Для действий («файл сохранён», «письмо ушло») улика — вывод инструмента. Пункт без проверяемого признака — «не проверить», и он тоже не пройден.
skills/proverka:23-28Если движок умеет субагента, проверяет он и видит только результат и чек-лист. Итог — ГОТОВО или ЗАДЕРЖАТЬ с номерами пунктов; дважды подряд ЗАДЕРЖАТЬ — она говорит владельцу, какой пункт не сходится.
skills/proverka:19-21skills/proverka:34-43tasks/ledger.jsonl) и договорённости в карточках чатов ведутся отдельно; mila owe и хук входящих читают только карточки. skills/mila-tasks:23 chat_note.py:223-232scan-sent. settings.json:6-38 install/install.sh:261-275 skills/mila-tasks:70msg: проверяет, что сообщение дошло в нужный чат, а не что прайс в нём верный. human: принимается со слов человека. --force есть, и он остаётся в строке. task.py:594-597task_new, task_done и напоминание за 15 минут до срока; этой механики в открытом коде нет. Сроки видны в хуке входящих и в очереди. skills/tasks-discipline:14 skills/tasks-discipline:45| Файл | Что делает |
|---|---|
| skills/mila-tasks | три вида записей, правила, хуки |
| task.py | журнал, улики, очередь, прогноз |
| hooks/task-sent.py | журнал исходящих и поимка обещаний |
| hooks/task-open.py | открытые обязательства при старте сессии |
| install/chat_note.py | карточки чатов, mila note, mila owe |
| install/telegram-inbox-feed.py | сроки на сегодня на каждом ходу |
| skills/proverka | проверка результата по «Готово, если» |
| docs/REFERENCE.md | mila owe и сроки словами |
Набор открыт: умения, хуки, инструменты и шаблоны. Каждый pull request читает человек и Мила Качество.
Факты на странице: github.com/shakhruz/mila-companion (main, v1.3.0), проверено 18.10.2026. Вывод mila owe — из docs/REFERENCE.md; чат и номер P-0007 — иллюстрация. «Mila», «MILAGPT» и логотип — товарные знаки MILAGPT.