Начните с обычного выполнения
Для запуска Лиспекса companion не нужен:
lispex rule.lspxКоманда использует встроенный интерпретатор Rust tree. Он остаётся стандартным маршрутом, эталоном семантики и средством восстановления. Устанавливайте companion только для осознанного использования точной Topaz VM или допущенного AOT-компилятора Topaz.
Получение официального companion
Native содержит точный неизменяемый каталог маршрутов. Сейчас в нём две записи для macOS ARM64: Topaz 5.11 VM и точный компилятор Topaz 5.11 для Lispex AOT. Выберите новый абсолютный путь:
lispex routes fetch \
--route topaz-vm \
--target aarch64-apple-darwin \
--out /absolute/tools/lispex-topaz-vmКоманда не принимает URL, зеркало, канал, версию, реестр или подмену каталога и не следует перенаправлениям. До публикации каталога назначения она проверяет длину ответа, SHA-256, каноническую форму stored-ZIP, каждый установленный файл и закрытую identity продукта Topaz. Неподдерживаемая target отклоняется до сетевого запроса.
Получение не регистрирует и не выбирает маршрут. Перейдите к разделу
Явное использование продукта и самостоятельно
передайте /absolute/tools/lispex-topaz-vm/product.
Для сборки AOT-продукта отдельно получите companion компилятора:
lispex routes fetch \
--route aot-compiler \
--target aarch64-apple-darwin \
--out /absolute/tools/lispex-aot-compilerЗакрытый продукт содержит точный компилятор и release manifest, но не Rust
toolchain. Для aot build по-прежнему нужны и установленный исполняемый файл
компилятора, и отдельно выбранный абсолютный каталог инструментов Rust:
lispex aot build \
--source rule.lspx \
--topaz-compiler /absolute/tools/lispex-aot-compiler/product/bin/topaz-bin \
--rust-tool-bin /absolute/rust/bin \
--out /absolute/products/rule-aotОфлайн-установка переданного архива
Получите из одной передачи provider два неизменяемых локальных файла:
- канонический
lispex.route-catalog/v1и его точный SHA-256; - stored-ZIP, названный точной записью маршрута и target.
Каталог — закрытый список допуска. Он фиксирует продукт provider, языковой
режим, digest manifest, digest и размер архива, а также каждый устанавливаемый
файл. Лиспекс не ищет checkout, PATH, реестр пакетов, сеть или иной каталог.
Установите одну точную запись
Выберите новый абсолютный путь, которого ещё не существует:
lispex routes install \
--route topaz-vm \
--target aarch64-apple-darwin \
--catalog /absolute/handoff/routes.json \
--catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
--archive /absolute/handoff/topaz-vm-aarch64-apple-darwin.zip \
--out /absolute/tools/lispex-topaz-vmЗамените пример digest значением, переданным вместе с точным каталогом. Команда читает только локальные файлы. При успехе одна каноническая квитанция появляется в stdout и здесь:
/absolute/tools/lispex-topaz-vm/
├── installation.json
└── product/installation.json — каноническая квитанция
lispex.route-installation/v1. В ней нет абсолютного пути и времени, поэтому
перенос неизменённого каталога сохраняет identity. product/ остаётся
закрытым корнем для существующего точного валидатора продукта.
Для допущенного архива AOT-компилятора измените --route:
lispex routes install \
--route aot-compiler \
--target aarch64-apple-darwin \
--catalog /absolute/handoff/routes.json \
--catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
--archive /absolute/handoff/lispex-topaz-aot-compiler-aarch64-apple-darwin.zip \
--out /absolute/tools/lispex-aot-compilerПолную проверку установленного продукта и AOT-сборки прошёл только compiler cell macOS ARM64. Ячеек Linux, Windows и macOS Intel нет. Companion AOT-компилятора не включает Rust, linker, SDK и системные библиотеки, а Лиспекс не подменяет target.
Используйте продукт явно
Установка не регистрирует маршрут и не меняет стандартный выбор. Снова укажите закрытый корень продукта:
lispex routes inventory \
--topaz-vm /absolute/tools/lispex-topaz-vm/productЗатем создайте lock без пути и проверьте его:
lispex routes lock \
--route topaz-vm \
--topaz-vm /absolute/tools/lispex-topaz-vm/product \
--out topaz-route.json
lispex routes doctor \
--selection topaz-route.json \
--topaz-vm /absolute/tools/lispex-topaz-vm/productПосле переноса укажите новый абсолютный путь product/. Ни lock, ни квитанция
установки не запоминают путь файловой системы.
Полный путь от установки до переноса
После сборки AOT-продукта проверьте оба необязательных маршрута и создайте отдельный lock для каждого:
lispex routes inventory \
--topaz-vm /absolute/tools/lispex-topaz-vm/product \
--aot-product /absolute/products/rule-aot
lispex routes lock --route aot \
--aot-product /absolute/products/rule-aot \
--out aot-route.jsonДля одного ограниченного сравнения четырёх маршрутов используйте
routes measure --samples 1, затем исполняйте только выбранный lock:
lispex routes run \
--selection aot-route.json \
--aot-product /absolute/products/rule-aot \
--input input.datum \
rule.lspxУстановку VM или готовый AOT-продукт можно переместить. Снова передайте новый
абсолютный root командам routes doctor и routes run, не переписывая lock.
Doctor заново проверит байты по новому адресу, а неизменившийся lock покажет,
что identity выбора не зависела от старого пути. Поддерживаемый
полный пример переносимых маршрутов
соединяет получение, сборку, inventory, lock, doctor, ограниченное измерение,
закреплённое исполнение и перенос.
Разрешённая форма архива
Лиспекс принимает только одну каноническую форму stored-ZIP без сжатия. Отклоняются сжатие, Zip64, descriptor, шифрование, время, extra, comment, каталоги, дубликаты и несортированные имена, выход из пути, абсолютные пути, обратные косые черты, символические ссылки, специальные файлы, превышение лимитов и любой неверный digest. Запись идёт в закрытый соседний stage, а публикация — лишь если назначения всё ещё не существует.
Код 2 означает ошибку использования команды, 1 — отказ identity или канонического контракта, 3 — локальный I/O, предел ресурса или защиту от перезаписи. После отказа нет попытки с иной записью, target, версией, путём или исполнителем.
Граница безопасности
Корректные каталог и квитанция подтверждают точную целостность установленных
байтов. Они не доказывают доверие к provider, правильность программы, согласие
с Rust или право на внешнее действие. Каталог, архив, квитанция, manifest и
результат маршрута не могут стать свидетельством Vouch или входом gate.
Поле automatic_fallback:false в канонической квитанции фиксирует запрет, а
не просьбу попробовать другой маршрут.
Куда дальше
Для простого стандартного выбора используйте руководство по среде, а перед закреплённым продвинутым запуском — route doctor.