> For the complete documentation index, see [llms.txt](https://genos-docs.gitbook.io/default/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://genos-docs.gitbook.io/default/v1.9.2/admin-management/settings/resource/resource-revision.md).

# 리소스 리비전 관리

## 개요

평가지표(Metric)와 전처리기(Preprocessor) 리소스에 **리비전(버전 관리)** 개념이 적용되었습니다. 리소스의 코드나 설정을 수정할 때마다 이전 정의가 이력으로 보존되고, 카탈로그에 게시할 때는 **특정 리비전을 고정(동결)** 하여 등록 이후 원본이 변경되어도 게시 시점의 스냅샷이 그대로 유지됩니다.

관리자 화면에서 사용하며, 진입 경로는 다음과 같습니다.

* **평가지표**: 평가 > 평가지표 > 상세의 `리비전 이력` 탭 / 카탈로그 > 평가지표
* **전처리기**: 문서 전처리 > 전처리기 > 상세의 `리비전 이력` 탭 / 카탈로그 > 전처리기

<figure><img src="/files/MqEXQQFJtR2CTHYJZDs7" alt=""><figcaption><p>평가지표 상세 기본 정보 탭 — 데이터셋·데이터셋 리비전·코드</p></figcaption></figure>

## 주요 개념

| 개념            | 설명                                                                                 |
| ------------- | ---------------------------------------------------------------------------------- |
| 리비전(Revision) | 리소스의 특정 시점 정의를 담은 **변경 불가능한 스냅샷**입니다. 한번 생성된 리비전은 수정되지 않으며, 변경이 발생하면 새 리비전이 추가됩니다. |
| 최신 리비전        | 한 리소스에 속한 리비전 중 가장 나중에 생성된 리비전입니다. 목록과 상세 화면은 기본적으로 최신 리비전을 기준으로 표시됩니다.            |
| 고정(동결) 리비전    | 카탈로그에 게시할 때 선택하여 고정해 두는 리비전입니다. 등록 이후 원본이 수정되어도 카탈로그의 표시와 복제는 이 리비전을 기준으로 동작합니다.   |
| 작업본(Draft)    | 전처리기 리소스 파일의 현재 편집 상태입니다. 업로드와 삭제가 즉시 반영되며, 리비전이 확정되는 시점에 스냅샷으로 복사됩니다.             |
| 스냅샷           | 리비전 생성 시 작업본을 리비전 전용 영역으로 복사해 둔 읽기 전용 사본입니다.                                       |
| 리비전 이력 탭      | 리소스 상세 화면에서 리비전 이력을 조회하고 각 리비전의 코드와 설정을 열람하는 탭입니다.                                 |

## 리비전 공통 동작

두 리소스 모두 원본(메타 정보)과 리비전(실제 정의)을 분리해 관리합니다.

* **원본**은 이름·설명·타입 등 메타 정보만 유지하고, **리비전**이 실제 정의(코드·데이터셋·파라미터 등)를 버전별로 보관합니다.
* 목록과 상세 조회는 **최신 리비전**의 코드·설정을 가져와 표시합니다.
* 카탈로그는 게시 시점에 선택한 **고정 리비전**을 기준으로 표시하고 복제합니다. 리비전 고정 기능이 적용되기 이전에 등록된 카탈로그는 고정 리비전 정보가 없어 최신 리비전으로 대체 표시됩니다.

## 평가지표 리비전

### 리비전 생성 시점

평가지표는 수정 시 기존 정의를 덮어쓰지 않고 새 리비전을 생성하는 방식으로 동작합니다.

| 변경 항목           | 동작                                  |
| --------------- | ----------------------------------- |
| 이름 / 설명         | 원본 메타 정보만 갱신되며, **리비전은 생성되지 않습니다.** |
| 평가 코드 / 데이터셋 버전 | 기존 정의를 덮어쓰지 않고 **새 리비전이 생성됩니다.**    |

평가지표 타입(LLM / 워크플로우)은 생성 시 고정되며 이후 변경할 수 없습니다.

평가 실행 결과에는 해당 실행이 사용한 리비전이 함께 기록됩니다. 따라서 코드를 수정해 새 리비전이 생성되더라도 **과거 평가결과는 무효화되지 않고 이전 리비전을 가리킨 채 그대로 유효**합니다.

리더보드에서 실행하는 평가도 실행 시점의 **최신 리비전**에 담긴 평가 코드와 데이터셋 버전을 사용하며, 실행 결과에 사용된 리비전이 함께 남습니다.

### 리비전 이력 탭

평가지표 상세(LLM · 워크플로우) 화면에 `리비전 이력` 탭이 추가되었습니다. 기존 `기본 정보` 탭은 그대로 유지됩니다. 상세 화면 상단의 버튼은 카탈로그 등록 상태에 따라 달라지며, 미등록 지표에는 `카탈로그 등록`·`테스트`·`삭제`가, 이미 게시된 지표에는 `카탈로그 이동`·`해제 신청`·`테스트`가 표시됩니다.

<figure><img src="/files/hHE1XceWHDBaYb7alkm6" alt=""><figcaption><p>평가지표 상세 리비전 이력 목록</p></figcaption></figure>

* **목록 컬럼**: ID · 제작자 · 등록일시 · 보기
* **검색**: 우측 상단의 검색 기준 드롭다운에서 ID 또는 제작자를 선택한 뒤 검색어를 입력합니다. 페이징을 지원합니다.
* **보기**: 돋보기 아이콘을 클릭하면 `평가지표 리비전 상세` 창이 열리며, 해당 리비전의 데이터셋·데이터셋 리비전과 평가 코드를 읽기 전용으로 확인할 수 있습니다.

<figure><img src="/files/roiWKvC71v5cjWU71Csx" alt=""><figcaption><p>평가지표 리비전 상세 보기 창</p></figcaption></figure>

`기본 정보` 탭에서는 데이터셋과 데이터셋 리비전(예: `REV000002`), 코드가 최신 리비전 기준으로 표시되며, 해당 지표가 리더보드에서 사용 중이 아닐 때만 수정할 수 있습니다.

### 카탈로그 등록 및 사용하기(복제)

평가지표 카탈로그도 프롬프트·워크플로우 카탈로그와 동일하게 **리비전 선택·고정** 기능과 **기존 지표에 추가** 모드를 제공합니다.

* **등록**: 평가지표 상세에서 카탈로그 등록 창을 열고 게시할 리비전을 선택합니다. 선택한 리비전이 카탈로그의 고정 리비전이 됩니다.
* **사용하기 — 새 평가지표로 복제**: 카탈로그의 고정 리비전을 복사해 새 평가지표를 생성합니다. 고정 리비전 정보가 없는 기존 카탈로그는 최신 리비전을 기준으로 복제됩니다.
* **사용하기 — 기존 평가지표에 추가**: 이미 보유한 평가지표에 카탈로그의 리비전을 새 리비전으로 추가합니다. 승인된 카탈로그인지와 평가지표 타입이 일치하는지 확인한 뒤 고정 리비전을 복사하며, 복제 이력이 함께 기록됩니다. 대상 평가지표 선택 목록에는 **쓰기 권한이 있는 지표만** 표시됩니다.

<figure><img src="/files/CJC5iSdKV6pU0wrVfHDb" alt=""><figcaption><p>평가지표 카탈로그 탐색 화면 — 게시 정보와 평가지표 설정값</p></figcaption></figure>

### 고정 리비전 표기

카탈로그 상세와 탐색 카드에는 어떤 리비전이 게시되었는지 확인할 수 있도록 **카탈로그 게시 버전**(리비전 ID) 표기가 제공됩니다. 프롬프트 카탈로그의 게시 버전 표기 방식과 동일합니다.

카탈로그 목록과 상세에 표시되는 코드·데이터셋도 최신 리비전이 아닌 **고정 리비전 스냅샷**을 기준으로 조회되므로, 화면에 보이는 코드와 실제 복제 결과가 일치합니다.

## 전처리기 리비전

전처리기 화면의 전반적인 사용 방법은 [전처리기 관리](/default/v1.9.2/admin-management/settings/resource/preprocessor.md) 문서를 참고하시기 바랍니다. 이 절에서는 리비전 개념과 조회 방법을 중심으로 설명합니다.

### 적용 대상

전처리기 리비전은 **전처리기 패키지 타입에만** 적용됩니다. **CODE\_SERVING 백엔드 전처리기는 리비전 생성 대상이 아니며**, 리소스 목록 탭과 마찬가지로 리비전 이력 탭도 표시되지 않습니다.

### 스냅샷 대상

전처리기 리비전은 다음 항목의 변경 불가능한 스냅샷입니다.

* 확장자 · 코드 · 파라미터 · 환경변수
* GPU 종류 · GPU 할당량 · 멀티노드 사용 여부
* 리소스 파일 목록

리소스 파일은 **작업본과 스냅샷**으로 나누어 관리됩니다. 작업본은 업로드·삭제가 즉시 반영되는 현재 편집 상태이고, 리비전 스냅샷은 리비전 생성 시 작업본 전체를 복사해 둔 읽기 전용 사본입니다.

> 스냅샷은 이동이 아니라 복사이므로, 저장 공간 사용량은 리비전 수에 비례해 증가합니다.

### 리비전 생성 시점

리비전은 파일 조작 1건마다 생성되지 않고, **변경 사항을 모아 적용하는 시점에 1개**가 생성됩니다. 생성 시점은 두 가지입니다.

1. **정보 수정 저장**: 확장자·코드·파라미터·환경변수·GPU 종류·GPU 할당량·멀티노드 사용 여부 중 변경된 항목이 있으면, 저장 시 새 리비전과 작업본 리소스 스냅샷이 함께 생성됩니다.
2. **리소스 변경 적용**: 리소스 파일을 업로드하거나 삭제한 뒤 **업로드 창을 닫는 시점**에 현재 정보와 작업본 리소스가 새 리비전으로 확정됩니다. 작업본이 최신 리비전과 동일하면 새 리비전을 생성하지 않습니다.

전처리기를 생성하면 첫 번째 리비전이 자동으로 만들어지며, 배포를 시작하면 배포 이력에 사용된 리비전이 함께 기록됩니다.

### 리비전 이력 탭

전처리기 상세에 `리비전 이력` 탭이 추가되었습니다. 전처리기 상세 탭은 `기본 정보 · 리비전 이력 · 배포 이력 · 컨테이너 상태 · 리소스 목록`으로 구성되며, CODE\_SERVING 전처리기에서는 리비전 이력 탭과 리소스 목록 탭이 표시되지 않습니다.

<figure><img src="/files/00MFPOGrFA5FTT1P7g3s" alt=""><figcaption><p>전처리기 상세 리비전 이력 목록</p></figcaption></figure>

* **목록 컬럼**: ID · 확장자 · 제작자 · 등록일시 (우측 상단에서 ID로 검색할 수 있으며 페이징을 지원합니다.)
* 리비전 상세에는 해당 리비전의 리소스 목록이 함께 표시되며, 리비전별 리소스를 조회하고 다운로드할 수 있습니다. 리비전은 변경할 수 없으므로 업로드와 삭제는 작업본에서만 가능합니다.

### 상세 진입 시 미확정 리소스 자동 확정

리소스를 업로드한 뒤 업로드 창을 닫지 않고 브라우저를 종료하면 리비전 확정이 유실되어 작업본과 최신 리비전 스냅샷이 어긋날 수 있습니다. 이를 방지하기 위해 **전처리기 상세 화면에 진입할 때 리비전 확정이 1회 자동으로 실행**됩니다.

* CODE\_SERVING 전처리기가 아니고, 해당 전처리기에 대한 수정 권한이 있을 때만 동작합니다.
* 변경 사항이 없으면 리비전은 생성되지 않습니다.
* 자동 확정이 실패해도 상세 화면 진입은 정상적으로 진행되며, 다음 진입 시 다시 시도됩니다.

### 카탈로그 등록 및 고정 리비전

전처리기 카탈로그도 평가지표와 동일하게 **등록 시 리비전을 선택해 고정**하고, 사용하기(복제) 시 고정 리비전을 기준으로 복제합니다.

* **등록**: 전처리기 상세에서 카탈로그 등록 창을 열고 게시할 리비전을 선택하면, 해당 리비전이 카탈로그의 고정 리비전으로 지정됩니다.
* **사용하기(복제)**: 고정 리비전 스냅샷을 기준으로 복제하며, 해당 리비전의 리소스 파일도 함께 복사됩니다.
* 리비전은 변경되지 않으므로 카탈로그가 참조하는 리비전은 자동으로 보존됩니다.

전처리기 카탈로그 상세의 `기본 정보` 탭에는 카탈로그 게시일 오른쪽에 **카탈로그 게시버전**(리비전 ID)이 표시되어 어떤 리비전이 게시되었는지 확인할 수 있습니다. 카탈로그 목록과 상세의 코드·설정도 전처리기의 최신 상태가 아닌 **고정 리비전 스냅샷** 기준으로 조회되므로, 표시된 코드와 복제 결과가 일치합니다.

## 예외 상황과 대처 방법

| 상황                        | 동작 및 대처                                                       |
| ------------------------- | ------------------------------------------------------------- |
| CODE\_SERVING 전처리기        | 리비전 이력 탭과 리소스 목록 탭이 표시되지 않으며, 리비전 생성 대상이 아닙니다.                |
| 리소스를 변경했는데 새 리비전이 생성되지 않음 | 작업본이 최신 리비전과 동일한 경우에는 리비전이 생성되지 않습니다. 실제 변경 내용이 있는지 확인해 주십시오. |
| 상세 진입 시 자동 확정이 동작하지 않음    | 상세 화면 진입은 차단되지 않으며, 다음 진입 시 다시 시도됩니다. 반복될 경우 수정 권한을 확인해 주십시오. |
| 카탈로그에 게시 버전이 표시되지 않음      | 리비전 고정 기능 적용 이전에 등록된 카탈로그로, 최신 리비전을 기준으로 표시됩니다.               |

## 사용자 시나리오

### 평가지표 코드를 수정한 경우

평가지표의 평가 코드를 수정하고 저장하면 새 리비전이 추가됩니다. 이전 리비전은 `리비전 이력` 탭에 그대로 남아 `보기`로 코드를 열람할 수 있으며, 그 리비전으로 산출된 과거 평가결과도 무효화되지 않고 유지됩니다.

### 카탈로그에 게시한 뒤 원본을 수정한 경우

특정 리비전을 선택해 평가지표(또는 전처리기)를 카탈로그에 게시한 뒤 원본을 수정해 새 리비전이 생기더라도, 카탈로그 상세와 탐색 카드는 게시 당시 고정한 리비전의 코드를 계속 표시합니다. 카탈로그 `사용하기(복제)` 결과도 이 고정 리비전과 동일합니다. 상세 화면의 **카탈로그 게시 버전**(리비전 ID)에서 어떤 버전이 고정되었는지 확인할 수 있습니다.

### 전처리기 리소스를 올린 뒤 창을 닫지 않고 이탈한 경우

리소스를 업로드한 뒤 업로드 창을 닫지 않고 브라우저를 종료해 리비전 확정이 유실되더라도, 다음에 해당 전처리기 상세 화면으로 진입하면 자동 확정이 실행되어 작업본의 변경 내용이 리비전 이력에 반영됩니다. (수정 권한이 있고 CODE\_SERVING 전처리기가 아닌 경우에 한합니다.)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://genos-docs.gitbook.io/default/v1.9.2/admin-management/settings/resource/resource-revision.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
