Core IR 만들고 검사하기

네이티브 CLI로 정확한 리스펙스 소스를 정규화된 resolved Core IR로 만들고, 실행하지 않은 채 검증하고 살펴봅니다.

실행하지 않고 만들기

refund-window.lspx 같은 소스 파일에서 시작합니다.

SH
lispex core-ir build \
  --source refund-window.lspx \
  --out refund-window.lpxir

이 명령은 정확한 소스를 읽고 정규화한 뒤 이름을 셀에 연결하고, 꼬리 호출과 클로저 캡처를 기록해 정규 lispex.core-ir/v1 바이트를 씁니다. 규칙을 평가하지는 않습니다. JSON 보고서에는 소스 해시, Core IR 해시, primitive registry 해시, 의미 프로필, 제한된 개수 정보가 들어갑니다.

출력 경로는 새 파일이어야 하며 기존 아티팩트를 덮어쓰지 않습니다. 파이프에서 -는 표준입력이나 표준출력을 뜻합니다.

SH
cat refund-window.lspx |
  lispex core-ir build --source - --out - >refund-window.lpxir

--out -을 쓰면 stdout에는 정규 아티팩트 바이트만 나옵니다. 진단은 stderr에 남습니다.

보관하거나 비교하기 전에 검증하기

SH
lispex core-ir validate --ir refund-window.lpxir

검증은 바이트 상한, JSON 구조, 고정된 schema/profile/registry 식별자, 소스 위치, 해석된 참조, 캡처, 꼬리 위치, 정규 datum 텍스트, 순서, 정확한 재인코딩을 확인합니다. 의미가 없어 보이는 공백이나 필드 순서 변경도 거부합니다. 같은 의미 아티팩트에 허용되는 바이트 표현은 하나뿐이기 때문입니다.

해석된 의미 살펴보기

SH
lispex core-ir inspect --ir refund-window.lpxir

검사 보고서에는 다음이 들어갑니다.

  • 정확한 입력 소스 바이트의 source_sha256
  • 전체 정규 아티팩트의 core_ir_sha256
  • global, requirement, root, node, binding, function 개수
  • 해석된 global 셀과 초기 primitive 식별자
  • 명시적으로 필요한 호스트 입력
  • 소스 위치를 포함한 읽기 쉬운 normalized Core root

보고서에는 execution: "not-run"authority: "integrity-only"가 명시됩니다. 검토와 결정적 비교에는 유용하지만, 보고서 자체는 원본 아티팩트가 아니며 실행할 수도 없습니다.

검증된 바이트코드로 이어가기

Core IR 자체는 계속 실행물이 아닙니다. 네이티브 컴파일 실행 경로가 필요하면 엄격히 검증된 아티팩트를 바이트코드로 내리세요.

SH
lispex bytecode build \
  --ir refund-window.lpxir \
  --out refund-window.lpxbc
lispex bytecode validate --bytecode refund-window.lpxbc

별도 lispex.bytecode/v1 아티팩트는 자체 바이너리 식별자, verifier, 자원 모델, Rust VM을 가집니다. Core IR inspection 보고서를 실행 입력으로 바꾸는 기능이 아닙니다.

Core IR과 Meaning Graph는 다릅니다

lispex lower는 계속 검사 부분집합용 csk.meaning-graph/v0 그래프를 만듭니다. eval-graphdiff-receipt가 필요한 흐름에서는 그대로 사용하세요. core-ir 명령군은 현재 프로필 전체를 다루고 해석된 셀, 캡처, 꼬리 위치를 기록하지만 기존 Meaning Graph 영수증을 바꾸거나 몰래 이전시키지 않습니다.

실행 표면 고르기

Core IR과 바이트코드 명령은 네이티브 제품에서 제공합니다. npm, 공개 WASM, 플레이그라운드는 Core IR·바이트코드 바이트나 JavaScript reader, VM을 제공하지 않습니다. 그 표면에서는 문서에 적힌 소스·이미지·바우치 기능만 사용하세요.

흔한 오해

해시가 맞거나 아티팩트가 유효하다는 것은 무결성과 정규 구조만 뜻합니다. 누가 소스를 만들었는지, 규칙을 신뢰해도 되는지, 어떤 요청을 의도했는지, 결정을 실제로 실행했는지는 증명하지 않습니다. Core IR은 바우치 봉투 발행, 신뢰 정책 충족, 소스·입력 결속, 요청 재실행, gate 결정을 할 수 없습니다.

다음으로

정확한 형식은 계약 레퍼런스에서, 자동화와 종료값 경계는 CLI 레퍼런스에서 확인하세요.

검증된 바이트코드 실행하기 · Core IR 계약 · 네이티브 CLI