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 и записывает фиксированный basiscsk.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 | правило профиля и datum | csk.differential-receipt/v0; не подлинность |
| lispex verify RECEIPT | JSON квитанции и 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, независимого свидетеля, корректность политики, происхождение до предоставленных байтов, безопасность развёртывания или разрешение внешнего действия.