Песочница

Команды Native и npm

Native предоставляет Core IR, проверенный байткод, явную Rust VM, точную установленную Topaz VM, изображения и Vouch; npm ограничен документированным подмножеством.

Как рассуждать

  • lispex [FILE|-] вычисляет исходник; receipt записывает envelope нативного выполнения; lower и eval-graph работают с проверяемым подмножеством.
  • Native-команда lispex fmt [FILE|-] детерминированно пишет форматированный исходник в stdout. Тихий --check возвращает 0, если изменений не нужно, и 1, если байты изменятся. --write безопасно заменяет один именованный обычный файл. Проверка выполняется первой; комментарии, pragma, tokens и написание литералов сохраняются точно.
  • В Native core-ir build превращает точный исходник в разрешённый канонический lispex.core-ir/v1, core-ir validate строго читает и перекодирует его, а core-ir inspect добавляет читаемую нормализованную проекцию. Все три команды ничего не исполняют и имеют границу integrity-only. Прежний lower остаётся отдельной командой Meaning Graph.
  • В Native bytecode build принимает строгий Core IR и записывает канонический lispex.bytecode/v1; inspect и validate строго читают его без выполнения; bytecode run проверяет и выполняет его в lispex-rust-vm/v1. run --backend rust --engine vm — маршрут из исходника в памяти, а стандартным остаётся tree. Ошибка VM не повторяется через tree.
  • Native vouch compiled build|inspect|validate создаёт, проверяет структуру или точно заново выводит .lpxvca из отдельно названного исходника либо доказанного изображения. Команды печатают JSON в stdout, не исполняют правило и указывают authority: integrity-only. Исполняют артефакт только явные verify --reexecute --compiled-artifact и gate --compiled-artifact.
  • compare-engines --receipt REPORT SOURCE запускает оба Rust-движка, пишет неперезаписываемый lispex.rust-engine-comparison/v1 и завершает работу с кодом 1 при семантическом расхождении. Это регрессионное свидетельство одной линии, а не независимая квитанция или полномочие.
  • bytecode run --engine topaz --topaz-vm ROOT выбирает только точный установленный продукт Topaz 5.11 для macOS ARM64. compare-vms --topaz-vm ROOT --receipt REPORT SOURCE один раз выводит байткод и записывает обе VM. Проверяются продукт, запрос, результат, полный ресурс u64 и fallback; ошибка Topaz не повторяется другим движком.
  • Native aot build опускает точный исходник через Core IR и байткод в читаемый Topaz, требует абсолютные точные пути Topaz/Rust и новый каталог. aot inspect|validate не выполняют продукт, а aot run не компилирует. Source-free продукт macOS ARM64 и результаты не имеют fallback и помечены execution-material-only.
  • compare-routes --topaz-vm TVM --aot-product AOT --receipt REPORT SOURCE один раз выводит Core IR и байткод, проверяет точное соответствие AOT, валидирует оба установленных продукта Topaz и явно запускает tree, Rust VM, Topaz VM и AOT. Неперезаписываемая диагностика разделяет семантические и сопоставимые ресурсные оси и не входит в Vouch.
  • Native предоставляет полную namespaced-цепочку: vouch issue, vouch verify без флагов, vouch verify --reexecute, vouch gate --require-decision и vouch inspect. npm предоставляет аутентифицированный vouch verify без флагов, структурный vouch inspect и корпусный vouch replay, отклоняя issue, --reexecute и gate до I/O артефактов.
  • Для аутентифицированного verify без флагов код 0 означает аутентификацию и диагностическую eligibility, 10 — аутентификацию без неё, 1 — отказ, 2 — ошибку использования до I/O артефакта, 3 — ошибку ввода/вывода или публикации отчёта. Коды 0 и 10 оба означают аутентификацию и не дают полномочий.
  • Плоская команда npm lispex verify RECEIPT остаётся неподписанной структурной командой совместимости и не является псевдонимом namespaced-аутентификации lispex vouch verify.
  • Успешный отчёт --reexecute содержит authentication.status = authenticated, reexecution.status = execution-agreed, фиксированный observation_scope = csk.vouch-complete-transcript/v0 и comparison.current_vs_signed = agree.
  • vouch gate требует все пути исходного контекста, --require-decision approve|deny|review|invalid-input и --report-out. Отчёт csk.native-gate-report/v0 разделяет аутентификацию, повторное выполнение и статус gate и записывает фиксированный basis csk.current-native-agreement/v0.
  • Идентичность файла и stdin записывается явно там, где этого требует контракт артефакта.
  • Используйте lispex vouch policy create с одним именованным SPKI-файлом, повторяемыми явными флагами engine/source и новым выходом, затем policy check для точных байтов. Успех не пишет stdout. Код 2 — usage, 3 — ошибка I/O/resource/publication, 1 — некорректная конфигурация.
  • Для полномочий Native с bundle команды vouch verify --reexecute и vouch gate требуют одновременно --source RULE и --input INPUT. Отсутствующая или неполная пара даёт usage-код 2 до открытия любого именованного artifact. vouch verify --bundle без флагов остаётся поддерживаемой аутентификацией-only в Native и npm.
  • Команды изображений Native и npm используют именованные пути: image encode --source SOURCE --out IMAGE, image inspect --image IMAGE, image decode --image IMAGE --out SOURCE и run --image IMAGE. Encode требует .lspx.png для одной страницы или .lspx-images.zip для набора. Usage даёт код 2, validation или suffix — 1, I/O, resource или no-clobber publication — 3.
  • В командах Vouch с контекстом source выберите ровно одно: --source RULE или --source-image IMAGE. Изображение читается в пределах image-bound и полностью доказывается до передачи восстановленных байтов в identity, policy, issuance, authentication, request binding, re-execution или gate.
  • Для pinned verify bundle, Native re-execution и gate флаг --source-image IMAGE всё равно требует отдельный --input INPUT. Unpinned bundle остаётся только аутентификацией и не достигает выполнения или grant.

Границы команд

КомандаЧитаетПишет / не устанавливает
lispex [FILE|-]байты исходника Lispexканонический результат/stdout и диагностика; без квитанции
lispex fmt [--check|--write] [FILE|-]корректный исходник Lispex в UTF-8форматированный исходник, тихий статус или безопасная замена файла; без выполнения
lispex receipt FILEбайты исходникаnative execution receipt; не differential Vouch
lispex core-ir build --source S --out Oточные байты исходникаканонический разрешённый Core IR и отчёт для именованного файла; без выполнения и полномочий
lispex core-ir validate --ir IRканонические байты Core IRитог строгой проверки; без выполнения
lispex core-ir inspect --ir IRканонические байты Core IRчитаемая разрешённая проекция и идентификаторы; отчёт не является исполняемым артефактом
lispex bytecode build --ir IR --out Oстрогий канонический Core IRканонические проверенные байты .lpxbc и итог для именованного файла; без выполнения и полномочий
lispex bytecode inspect --bytecode BCканонический байткодidentity, размеры, требования, opcode, roots и покрытие source map; без выполнения
lispex bytecode validate --bytecode BCканонический байткодрезультат strict decode, verify и re-encode; без выполнения
lispex bytecode run --bytecode BC [--input I]проверенный байткод и необязательный datumstdout, предупреждения или диагностика VM; без полномочий Vouch
lispex bytecode run --engine topaz --topaz-vm ROOT --bytecode BC [--input I]точный продукт Topaz, байткод и необязательный datumограниченное наблюдение Topaz; без discovery, fallback и Vouch
lispex run --backend rust --engine tree|vm FILEисходник Лиспексавыбранный Rust-движок; tree по умолчанию, без fallback VM
lispex compare-engines --receipt R FILEисходник Лиспексаточный отчёт сравнения tree/VM одной линии; без перезаписи и полномочий
lispex compare-vms --topaz-vm ROOT --receipt R FILEисходник и точный продукт Topazнеперезаписываемое сравнение Rust/Topaz; только differential evidence
lispex aot build --source S --topaz-compiler T --rust-tool-bin R --out Oточный исходник и точные абсолютные build toolsзакрытый source-free Native-продукт; без перезаписи, fallback и полномочий Vouch
lispex aot inspect|validate --product Pабсолютный установленный AOT-продуктстрогий невыполняющий результат inventory и identity
lispex aot run --product P [--input I] [--json]установленный продукт, необязательный datum, канонические лимиты u64прямое наблюдение executable; без компиляции, discovery, fallback и полномочий
lispex compare-routes --topaz-vm TVM --aot-product AOT --receipt R [--input I] SOURCEодин точный запрос исходника/входа и два точных установленных продукта Topazнеперезаписываемая квитанция четырёх маршрутов; семантические/ресурсные оси, линии и fallback без повторов и Vouch
lispex vouch compiled build (--source S|--source-image IMG) --out Aточные байты исходникаканонический неперезаписываемый .lpxvca и JSON-итог; без аутентификации, выполнения и полномочий
lispex vouch compiled inspect --artifact Aканонический контейнер и встроенный проверенный байткодитог целостности; выведение из исходника и выполнение не проверяются
lispex vouch compiled validate --artifact A (--source S|--source-image IMG)контейнер и отдельно переданный точный исходникточный результат source→Core IR→bytecode; без аутентификации, выполнения и полномочий
lispex vouch verify ... --reexecute --compiled-artifact Aаутентифицированный внешний закреплённый запрос и точно выведенный артефактcsk.native-compiled-reexecution-report/v1; согласие tree/Meaning и проверенной VM, но не grant
lispex vouch gate ... --compiled-artifact Aто же живое compiled-свидетельство и требуемое решениеcsk.native-compiled-gate-report/v1; локальный grant/отказ, отчёт не является capability
lispex diff-receipt --input I RULEправило профиля и datumcsk.differential-receipt/v0; не подлинность
lispex verify RECEIPTJSON квитанции и optional sourceвердикт согласованности; не перезапускает политику
lispex issue-native ...правило профиля, закреплённый ввод, профиль и handle локального PKCS#8-ключаатомарные payload, конверт DSSE и отчёт выдачи; только нативный release-бинарник
lispex verify-native ...конверт DSSE, политика доверия потребителя, исходник, ввод, профиль и ожидаемый контекст движкаотчёт аутентификации точного проверенного контекста; не доказательство identity, времени, развёртывания или корректности политики
lispex verify-bridge REPORTотчёт Bridge и связанные артефактывердикт Bridge; внешний движок не запускается

Частая ошибка

fmt не канонизирует значения литералов и не выполняет программу. Написание 2/4, 1.00, комментариев и pragma ;! сохраняется точно. Некорректный исходник диагностируется до вывода в stdout или замены файла. Форматирование доступно только в Native: расширение не переходит на npm, WASM или Песочницу.

Для команд Core IR код 0 означает успешную сборку или строгое чтение, а не выполнение правила. Ошибка использования даёт код 2, ошибка исходника или проверки — 1, превышение предела либо ошибка ввода-вывода и публикации — 3.

Для байткода код 0 означает успешные build, строгую проверку, inspection или выполнение. Некорректный Core IR, malformed bytecode, неверный ввод и обычная runtime-диагностика дают 1; ошибки использования, engine и resource — 2; I/O артефакта или ввода, превышение входного предела и ошибка публикации именованного выхода или отчёта — 3. Ошибка terminal при записи результата исполнения даёт 2. Artifact stdout содержит только байты, именованные выходы не перезаписываются, а байткод и ввод не могут одновременно читать stdin.

Для Topaz нужен абсолютный корень допущенного продукта macOS ARM64. Ошибки identity, timeout, malformed result, resource и mismatch видимы без запуска Rust/tree/LIL/LIT или другой Topaz. npm явно отклоняет core-ir, bytecode, aot, compare-engines, compare-vms и compare-routes как Native-only, а не принимает их за имена исходников.

Для vouch gate код 0 означает совпадение живого grant с требуемым решением; 10 — успешную аутентификацию без grant; 1 — отказ аутентификации; 2 — ошибку использования; 3 — ошибку I/O, выполнения или публикации отчёта. Отчёт является диагностическим выводом и не принимается как вход gate.

Для vouch compiled код 0 означает успешные build, канонический inspect или проверку точного повторного выведения. Ошибка исходника, профиля, контейнера, байткода или вывода даёт 1; дубликат, отсутствие, конфликт или неизвестный флаг — 2 до работы с артефактом; ограниченный I/O и отказ неперезаписываемой публикации — 3. Build не заменяет существующий файл. Inspect не проверяет выведение из исходника: для восстановления используйте validate с точным исходником. --compiled-artifact без --reexecute даёт usage 2.

Куда дальше

Держите эту страницу рядом при написании кода. За последовательным объяснением вернитесь к карте синтаксиса или соответствующей главе.

Байткод и Rust VM · Контракт Core IR · Выбор среды выполнения