선택형 네이티브 경로 설치하기

정확한 공식 Topaz VM이나 AOT compiler companion을 가져오고, 검토한 로컬 경로 아카이브를 설치합니다. 자동 탐색, fallback, Vouch 권한은 허용하지 않습니다.

먼저 일반 실행을 사용하세요

companion이 없어도 리스펙스를 실행할 수 있습니다.

SH
lispex rule.lspx

이 명령은 내장 Rust tree 인터프리터를 사용합니다. Rust tree는 기본 실행기이자 의미 레퍼런스이며 복구 경로입니다. companion은 정확한 Topaz VM이나 승인된 Topaz AOT 컴파일러가 필요할 때만 설치하세요.

공식 companion 가져오기

네이티브에는 바꿀 수 없는 정확한 경로 카탈로그가 들어 있습니다. 지금 카탈로그에는 macOS ARM64 항목이 둘 있습니다. Topaz 5.11 VM과 리스펙스 AOT가 쓰는 정확한 Topaz 5.11 컴파일러입니다. 아직 존재하지 않는 새 절대경로를 고르세요.

SH
lispex routes fetch \
  --route topaz-vm \
  --target aarch64-apple-darwin \
  --out /absolute/tools/lispex-topaz-vm

이 명령은 URL, 미러, 채널, 버전, 레지스트리, 카탈로그 덮어쓰기를 받지 않고 리다이렉트도 따르지 않습니다. 응답 길이와 SHA-256, 정규 stored-ZIP 형식, 모든 설치 파일, 닫힌 Topaz 제품 identity를 확인한 뒤에만 목적지를 공개합니다. 지원하지 않는 target은 네트워크에 연결하기 전에 거부합니다.

가져오기는 경로를 등록하거나 선택하지 않습니다. 제품을 명시적으로 사용하기로 이동해 /absolute/tools/lispex-topaz-vm/product를 직접 넘기세요.

AOT 제품을 만들 때는 compiler companion을 별도로 가져옵니다.

SH
lispex routes fetch \
  --route aot-compiler \
  --target aarch64-apple-darwin \
  --out /absolute/tools/lispex-aot-compiler

닫힌 제품에는 정확한 컴파일러와 공개 release manifest가 들어 있습니다. Rust 도구체인은 들어 있지 않습니다. aot build에는 설치한 컴파일러 실행 파일과 사용자가 고른 별도 Rust 도구 절대경로가 모두 필요합니다.

SH
lispex aot build \
  --source rule.lspx \
  --topaz-compiler /absolute/tools/lispex-aot-compiler/product/bin/topaz-bin \
  --rust-tool-bin /absolute/rust/bin \
  --out /absolute/products/rule-aot

인수인계 아카이브를 오프라인으로 설치하기

같은 provider 인수인계로 바뀌지 않는 로컬 파일 두 개를 받습니다.

  • 정규 lispex.route-catalog/v1 파일과 정확한 SHA-256
  • 정확한 경로와 target 항목이 가리키는 stored-ZIP 아카이브

카탈로그는 닫힌 허용 목록입니다. provider 제품·언어 모드·manifest digest·아카이브 digest와 길이·설치 파일 전체를 기록합니다. 리스펙스는 checkout, PATH, 패키지 레지스트리, 네트워크, 다른 카탈로그를 찾지 않습니다.

정확한 항목 하나 설치하기

아직 존재하지 않는 새 절대경로를 고르세요.

SH
lispex routes install \
  --route topaz-vm \
  --target aarch64-apple-darwin \
  --catalog /absolute/handoff/routes.json \
  --catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
  --archive /absolute/handoff/topaz-vm-aarch64-apple-darwin.zip \
  --out /absolute/tools/lispex-topaz-vm

예시 digest는 정확한 카탈로그와 함께 전달받은 값으로 바꾸세요. 이 명령은 로컬 파일만 읽습니다. 성공하면 표준 출력과 다음 파일에 같은 정규 영수증을 씁니다.

/absolute/tools/lispex-topaz-vm/
├── installation.json
└── product/

installation.json은 정규 lispex.route-installation/v1 영수증입니다. 안에 절대경로도 시간도 없습니다. 그래서 바이트를 그대로 둔 채 디렉터리를 옮겨도 identity가 유지됩니다. product/는 기존 정확 제품 검증기가 검사하는 닫힌 루트입니다.

승인된 AOT 컴파일러 아카이브는 --route를 바꿉니다.

SH
lispex routes install \
  --route aot-compiler \
  --target aarch64-apple-darwin \
  --catalog /absolute/handoff/routes.json \
  --catalog-sha256 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef \
  --archive /absolute/handoff/lispex-topaz-aot-compiler-aarch64-apple-darwin.zip \
  --out /absolute/tools/lispex-aot-compiler

설치 제품 검사와 AOT 빌드 검사를 모두 통과한 compiler cell은 macOS ARM64 하나뿐입니다. Linux, Windows, macOS Intel용 compiler cell은 제공하지 않습니다. AOT compiler companion에는 Rust, linker, SDK, 시스템 라이브러리가 들어 있지 않습니다. 리스펙스가 다른 target으로 대신 채워 주지도 않습니다.

제품을 명시적으로 사용하기

설치는 경로를 등록하거나 기본값을 바꾸지 않습니다. 닫힌 제품 루트를 다시 넘겨주세요.

SH
lispex routes inventory \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product

그다음 경로 없는 lock을 만들고 진단할 수 있습니다.

SH
lispex routes lock \
  --route topaz-vm \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product \
  --out topaz-route.json

lispex routes doctor \
  --selection topaz-route.json \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product

설치를 옮겼다면 새 절대 product/ 경로를 넘기세요. lock과 설치 영수증은 파일 시스템 경로를 기억하지 않습니다.

설치부터 이동 후 실행까지

AOT 제품을 만든 뒤 두 선택 경로를 함께 확인하고 각각 잠급니다.

SH
lispex routes inventory \
  --topaz-vm /absolute/tools/lispex-topaz-vm/product \
  --aot-product /absolute/products/rule-aot

lispex routes lock --route aot \
  --aot-product /absolute/products/rule-aot \
  --out aot-route.json

네 경로를 제한된 조건에서 한 번만 비교하려면 routes measure --samples 1을 쓰세요. 실행할 때는 고른 lock 하나만 지정합니다.

SH
lispex routes run \
  --selection aot-route.json \
  --aot-product /absolute/products/rule-aot \
  --input input.datum \
  rule.lspx

VM 설치나 완성된 AOT 제품을 옮겨도 됩니다. 새 절대 root를 routes doctorroutes run에 다시 전달하되 lock은 고치지 마세요. Doctor는 새 위치의 바이트를 다시 검사합니다. lock을 그대로 두어도 통과한다는 것은 선택 identity가 이전 경로에 기대지 않았다는 뜻입니다. 유지되는 이식 경로 전체 예제는 가져오기·빌드·목록·잠금·진단·제한 측정·잠금 실행·이동을 한 흐름으로 보여 줍니다.

허용하는 아카이브

리스펙스는 압축하지 않은 정규 stored-ZIP 한 가지 형태만 받습니다. 압축·Zip64·descriptor·암호화·시간값·extra·comment·디렉터리·중복 또는 정렬되지 않은 이름·경로 탈출·절대경로·역슬래시·심볼릭 링크·특수 파일· 제한 초과·digest 불일치를 모두 거부합니다. 비공개 형제 stage에 쓴 뒤 목적지가 여전히 존재하지 않을 때만 공개합니다.

종료 2는 명령 사용 오류, 1은 identity나 정규 계약 거부, 3은 로컬 I/O· 자원 제한·덮어쓰기 방지 실패입니다. 실패해도 다른 항목·target·버전·경로· 실행기로 재시도하지 않습니다.

보안 경계

유효한 카탈로그와 설치 영수증은 설치 바이트의 정확한 무결성을 확인합니다. provider 신뢰성, 프로그램 정당성, Rust와의 합의, 외부 행위 허가를 증명하지는 않습니다. 카탈로그·아카이브·영수증·manifest·실행 결과는 Vouch evidence나 결정 gate 입력이 될 수 없습니다. 정규 영수증의 automatic_fallback:false는 다른 경로로 재시도하라는 뜻이 아닙니다. 그 동작을 금지한 경계입니다.

다음으로

일반적인 기본 경로는 실행 표면 선택 안내에서 확인하세요. 고급 고정 실행 전 점검은 route doctor로 합니다.

실행 표면 선택하기 · 네이티브 CLI · Topaz AOT