ariadne/contracts/README.md
2026-07-24 05:45:04 +09:00

1.6 KiB

외부 계약

이 디렉터리는 Ariadne 외부 시스템이 소비하는 버전 계약을 둔다.

  • error-event: 외부 시스템이 전송하는 표준 오류 사건
  • iop-execution: Ariadne가 IOP에 요청하는 분석·수정 작업과 결과 이벤트
  • execution-failure: 분석·수정 과정에서 발생한 표준 실패와 원인 스택

조직과 프로젝트 식별자는 오류 사건 본문에 넣지 않는다. 입력 자격 증명은 하나의 ingestion_source에 귀속되며, 해당 입력 출처가 조직과 프로젝트 범위를 결정한다. 사건의 event_id는 입력 출처 안에서 멱등성 식별자로 사용한다.

IOP 요청에는 비밀값을 넣지 않는다. 저장소 작업 공간과 운영 환경 접속 정보는 권한이 제한된 불투명 참조로 전달하며, 운영 환경 접근은 항상 읽기 전용이고 IOP가 직접 병합할 수 없다.

분석 결과가 수정 가능하면 IOP는 수정안 해시를 반환한다. 실제 수정 요청은 사용자가 승인했거나 자동 수정 정책이 허용한 바로 그 해시를 반드시 포함하므로, 분석 뒤 내용이 바뀐 수정안을 이전 승인으로 실행할 수 없다.

실패 원인 배열은 가장 직접적인 처리 실패부터 최초 원인 방향으로 기록한다. 예를 들어 반복 출력 복구 중 번역 호출이 실패했다면 최상위 실패 아래에 번역 실패와 반복 출력 감지 원인을 순서대로 남긴다.

계약은 구현 코드보다 독립적으로 버전을 부여하며, 기존 버전의 의미를 호환되지 않게 변경하지 않는다.