Сборка без выполнения
Начните с файла исходника, например refund-window.lspx:
lispex core-ir build \
--source refund-window.lspx \
--out refund-window.lpxirКоманда читает и нормализует точный исходник, разрешает имена в ячейки,
отмечает хвостовые вызовы, записывает захваты замыканий и создаёт канонические
байты lispex.core-ir/v1. Правило при этом не вычисляется. JSON-отчёт
содержит хэши исходника, Core IR и реестра примитивов, семантический профиль и
ограниченные счётчики.
Путь назначения должен быть новым: существующий артефакт не перезаписывается.
В конвейере - означает стандартный ввод или вывод:
cat refund-window.lspx |
lispex core-ir build --source - --out - >refund-window.lpxirС --out - stdout содержит только канонические байты артефакта, а диагностика
остаётся в stderr.
Проверка перед хранением или сравнением
lispex core-ir validate --ir refund-window.lpxirПроверяются предел байтов, структура JSON, фиксированные идентификаторы schema/profile/registry, позиции исходника, разрешённые ссылки, захваты, хвостовые позиции, канонический текст datum, порядок и точное повторное кодирование. Даже безобидное изменение пробелов или порядка полей отклоняется: у одного смыслового артефакта есть только одно допустимое представление.
Просмотр разрешённого смысла
lispex core-ir inspect --ir refund-window.lpxirОтчёт показывает:
source_sha256точных входных байтов исходника;core_ir_sha256всего канонического артефакта;- числа globals, requirements, roots, nodes, bindings и functions;
- разрешённые глобальные ячейки и исходные идентификаторы примитивов;
- требуемые явные входы среды;
- читаемые корни нормализованного Core с позициями исходника.
В отчёте явно указаны execution: "not-run" и
authority: "integrity-only". Он полезен для ревью и детерминированного
сравнения, но не заменяет артефакт и не исполняется.
Переход к проверенному байткоду
Сам Core IR остаётся невыполняемым. Для нативного компилируемого маршрута переведите строго проверенный артефакт в байткод:
lispex bytecode build \
--ir refund-window.lpxir \
--out refund-window.lpxbc
lispex bytecode validate --bytecode refund-window.lpxbcОтдельный lispex.bytecode/v1 имеет собственные бинарную identity, verifier,
модель ресурсов и Rust VM. Он не превращает inspection-отчёт Core IR в
исполняемый вход.
Core IR и Meaning Graph — разные форматы
lispex lower по-прежнему создаёт граф проверяемого подмножества
csk.meaning-graph/v0. Используйте его с eval-graph и diff-receipt там,
где этого требует процесс. Семейство core-ir охватывает весь текущий профиль
и записывает разрешённые ячейки, захваты и хвостовые позиции, но не меняет и
не переносит молча квитанции Meaning Graph.
Выбор поверхности
Команды Core IR и байткода доступны в Native. npm, открытый WASM и Песочница не принимают байты Core IR или байткода и не содержат JavaScript-reader или VM. Используйте на них только документированные возможности исходника, изображений и Vouch.
Частая ошибка
Совпавший хэш или допустимый артефакт подтверждает целостность и каноническую структуру, но не автора исходника, доверие к правилу, выбранный запрос или факт выполнения решения. Core IR не может выдать конверт Vouch, удовлетворить политику доверия, связать исходник с вводом, повторно выполнить запрос или выдать решение gate.
Куда дальше
Точный формат описан в справочнике контракта, а автоматизация и коды завершения — в справочнике CLI.
Запуск проверенного байткода · Контракт Core IR · Native CLI