Проверка
Находите новые регрессии, пока работают ваши агенты.
Каждый раз, когда вы сохраняете файл или агент завершает задачу, Panolayer проверяет изменение с учётом того, как на самом деле устроена ваша кодовая база. Он смотрит на изменённые функции, на вызывающий их код и на то, чего ожидает каждый из них. За секунды вы видите, что сломалось и почему, а агент не может слить свою работу в вашу ветку без вашего одобрения.
Публичная бета для macOS. Бесплатный старт, банковская карта не нужна.
Агент меняет getUser(), чтобы функция возвращала null вместо исключения.
Код компилируется, и тесты для getUser по-прежнему проходят, но шесть мест, которые читают user.name без проверки, узнают об этом только на staging.
Как работает Verification Engine
Проверка начинается с единственного, что не может ошибаться насчёт вашего кода, — с самого кода.
Она работает на вашей архитектуре, построенной разбором исходного кода, поэтому знает каждую функцию, что её вызывает и от чего она зависит. Panolayer отличает новые регрессии от уже существовавших. Благодаря постоянной памяти каждое ваше исправление остаётся с проектом, так что чем больше вы пользуетесь проверкой, тем лучше она становится.
Разберите ваш код
Определите, что он ожидает
Проверяйте каждое изменение
Новые регрессии хранятся отдельно от старых
01
Контекст из вашего кода
Агент видит только те файлы, которые ему передали. Panolayer разбирает ваш репозиторий так, как это сделал бы компилятор: файлы, модули, функции, классы, импорты и полный граф вызовов. Он знает, что getUser() вызывается из шести мест и где именно находится каждое, потому что разрешил символы, а не потому, что модель угадала. Это та же архитектура, которую вы просматриваете в «Архитектуре».

02
Определите, чего ожидает код
Благодаря постоянной памяти Panolayer правила сохраняются между запусками, и вы можете добавлять собственные или исправлять те, в которых он ошибся.

03
Узнайте, что именно сломалось
Откройте сбой — и вы увидите функцию, правило, что произошло вместо ожидаемого, где и какой вызывающий код затронут, вместе с доказательствами.
Если это настроено, проверка также может запускать ваши тесты, сборки и проверки типов, загружать изменения фронтенда в браузере и сравнивать скриншоты с эталонным изображением.

04
Сравнение с базовым состоянием
Каждый результат сравнивается с кодовой базой до изменения, поэтому уже существовавшие сбои остаются помечены как существовавшие ранее, и вы разбираетесь только с тем, что сломало это изменение.
05
Исправьте код или правило
Если неверен код, исправьте его сами или поручите это Panolayer Agent, передав сбой и затронутый вызывающий код как контекст. Если неверно правило, исправьте его. В любом случае результат будет проверен снова.
Агент не может слить свою работу в вашу ветку без вашего одобрения. Агенты из Marketplace работают в контейнере без доступа к вашему основному дереву. CLI-агенты на вашем Mac сдерживаются инструкциями. Вы всегда можете сделать commit и слить работу агента, даже если проверки не пройдены.
Подробнее о «Создании»Вопросы
Что такое правило?
Ожидание относительно того, как должен вести себя фрагмент кода, например «возвращает пользователя или выбрасывает исключение, но никогда не null». Большинство правил Panolayer выводит из вашего кода, а вы можете добавлять собственные. Правила сохраняются и выполняются при каждом изменении.
Можно ли писать собственные правила?
Да. Вы можете добавлять собственные правила наряду с теми, которые Panolayer выводит из вашего кода.
Что, если правило неверное?
Исправьте его. Исправление сохранится и будет учитываться при будущих проверках в этом репозитории.
Насколько быстро работает проверка?
Результаты приходят за секунды, поэтому проверить, исправить и проверить снова можно, не отрываясь от задачи.
Когда запускается проверка?
Когда вы сохраняете файл в своей ветке и когда агент сообщает, что задача выполнена.
Отправляется ли мой код модели?
Ваш репозиторий и созданный Panolayer индекс остаются на вашем Mac, если вы их не синхронизируете и не делитесь ими. Функции, использующие модель, отправляют соответствующие фрагменты кода и промпты настроенному вами провайдеру на условиях этого провайдера.
Подробнее на странице «Безопасность»Блокирует ли это моё слияние?
Это сдерживает агентов, а не вас. Агент не может слить свою работу в вашу ветку без вашего одобрения. Вы всегда можете сделать commit и слияние.
Доверяйте тому, что выпускают ваши агенты.
Публичная бета для macOS. Бесплатный старт, банковская карта не нужна.