Песочница

Команды CLI Native и npm

Lispex v1.6.0 предоставляет точную identity исходника, канонические policy create/check и аутентифицированный vouch verify в Native и npm через общий Rust. Только Native выдаёт, повторно выполняет и применяет gate.

Текущие гарантии

  • lispex [FILE|-] вычисляет исходник; receipt записывает envelope нативного выполнения; lower и eval-graph работают с проверяемым подмножеством.
  • 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 — некорректная конфигурация.
  • lispex vouch policy create --public-key SPKI --engine-sha256 DIGEST --source RULE --out POLICY принимает один 44-байтный ключ Ed25519 SPKI DER и один или несколько проверенных engine digest и именованных файлов исходника. Общий Rust выводит identity, отклоняет дубли, сортирует allowlist и атомарно пишет побайтно одинаковую каноническую policy v1 без перезаписи и stdout.
  • lispex vouch policy check --trust-policy POLICY без вывода принимает только точные закрытые канонические байты policy v0/v1. Успех означает структурную корректность конфигурации, а не аутентификацию, evidence, re-execution, grant gate или суждение о доверии к ключу, engine или исходнику.
  • lispex vouch source-id --source RULE один раз читает не более 1 МиБ и печатает SHA-256("csk.v0.source" || 0x1f || точные байты исходника) как 64 строчных hex-символа. Native и npm используют одну функцию Rust; public browser WASM и Playground её не предоставляют.
  • Trust policy v1 требует непустой allowed_source_sha256 для каждого ключа. Каждое значение — существующая identity исходника receipt: 64 строчных hex-символа для SHA-256(UTF-8("csk.v0.source") || 0x1f || точные байты исходника). Policy v0 по-прежнему принимается и не ограничивает исходник.
  • csk.vouch-input-bundle/v0 содержит только точные байты канонического конверта DSSE, проверяемого исходника и ввода. Политика доверия, ожидаемый профиль, требуемое решение, ключ и путь отчёта остаются снаружи у вызывающей стороны.
  • Native выдаёт и принимает bundle и может повторно выполнять или применять gate; CLI npm принимает bundle только для аутентификации. Публичные browser WASM и Playground не предоставляют API аутентификации Vouch или bundle.
  • Полный канонический bundle ограничен 16 МиБ. Ошибки внешнего bundle дают код 3 без отчёта аутентификации; после успешного декодирования сохраняются коды 0, 10 или 1 и байты отчёта v0. Для большего или отдельно закреплённого контекста остаётся raw-режим.

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

КомандаЧитаетПишет / не устанавливает
lispex [FILE|-]байты исходника Lispexканонический результат/stdout и диагностика; без квитанции
lispex receipt FILEбайты исходникаnative execution receipt; не differential Vouch
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; внешний движок не запускается

Границы

  • Для vouch gate код 0 означает совпадение живого grant с требуемым решением; 10 — успешную аутентификацию без grant; 1 — отказ аутентификации; 2 — ошибку использования; 3 — ошибку I/O, выполнения или публикации отчёта. Отчёт является диагностическим выводом и не принимается как вход gate.
  • Создание policy не принимает private key, stdin, envelope, bundle, receipt, report, выведенный текущий engine, сетевой ресурс или существующую policy для merge. Происхождение public key, проверка engine/source, распространение, замена и lifecycle policy принадлежат потребителю; browser WASM и Playground не предоставляют policy API.
  • source-id не является обычным SHA-256 файла и не декодирует или нормализует текст. Команда не принимает stdin или artifact и не одобряет source/input, не создаёт policy, не выводит доверие из artifact, не аутентифицирует receipt, не создаёт evidence или полномочия внешнего действия.
  • Bundle — недоверенный транспорт, а не квитанция, подпись, отчёт, capability, одобрение исходника или переносимая авторизация. Он не добавляет шифрование или конфиденциальность и не устанавливает свежесть, nonce, срок действия, отзыв, защиту от replay, identity, независимого свидетеля, корректность политики, происхождение до предоставленных байтов, безопасность развёртывания или разрешение внешнего действия.