규칙이 release를 반환했다고 주문이 풀린 건 아니에요.
이 주문 서비스는 호출자가 넘긴 규칙으로 주문을 내보낼지 검토로 보류할지 정해요. 호스트는 주문 금액과 본인 확인 결과 같은 입력을 명시적으로 넘겨요. 규칙은 고른 동작과 이유를 담은 결정 데이터를 반환해요. 호스트는 그 데이터를 살펴본 뒤 행동하는데, 그 사이에 모르는 동작을 거부할 수도 있고, 나중에 권한 검사를 한 번 더 할 수도 있고, 엉뚱한 주문을 갱신할 수도 있어요. 입력과 반환값을 기록해 두면 문제가 된 결정이 어디서 나왔는지는 찾을 수 있어요. 호스트가 실제로 무엇을 했는지는 호스트 쪽에서 관찰해야 해요.
평가기도 그만큼 중요해요. Lispex 1.21의 기본 소스 평가는 신뢰하는 코드를 같은 프로세스 안에서 실행해요. 신뢰하는 소스이고 실행 제한이 필요 없다면 괜찮은 선택이지만, 임의의 호출자 소스에 대한 자원 보장은 되지 못해요. native embed와 embed full은 import 없는 WASM과 새 인스턴스를 쓰는 별개의 제한 평가기라서, 자원에 관한 주장에는 평가기와 프로필을 함께 적어요. 준비와 평가는 각각 그 프로필 기준으로 계산해요. 평가에만 걸린 한도는 준비 작업에 대해 아무것도 말해 주지 않아요.
저는 평가기, 프로필, 입력, 결정을 한 기록으로 남기고, 관찰한 호스트 동작은 나중에 거기에 붙일 생각이에요.
