네이티브와 npm CLI 명령

Lispex v1.6.0은 공유 Rust로 네이티브와 npm에 정확한 소스 identity, 정규 policy 생성·검사, 인증 vouch verify를 제공합니다. 발행·재실행·gate는 네이티브만 합니다.

현재 보장

  • lispex [FILE|-]는 소스를 평가하고 receipt는 네이티브 실행 envelope를 기록하며 lower·eval-graph는 검사 부분집합에서 동작합니다.
  • 네이티브는 vouch issue, flag 없는 vouch verify, vouch verify --reexecute, vouch gate --require-decision, vouch inspect의 전체 namespaced 체인을 제공합니다. npm은 인증 flag 없는 vouch verify, 구조 vouch inspect, 코퍼스 vouch replay를 제공하며 issue, --reexecute, gate를 아티팩트 I/O 전에 거부합니다.
  • flag 없는 인증 verify의 종료값은 인증 및 진단 promotion eligible이면 0, 인증됐지만 진단 promotion ineligible이면 10, 거부면 1, 아티팩트 I/O 전 사용법 오류면 2, 입출력 또는 보고서 게시 실패면 3입니다. 0과 10 모두 인증 결과이며 어느 것도 권한을 grant하지 않습니다.
  • flat npm lispex verify RECEIPT는 비서명 구조 호환 명령으로 남습니다. namespaced 인증 lispex vouch verify의 별칭이 아닙니다.
  • 성공한 --reexecute 보고서는 authentication.statusauthenticated, reexecution.statusexecution-agreed, 고정 observation_scopecsk.vouch-complete-transcript/v0, comparison.current_vs_signedagree로 기록합니다.
  • vouch gate는 모든 원시 컨텍스트 경로와 --require-decision approve|deny|review|invalid-input, --report-out을 요구합니다. csk.native-gate-report/v0은 인증·재실행·gate 상태를 분리하고 고정 basis csk.current-native-agreement/v0을 기록합니다.
  • 아티팩트 계약이 요구하는 곳에서는 파일·표준입력 동일성을 명시적으로 기록합니다.
  • 이름 있는 SPKI 파일 하나, 반복 가능한 명시적 engine/source flag, 새 출력으로 lispex vouch policy create를 사용한 뒤 정확한 바이트에 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를 정렬해 덮어쓰기나 stdout 없이 바이트 동일 정규 policy v1을 원자적으로 씁니다.
  • lispex vouch policy check --trust-policy POLICY는 정확히 닫힌 정규 v0/v1 policy 바이트만 조용히 수용합니다. 성공은 구조적 설정 유효성일 뿐 인증, evidence, 재실행, gate grant 또는 선택한 키·engine·소스가 신뢰할 만하다는 판단이 아닙니다.
  • lispex vouch source-id --source RULE은 최대 1 MiB를 한 번 읽고 SHA-256("csk.v0.source" || 0x1f || 정확한 소스 바이트)를 소문자 64자리 hex로 출력합니다. 네이티브와 npm은 같은 Rust 함수를 사용하며 공개 브라우저 WASM과 플레이그라운드는 이를 노출하지 않습니다.
  • Trust policy v1은 모든 키에 비어 있지 않은 allowed_source_sha256를 요구합니다. 각 값은 기존 영수증 소스 identity인 SHA-256(UTF-8("csk.v0.source") || 0x1f || 정확한 소스 바이트)의 소문자 64자리 hex입니다. Policy v0는 계속 수용되며 소스를 제한하지 않습니다.
  • csk.vouch-input-bundle/v0에는 정확한 정규 DSSE 봉투 바이트, 검사 소스 바이트, 검사 입력 바이트만 들어갑니다. trust policy, expected profile, required decision, 키, 보고서 경로는 밖에서 호출자가 소유합니다.
  • 네이티브는 bundle을 발행·소비하고 재실행·gate할 수 있으며 npm CLI는 인증에만 bundle을 소비합니다. 공개 브라우저 WASM과 플레이그라운드는 Vouch 인증이나 bundle API를 노출하지 않습니다.
  • 정규 bundle 전체 상한은 16 MiB입니다. 바깥 bundle 실패는 종료 3이며 인증 보고서를 만들지 않고, decode 성공 뒤에는 기존 인증 종료 0·10·1과 v0 보고서 바이트가 그대로입니다. 더 크거나 별도로 고정한 컨텍스트에는 raw 모드를 사용합니다.

명령 경계

명령읽기쓰기 / 세우지 않는 것
lispex [FILE|-]리스펙스 소스 바이트정규 결과·stdout·진단; 영수증 없음
lispex receipt FILE소스 바이트네이티브 실행 영수증; Vouch 차등 영수증 아님
lispex diff-receipt --input I RULE검사 프로필 규칙과 datumcsk.differential-receipt/v0; 진위 아님
lispex verify RECEIPT영수증 JSON과 선택 소스정합성 판정; 정책 재실행 안 함
lispex issue-native ...검사 프로필 규칙, 고정 입력, 프로필, 로컬 PKCS#8 키 핸들원자적 페이로드, DSSE 봉투, 발행 보고서; 네이티브 릴리스 바이너리 전용
lispex verify-native ...DSSE 봉투, 소비자 신뢰 정책, 소스, 입력, 프로필, 예상 엔진 컨텍스트정확한 검사 컨텍스트의 인증 보고서; 신원, 시각, 배포, 정책 정당성 증명 아님
lispex verify-bridge REPORTBridge 보고서와 결합 아티팩트Bridge 정합성 판정; 외부 엔진 실행 없음

경계

  • vouch gate에서 종료 0은 살아 있는 grant가 요구 결정과 일치함, 10은 인증은 성공했지만 grant가 생성되지 않음, 1은 인증 거부, 2는 사용법 오류, 3은 I/O·실행·보고서 게시 실패를 뜻합니다. 보고서는 진단 출력이며 gate 입력으로 재사용할 수 없습니다.
  • Policy 생성은 개인 키, stdin, envelope, bundle, receipt, report, 추론된 실행 engine, 네트워크 리소스 또는 merge할 기존 policy를 받지 않습니다. 공개 키 출처, engine·소스 검토, policy 배포·교체·수명 주기는 소비자가 소유하며 브라우저 WASM과 플레이그라운드는 policy API를 노출하지 않습니다.
  • source-id는 일반 파일 SHA-256이 아니며 텍스트 해석이나 정규화를 하지 않습니다. stdin이나 artifact 입력을 받지 않고 소스·입력을 승인하거나 policy를 생성하거나 artifact 신뢰를 파생하거나 영수증을 인증하거나 evidence·외부 행위 권한을 만들지 않습니다.
  • bundle은 신뢰하지 않는 운반 형식이며 영수증·서명·보고서·capability·소스 승인·전송 가능한 권한이 아닙니다. 암호화나 기밀성을 추가하지 않으며 신선도, nonce 강제, 만료, 폐기, replay 방지, 신원, 독립 증인, 정책 정당성, 제공 바이트 이전의 출처, 배포 안전성, 외부 행위 권한을 세우지 않습니다.