agent hubПУТЕВОДИТЕЛЬ Начать

Документация

Ревью кода перед публичным релизом

Это историческое ревью отслеживаемых TypeScript, браузерного JavaScript, fixtures, CLI, конфигурации и документации. Позднейшие проверки записаны в QA.md; текущий кандидат и условия публикации описаны в RELEASE.md. Ревью не означает, что устранены все возможные дефекты.

Исправленные находки

НаходкаИзменение
Заявлен Node 20 при требовании Commander Node 22Минимум 22.13 и соответствующие Node types
TypeScript 7 несовместим с peer range typescript-eslintПоддерживаемый TypeScript 6.0 без принуждения peer-зависимостей
Нет форматирования и quality gatePrettier, ESLint, строгий компилятор, настройки редактора и CI
Core импортировал CLI, общая инфраструктура жила в syncОтдельные launch/status, errors, values, file-store, transaction, lock и shell
Импорт мог частично записать секреты, реестр и происхождениеОдна межпроцессная блокировка, проверки входов и компенсирующий откат
Ошибка чтения реестра превращалась в пустой реестрОбщая runtime-схема и запрет продолжения при ошибке
Dotenv терял многострочные и экранированные секретыСохраняющий parser/writer с round-trip тестами кавычек, escapes, переносов и Unicode
Секреты URL оставались в отслеживаемом реестреВынос URL и аргументов с секретами в .env и регрессии
Импорт автоматически добавлял все файлы Hub в stagingИмпорт не коммитит; init коммитит только свои файлы настройки
Исключения миграции и takeover конкретного прототипаУбраны неявные исключения владения, используется обычный проверяемый импорт
Логика n8n зашита в домен и UIОбщие readiness-настройки и подписи, необязательный отдельный пресет
Созданные команды предполагали POSIX shellОбщий renderer POSIX/PowerShell с тестами quoting
Import и sync DSH по-разному выбирали профильОбщий parser настроек и resolver профиля
Личные email и домен в примерахНейтральные example.com
Рабочий UI зависел от assets макетаСамостоятельные assets и проверка пакета
Дублировались сериализация отпечатков и политикиОбщая сериализация и определения политик в адаптерах

CLI и UI используют одни доменные сервисы. Форматы клиентов, открытие браузера и очистка процессов — явные интеграции совместимости, не предположения о пользователе. Домашний путь, email, машинный путь и корпоративный host не зашиты в runtime.

Исходный результат проверок

Локальный gate охватывает формат, линтер, TypeScript, unit/integration tests и пакет. Покрытие относится к скомпилированному runtime, не fixtures. Baseline того ревью: 54 успешных теста, 86,20% строк, 81,46% ветвей, 84,68% функций. Полный CLI-сценарий работает из посторонней папки с переопределёнными путями трёх клиентов. Всё также прошло на минимальном Node 22.13.0. Позднейшие прогоны — актуальный источник результатов.

Аудит production-зависимостей тогда показал ноль уязвимостей. В dev-дереве была moderate minimatch DoS через ESLint. Шаблоны задаёт конфигурация репозитория, инструменты не входят в runtime. Неподдерживаемый override или принудительное понижение не применялись. Перед публикацией проверьте upstream-исправления; здесь advisory не объявлен исправленным.

Оставшиеся ограничения

Позднейшее дополнение: исходное восстановление

Следующий аудит добавил внешний baseline, устойчивый журнал намерений, reset, явное восстановление мёртвых блокировок и тесты прерванных sync/reset. См. пограничные случаи и восстановление. Это улучшает работу после аварии процесса, но не превращает файловые операции в crash-durable базу данных и не снимает ограничения файловой системы.