Открытое ядро
Ядро, которое не верит агенту на слово
Ядро — часть Zidos, которая ведёт ИИ-агента по задаче: спрашивает вас перед действием и запускает команды в песочнице. Ядро, настольные приложения и модуль проверки выходят под Apache-2.0: текст лицензии уже лежит в репозитории, сам репозиторий откроем в день публичного запуска. Платным останется один модуль для компаний.
Задача: функция slugify теряет буквы не из латиницы. Агент покажет правку и подождёт вашего решения.
Демо по записям настоящего прогона ядра. Ваши файлы демо не трогает.
Что агент не сделает без вас даже в YOLO
YOLO снимает вопросы почти обо всём. Переключите режим и посмотрите, что ядро всё равно спросит у человека.
- Правит файл в проектеsrc/textkit/slug.py
- Запускает тесты в песочницеpython3 -m unittest
- Правит CI и инструкции агенту.github/workflows/, CLAUDE.md, AGENTS.md, .cursor/
- Отправляет письмо клиентупочта, публикация, оплата, ответ в канале
Правка CI — по умолчанию каждый раз. Разрешение «на всю сессию» её не покрывает, настройки проекта это не ослабят. Включить автоодобрение может только администратор в управляемых настройках компании.
Решение привязано к тому, что вы видели. Ядро фиксирует получателя, текст, сумму и лимит до показа и принимает ответ только вместе с хешем показанного действия. Подменить письмо после «да» нельзя.
Ушли на выходные — задача ждёт. Пока вы молчите, она стоит в «ждёт решения» и не держит место в очереди. По таймауту ядро ничего не делает само.
«Готово» засчитывает ядро, а не агент
Задача не получает статус «выполнена», пока ядро само не прогнало проверку. Что агент говорит и что ядро делает в ответ:
«Тесты зелёные, я закончил»
Само запускает проверку на копии файлов, до которой агент уже не дотянется.
«Поправил тест, теперь проходит»
Шесть правил ищут код, подогнанный под тест, например подменённое сравнение или подглядывание в файлы тестов. Находка — повод посмотреть человеку, а не обвинение.
«Подзадача готова, вот отчёт»
Отчёту дочерней задачи родитель не верит и прогоняет свою проверку заново.
proof.html
- Открыт в браузеребез установки Zidos
- Проверяет записимодуль внутри файла
- Уровень целостностихеш-цепочка · подпись · внешняя метка времени
Записи прогона целы
Отчёт для аудитора: один HTML-файл
Команда zidos-core proof собирает прогон в один файл. Аудитор открывает его в браузере, и записи проверяет модуль, встроенный прямо в файл.
Модуль проверки — отдельный проект. Он не подключает код ядра, читает формат своими силами и берёт ключи только из своего файла. Ядро не может само себе повысить уровень доверия.
Отчёт подтверждает, что записи не меняли. Правильна ли сама правка, решает человек. Как устроена проверка
Всё, что уходит в сеть, сначала записано
Песочница
своей сети нет
Команда агента не может открыть соединение сама. Наружу ведёт один путь: прокси ядра.
Прокси ядра, снаружи песочницы
проверяет адрес
Решает, можно ли в этот адрес. Внутренняя сеть закрыта, пока её явно не разрешили, в том числе когда домен ведёт и наружу, и внутрь.
Журнал исходящих
запись до отправки
Запись ложится на диск раньше, чем уходит первый байт. Записи нет — значит, через прокси ничего не ушло.
Ключи от API в настройках хранятся только ссылками вида secret://github/token. Если вписать сам ключ, ядро его отклонит и не повторит значение в ответе.
Упал процесс — ядро не повторит действие вслепую
Ночная задача по расписанию, процесс упал посередине. Что будет после перезапуска:
Запускаются две задачи: отчёт по логам и рассылка клиентам.
Процесс падает. Ушли письма или нет, ядро знать не может.
Отчёт по логам повторяется. Тот, кто настраивал задачу, пометил её «только чтение».
Рассылка не повторяется. У неё нет пометки, а без пометки ядро считает, что задача что-то меняет. Само ядро её второй раз не запустит.
Граница с платным модулем — это тест
Модуль для компаний подключается через два пакета: core/server запускает сервер ядра, core/ext даёт крючки для входа, каталогов пользователей и политик.
Тест TestCoreDependenciesExcludeEnterprise проходит по всем зависимостям ядра и падает, если среди них появился модуль для компаний. Расширения могут ужесточить решения ядра о сети и моделях, но не выдать себе прав шире.
Открытая часть
Ядро и приложения
собирается и проходит тест границы без модуля
Закрытая часть
Модуль для компаний
может только сузить права ядра
10 220
тест-функций в ядре сегодня. В день запуска пересчитаете сами: git grep "^func Test" -- "*_test.go" | wc -l
Как живёт проект
- Проверки запускаются локально:
make test,make vet,make lint. - Решения записываются в
docs/adr/, изменения публичного API — в отдельный журнал изменений. - Вклад принимаем по CLA. Слияния и выпуски пока решает один мейнтейнер.
- Имя и логотип Zidos в открытый код не входят.
Агент уже работает. Бета бесплатная.
Вступить в бету