GNX AAL Official License Distribution Document
API Contract & Execution Boundary
AAL API를 실행권한 발급, 검증, 소비, 감사의 계약 경계로 정의하는 공식 기술 문서입니다.
Contract map
| API | 계약상 의미 | 실패 시 기대상태 |
|---|---|---|
| /decide | 요청을 목적 결속형 실행 객체 발생 요청으로 정규화하고 born, shadow, non_birth를 결정한다. | non_birth에서는 object_token과 executable handle이 생성되지 않는다. |
| /verify | 발급된 객체가 후단 실행 가능한 상태인지 확인한다. | non_birth audit reference는 non_executable이어야 한다. |
| /consume | 발급된 객체를 단일 소비 트랜잭션으로 예약·확정한다. | replay, already_consumed, nonce mismatch는 신규 실행을 허용하지 않는다. |
| /audit | 의사결정·발급·검증·소비 이벤트의 해시 연결 증거를 조회한다. | 감사 필수 경로 실패 시 신규 발급은 fail-closed되어야 한다. |
Non-executable identifiers
audit_trace_id, request_fingerprint, idempotency_key는 추적·감사·멱등성 판단 자료일 뿐 실행권한이 아니다. 이 값들이 후단 API에서 object_token처럼 받아들여지면 AAL 계약 위반이다.
Minimal response principle
decision.evaluated ├─ non_birth → non_birth_events + audit only + no executable object └─ born/shadow → issued_objects + token + verification_ref + verify/consume path