핵심 모델 · V1 REVIEW

CONTRACT REVIEW · TEST_ONLY계약 구조와 고정 테스트 데이터만 검토 가능 · 운영 API·SDK·판단 권한 없음

검토 기록의 구성 요소와 관계

DecisionCase, 아홉 node kind와 방향이 제한된 edge가 어떻게 검토 가능한 판단 계보를 만드는지 설명합니다.

01

v1에서 사용하는 아홉 가지 node

  • SignalRef — opaque HARBINGER 참조
  • Option — 사람이 비교할 대안
  • Assumption — 드러낸 전제
  • EvidenceRequest — 열린 검증 질문
  • Task — 검토 작업 기록
  • Dissent — 사람의 반대 의견
  • Scenario — 시간 구간을 가진 검토 시나리오
  • Decision — 사람이 기록한 option 선택
  • ReviewTrigger — 재검토 조건
02

edge는 허용된 방향만 가집니다

INFORMS, SUPPORTS, CHALLENGES, RAISES, ASSIGNS, FULFILLS, DISSENTS_FROM, MODELS, SELECTS, TRIGGERS_REVIEW와 SUPERSEDES는 출발·도착 node kind가 제한됩니다. 알 수 없는 관계나 self-edge는 거부됩니다.

03

동일한 snapshot은 동일한 digest를 가져야 합니다

검토 후보는 `POLYA-CANONICAL-JSON-UTF8-SHA256-V1`로 직렬화와 digest를 고정합니다. unknown field, Unicode 정규화 위반, 순환 lineage 또는 잘못된 시간 범위는 fail closed 합니다.

검토 후보 import 표면js
import {
  assertDecisionGraphV1,
  digestDecisionGraphV1
} from "@polya/contract-ontology";

const graph = assertDecisionGraphV1(input);
const digest = digestDecisionGraphV1(graph);