결정 규칙 작성하기

검토한 환불 규칙에 엄격한 JSON을 넣어 실행하고, 정확한 결정 기록을 남긴 뒤 그 기록이 무엇을 확인하고 무엇을 보장하지 않는지 배웁니다.

이 페이지는 v1.14을 설명합니다. 현재 매뉴얼인지 여부는 여기에서 확인하세요: /version.json

결정 하나, 확인 가능한 기록 하나

환불 규칙을 실행하고, 무엇을 확인했는지 남기세요.

검토한 규칙과 엄격한 JSON 입력으로 로컬에서 한정된 결정을 내립니다. 결과 디렉터리에는 준비된 규칙, 정규 입력, 결과, 발급 가능한 portable core가 함께 남습니다.

  1. 01검토한 규칙
  2. 02엄격한 JSON 입력
  3. 03결정: allow
  4. 04확인 가능한 core

1. 규칙

LISPEX
(let ((days (cdr (car input)))
      (opened (cdr (car (cdr input)))))
  (if (< days 15)
      (if opened "deny" "allow")
      "deny"))

2. 입력

JSON
{
  "days": 14,
  "opened": false
}

3. 로컬 실행

SHELL
lispex rule run \
  --source refund-window.lspx \
  --input day-14-unopened.json \
  --prepare-limits prepare-limits.json \
  --eval-limits evaluation-limits.json \
  --out decision

lispex rule inspect --dir decision
lispex rule verify --dir decision
lispex rule replay --dir decision
4. 결정

배송 후 14일, 미개봉 주문의 결과는 allow.

5. 기록 확인

실행 없이 살펴보고, 정확한 바이트를 검증하거나, 새 평가기 인스턴스에서 한 번 재실행할 수 있습니다.

core가 결속하는 것

의미 규칙, 정규 입력, 정확한 한도, 평가기 아티팩트, 결정적 결과입니다.

core가 부여하지 않는 것

발급자 신원, 신선도, 정책의 정당성, 재사용 방지, 외부 행위 권한입니다.

장치보다 결정을 먼저 읽어 보세요

규칙이 묻는 것은 두 가지뿐입니다. 배송 후 며칠이 지났는지, 상품을 개봉했는지입니다. 파일을 찾거나, 네트워크를 호출하거나, 시계를 읽거나, 숨겨진 호스트 함수를 부르지 않습니다.

입력결정이유
14일, 미개봉allow아직 환불 기간 안입니다
15일, 미개봉deny환불 기간을 벗어났습니다
14일, 개봉deny개봉한 상품은 허용하지 않습니다

allowdeny를 실제 업무에서 어떻게 처리할지는 애플리케이션의 책임입니다. 리스펙스는 데이터를 반환할 뿐, 환불을 직접 실행하지 않습니다.

명령을 네 개로 나눈 이유

명령하는 일
rule run규칙을 준비하고 엄격한 JSON을 정확한 한도 아래 평가한 뒤, 다섯 파일로 된 결정 디렉터리를 한 번에 기록합니다
rule inspect실행하지 않고 디렉터리의 내용을 읽어 요약합니다
rule verify실행하지 않고 파일 집합, identity, hash, 결속 관계를 검증합니다
rule replay기록된 요청을 새 평가기 인스턴스에서 한 번 실행하고 같은 결과인지 확인합니다

디렉터리에는 준비된 아티팩트, 정규 입력, 정확한 요청이 결속된 결정적 결과, 발급 가능한 portable core, 파생된 비권위적 요약이 들어갑니다. 원본 규칙 소스는 들어가지 않습니다. 기존 출력은 덮어쓰지 않으며, 잘못된 입력, 변조된 파일, 여분 파일, 심볼릭 링크는 거부합니다.

영수증과 Vouch는 서로 다른 흐름입니다

portable core는 의미 규칙, 정규 입력, 한도, 정확한 평가기 아티팩트, 결정적 결과를 하나로 묶습니다. 무엇을 평가했는지 확인하기에는 충분합니다.

하지만 누가 규칙을 제공했는지, 요청이 최신인지, 정책이 공정한지, 재사용을 막았는지, 외부 행동을 허가하는지는 증명하지 않습니다. Vouch는 별도의 인증 및 요청 결속 흐름입니다. Vouch evidence도 스스로 외부 행동 권한으로 승격되지는 않습니다.

이 명령을 쓸 수 있는 제품

rule 흐름은 Native 제품이 제공합니다. npm, 공개 WASM, 브라우저, 플레이그라운드는 각자 지원하는 다른 표면을 가르치거나 실행하지만 이 Native 명령은 제공하지 않습니다.

다음으로

첫 결정 규칙에서 규칙을 차근차근 만들거나, 제한 평가기 계약에서 동결된 계약을 확인하세요.