# 외부 계약 이 디렉터리는 Ariadne 외부 시스템이 소비하는 버전 계약을 둔다. - `error-event`: 외부 시스템이 전송하는 표준 오류 사건 - `iop-execution`: Ariadne가 IOP에 요청하는 분석·수정 작업과 결과 이벤트 - `execution-failure`: 분석·수정 과정에서 발생한 표준 실패와 원인 스택 조직과 프로젝트 식별자는 오류 사건 본문에 넣지 않는다. 입력 자격 증명은 하나의 `ingestion_source`에 귀속되며, 해당 입력 출처가 조직과 프로젝트 범위를 결정한다. 사건의 `event_id`는 입력 출처 안에서 멱등성 식별자로 사용한다. IOP 요청에는 비밀값을 넣지 않는다. 저장소 작업 공간과 운영 환경 접속 정보는 권한이 제한된 불투명 참조로 전달하며, 운영 환경 접근은 항상 읽기 전용이고 IOP가 직접 병합할 수 없다. 분석 결과가 수정 가능하면 IOP는 수정안 해시를 반환한다. 실제 수정 요청은 사용자가 승인했거나 자동 수정 정책이 허용한 바로 그 해시를 반드시 포함하므로, 분석 뒤 내용이 바뀐 수정안을 이전 승인으로 실행할 수 없다. 실패 원인 배열은 가장 직접적인 처리 실패부터 최초 원인 방향으로 기록한다. 예를 들어 반복 출력 복구 중 번역 호출이 실패했다면 최상위 실패 아래에 번역 실패와 반복 출력 감지 원인을 순서대로 남긴다. 계약은 구현 코드보다 독립적으로 버전을 부여하며, 기존 버전의 의미를 호환되지 않게 변경하지 않는다.