Lyotic · 기반 원칙

불변 조건

테마와 표현이 바뀌어도 지켜야 하는 의미 계약입니다. 자동 검사가 관찰하지 못하는 영역은 통과가 아니라 한계로 남깁니다.

스무 가지 규칙

INV-01사실의 표현은 근거가 지지하는 수준보다 강할 수 없습니다. 문장·glyph·색은 인식 상태의 범위 안에 있어야 합니다.

INV-02완료 표현과 초록색 체크는 정확히 그 범위의 Verification이 verified일 때만 사용합니다. 적용됨은 검증됨이 아닙니다.

INV-03렌더링한 제어는 현재 plan의 허용 행동 집합에 포함되어야 합니다. 실행 시 다시 확인하고 오래된 제어는 재검토로 이어집니다.

INV-04승인은 대상·수신자·금액·범위의 특정 버전에 묶입니다. 중요한 변경은 승인을 무효화하지만 무관한 변경까지 재승인을 요구하지 않습니다.

INV-05stop-requested와 halted를 구분합니다. 이미 접수되어 완료될 수 있는 원격 작업은 중지 상태와 함께 표시합니다.

INV-06부분 적용은 대상별로 표시합니다. 전체 성공이나 전체 실패로 축약하지 않습니다.

INV-07사람은 언제든 접을 수 있습니다. 접힌 상태에도 남은 판단과 미확정 결과가 보이며, 해결 요약은 검증을 통과해야 합니다.

INV-08시스템의 자동 확장은 사람의 판단 지점에서 영향에 비례해 요청합니다. 사람이 선택한 탐색은 언제나 별도의 경로로 허용됩니다.

INV-09백그라운드 변경은 편집 중 입력을 덮어쓰거나 포인터 아래의 행동을 바꾸지 않습니다. 의미가 바뀌면 입력을 보존하고 재검토를 알립니다.

INV-10역할·기기·snapshot은 일부를 생략할 수 있지만 모순되어서는 안 됩니다. 생략으로 사실이나 권한의 의미가 달라져서는 안 됩니다.

INV-11검증은 확인한 것, 보존한 것, 관찰하지 못한 범위를 보여줍니다. 관찰 불가능은 inconclusive이며 통과가 아닙니다.

INV-12verified는 시점과 전제에 묶입니다. 전제가 달라지면 다시 검토합니다. 과거 결과는 남지만 현재 상태까지 보증하지 않습니다.

INV-13에이전트가 작성한 문장으로 검증·권한·성공을 선언하지 않습니다. 계약 필드에서 확인한 값만 표시합니다.

INV-14테마·모델·레이아웃·밀도 변경으로 허용 행동과 상태의 의미가 바뀌지 않습니다.

INV-15대상 간 관계는 alias, packaging, shared-component, inventory-pool, distinct처럼 유형을 명시합니다. 막연한 같음으로 합치지 않습니다.

INV-16색만으로 상태를 전달하지 않습니다. 각 상태에는 glyph와 label이 있으며 모핑 전후에 포커스와 읽기 순서가 유지됩니다.

INV-17설정 rollback은 외부 효과의 보상이 아닙니다. 복구 화면에서 두 경로와 범위를 구분합니다.

INV-18새 담당자의 기준 기록은 Handoff Packet입니다. 채팅 요약은 그 기록을 대체하지 않습니다.

INV-19필드 의미가 다른 수치를 같은 수량으로 비교하지 않습니다. 각 필드의 의미를 표현에 명시합니다.

INV-20설득력 있는 설명은 표시되는 근거의 강도를 높이지 않습니다.

검사 방법

checkPlan(state, plan)은 plan의 의미를, checkDom(root, plan)은 실제 렌더링한 제어·상태·필수 공개 내용을 확인합니다. 결과의 violations와 limits를 함께 읽습니다. Lexical 검사가 모든 문장의 의미를 이해하거나 사람의 판단 정확성을 증명하지는 않습니다.

컴포넌트 검사와 사람 대상 평가 사이에도 구분이 있다. 스키마 검사는 필수 필드와 타입을 확인할 수 있다. 의미 검사는 해당 상태에서 완료 표시나 실행 제어가 허용되는지 확인한다. 시간에 따른 검사는 승인 이후 변경, 늦은 응답, 중지, 재접속 과정에서 계약이 유지되는지 본다. 사람 대상 평가는 그 표현을 사용자가 실제로 이해하고 적절히 개입하는지를 확인한다. 앞의 검사를 통과했다고 뒤의 효과까지 자동으로 성립하지 않는다.

const { violations, limits } = checkDom(host, plan);
// violations: [{ id: 'INV-03', message: 'Operable control "approve:p-mapping" is not in the plan.' }]
// limits:     ['Completion words are checked lexically with negation; the meaning of prose is not.']