이 순서로 생각하세요
lispex [FILE|-]는 소스를 평가하고receipt는 네이티브 실행 envelope를 기록하며lower·eval-graph는 검사 부분집합에서 동작합니다.- 네이티브
lispex fmt [FILE|-]는 결정적으로 포매팅한 소스를 stdout에 씁니다.--check는 출력 없이 변경이 필요 없으면 0, 필요하면 1로 끝납니다.--write는 이름 있는 일반 파일 하나를 안전하게 교체합니다. 먼저 검증하며 주석·프라그마·토큰·리터럴 철자를 정확히 보존합니다. - 네이티브
core-ir build는 정확한 소스를 해석된 정규lispex.core-ir/v1로 만들고,core-ir validate는 엄격히 읽어 재인코딩하며,core-ir inspect는 읽기 쉬운 normalized projection까지 보여줍니다. 세 명령은 모두 실행하지 않는integrity-only도구입니다. 기존lower는 별도 Meaning Graph 명령으로 남습니다. - 네이티브
bytecode build는 strict Core IR을 받아 정규lispex.bytecode/v1를 씁니다.inspect와validate는 실행 없이 엄격히 읽고,bytecode run은 검증 뒤lispex-rust-vm/v1에서 실행합니다.run --backend rust --engine vm은 소스에서 바로 가는 메모리 내 경로이며 기본값은 tree입니다. VM 오류를 tree 재시도로 숨기지 않습니다. - 네이티브
vouch compiled build|inspect|validate는 별도 이름의 소스나 증명된 이미지에서.lpxvca를 만들고 구조를 검사하거나 정확히 다시 유도합니다. 세 명령은 JSON을 stdout에 쓰고 실행하지 않으며 권한을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는 macOS ARM64용 정확한 Topaz 5.11 설치 제품만 고릅니다.compare-vms --topaz-vm ROOT --receipt REPORT SOURCE는 바이트코드를 한 번 만들고 두 VM 관측을 기록합니다. 제품·요청·결과·full-u64자원·fallback을 검사하며 Topaz 실패를 다른 엔진으로 재시도하지 않습니다.- 네이티브
aot build는 정확한 소스를 Core IR·바이트코드·읽을 수 있는 Topaz로 내리고 절대경로의 정확한 Topaz/Rust 도구와 새 출력 디렉터리를 요구합니다.aot inspect|validate는 실행하지 않고aot run은 컴파일하지 않습니다. 소스 없는 macOS ARM64 제품과 모든 결과는 폴백이 없고execution-material-only입니다. compare-routes --topaz-vm TVM --aot-product AOT --receipt REPORT SOURCE는 Core IR·바이트코드 요청을 한 번 만들고 AOT 제품이 정확히 일치함을 확인한 뒤 tree·Rust VM·Topaz VM·AOT를 명시적으로 실행합니다. 덮어쓰지 않는 진단 영수증은 의미 불일치와 비교 가능한 자원 차이를 나누며 Vouch로 들어가지 못합니다.- 네이티브는
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.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을 기록합니다.- 아티팩트 계약이 요구하는 곳에서는 파일·표준입력 동일성을 명시적으로 기록합니다.
- 이름 있는 SPKI 파일 하나, 반복 가능한 명시적 engine/source flag, 새 출력으로
lispex vouch policy create를 사용한 뒤 정확한 바이트에policy check를 사용하세요. 성공 시 stdout은 없습니다. 종료 2는 usage, 3은 I/O·resource·publication 실패, 1은 유효하지 않은 설정입니다. - 네이티브 bundle 권한에는
vouch verify --reexecute와vouch gate가--source RULE·--input INPUT을 모두 요구합니다. 없거나 일부만 제공하면 이름 있는 artifact를 열기 전에 usage 종료 2입니다. flag 없는vouch verify --bundle은 네이티브와 npm에서 인증 전용 동작으로 계속 지원됩니다. - 네이티브와 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, 검증·접미사 실패는 종료 1, I/O·자원·덮어쓰기 방지 출력 실패는 종료 3입니다. - Vouch 명령이 소스 컨텍스트를 받는 곳에서는
--source RULE또는--source-image IMAGE중 정확히 하나를 고릅니다. 소스 이미지는 이미지 상한 안에서 읽고 완전히 증명한 뒤에야 복원 바이트가 identity·policy·발행·인증·요청 결속·재실행·gate 평가에 들어갑니다. - pinned bundle verify·네이티브 재실행·gate에서
--source-image IMAGE도 별도--input INPUT을 요구합니다. unpinned bundle은 계속 인증 전용이며 실행이나 grant에 도달할 수 없습니다.
명령 경계
| 명령 | 읽기 | 쓰기 / 세우지 않는 것 |
|---|---|---|
| lispex [FILE|-] | 리스펙스 소스 바이트 | 정규 결과·stdout·진단; 영수증 없음 |
| lispex fmt [--check|--write] [FILE|-] | 유효한 UTF-8 리스펙스 소스 | 포매팅한 소스, 조용한 상태 코드, 또는 안전한 제자리 교체; 실행 없음 |
| lispex receipt FILE | 소스 바이트 | 네이티브 실행 영수증; 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 바이트 | 읽기 쉬운 해석 projection과 식별자; 보고서는 실행 아티팩트가 아님 |
| lispex bytecode build --ir IR --out O | 엄격한 정규 Core IR | 정규 검증된 .lpxbc 바이트와 이름 있는 파일 요약; 실행·권한 없음 |
| lispex bytecode inspect --bytecode BC | 정규 바이트코드 | 식별자, 개수, 요구사항, opcode, root, source-map 범위; 실행 없음 |
| lispex bytecode validate --bytecode BC | 정규 바이트코드 | strict decode·verify·re-encode 결과; 실행 없음 |
| lispex bytecode run --bytecode BC [--input I] | 검증된 바이트코드와 선택적 단일 datum 입력 | VM stdout·경고·진단; 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 기본, VM fallback 없음 |
| lispex compare-engines --receipt R FILE | 리스펙스 소스 | 정확한 같은 계보 tree/VM 비교 보고서; 덮어쓰기·권한 없음 |
| lispex compare-vms --topaz-vm ROOT --receipt R FILE | 소스와 정확한 Topaz 설치 제품 | 덮어쓰지 않는 Rust/Topaz 비교; 차등 근거 전용 |
| lispex aot build --source S --topaz-compiler T --rust-tool-bin R --out O | 정확한 소스와 절대경로의 정확한 빌드 도구 | 폐쇄된 소스 없는 네이티브 제품; 덮어쓰기·폴백·Vouch 권한 없음 |
| lispex aot inspect|validate --product P | 절대경로의 설치 AOT 제품 | 실행 없는 엄격한 파일·식별자 검사 결과 |
| lispex aot run --product P [--input I] [--json] | 설치된 제품, 선택 datum, 정규 u64 한도 | 실행 파일 직접 관측; 컴파일·탐색·폴백·권한 없음 |
| 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 | 같은 살아 있는 컴파일 근거와 요구 결정 | csk.native-compiled-gate-report/v1; 로컬 grant·거부, 보고서는 권한 객체가 아님 |
| lispex diff-receipt --input I RULE | 검사 프로필 규칙과 datum | csk.differential-receipt/v0; 진위 아님 |
| lispex verify RECEIPT | 영수증 JSON과 선택 소스 | 정합성 판정; 정책 재실행 안 함 |
| lispex issue-native ... | 검사 프로필 규칙, 고정 입력, 프로필, 로컬 PKCS#8 키 핸들 | 원자적 페이로드, DSSE 봉투, 발행 보고서; 네이티브 릴리스 바이너리 전용 |
| lispex verify-native ... | DSSE 봉투, 소비자 신뢰 정책, 소스, 입력, 프로필, 예상 엔진 컨텍스트 | 정확한 검사 컨텍스트의 인증 보고서; 신원, 시각, 배포, 정책 정당성 증명 아님 |
| lispex verify-bridge REPORT | Bridge 보고서와 결합 아티팩트 | Bridge 정합성 판정; 외부 엔진 실행 없음 |
흔한 오해
fmt는 리터럴 값을 정규화하지 않고 프로그램을 실행하지도 않습니다. 2/4,
1.00, 주석, ;! 프라그마는 원래 철자를 유지합니다. 잘못된 소스는 stdout
출력이나 파일 교체 전에 진단합니다. 포매팅은 네이티브 전용이며 에디터 확장은
npm, WASM, 플레이그라운드로 fallback하지 않습니다.
Core IR 명령의 종료 0은 요청한 build 또는 엄격한 읽기가 성공했다는 뜻일 뿐 규칙을 실행했다는 뜻은 아닙니다. 사용법 오류는 2, 검증·소스 오류는 1, 상한·입출력·게시 실패는 3입니다.
바이트코드에서 종료 0은 build·strict 검증·inspection 또는 실행 성공입니다. 잘못된 Core IR, malformed bytecode, 잘못된 입력, 일반 runtime 진단은 1, 사용법과 엔진·자원 실패는 2, 아티팩트·입력 I/O와 입력 상한, 이름 있는 출력·보고서 게시 실패는 3입니다. 실행 결과를 쓰는 terminal 출력 실패는 2입니다. 아티팩트 stdout은 순수 바이트이며 이름 있는 출력은 덮어쓰지 않습니다. 바이트코드와 입력이 표준입력을 동시에 쓸 수도 없습니다.
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를 소스 파일로 오해하지 않고 네이티브 전용 명령으로
명시적으로 거부합니다.
vouch gate에서 종료 0은 살아 있는 grant가 요구 결정과 일치함, 10은 인증은 성공했지만 grant가 생성되지 않음, 1은 인증 거부, 2는 사용법 오류, 3은 I/O·실행·보고서 게시 실패를 뜻합니다. 보고서는 진단 출력이며 gate 입력으로 재사용할 수 없습니다.
vouch compiled에서 종료 0은 build·정규 inspection·정확한 재유도 검증
성공입니다. 잘못된 소스·프로필·컨테이너·바이트코드나 재유도 불일치는 1,
중복·누락·충돌·알 수 없는 flag는 아티팩트 작업 전 2, 제한 입출력과
덮어쓰기 방지 게시 실패는 3입니다. build는 기존 출력을 덮지 않습니다.
inspect는 소스 재유도를 검사하지 않으므로 복구할 때는 정확한 소스와
validate를 사용하세요. --reexecute 없는 --compiled-artifact는 사용법
오류 2입니다.
다음으로
코드를 작성할 때 이 페이지를 곁에 두세요. 안내식 설명이 필요하면 문법 지도나 관련 매뉴얼로 돌아가면 됩니다.