> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 버전 개요

> 에이전트 설정을 코드처럼 다룹니다. 얼려 두고, 감사할 수 있고, 즉시 되돌립니다

배포된 Flow는 모두 **버전** 입니다. 버전은 바뀌지 않습니다. 출시되면 그대로 얼어붙습니다. Nora가 "프로덕션" 에서 지금 라이브인 버전을 가리키는 포인터를 관리합니다.

버전이 위험을 다룰 만하게 만들어 줍니다. 롤백이 즉시라 자신 있게 배포할 수 있고, 배포마다 고정된 정체성이 있어 또렷이 감사할 수 있으며, 버전 둘을 정확히 diff 해 견줄 수 있습니다.

<Frame>
  <img src="https://mintcdn.com/conscience-technology/Jo24V8Wx9hATIxJq/images/docs/versions-detail.png?fit=max&auto=format&n=Jo24V8Wx9hATIxJq&q=85&s=f51764c67a0bd904008a74477f510d60" alt="배포 스냅샷 하나를 연 화면 — LIVE 배지, 작성자와 생성 시각, 릴리즈 노트, 그때의 Flow 미리보기, 지난 배포 대비 변경 사항이 보인다" width="1124" height="1352" data-path="images/docs/versions-detail.png" />
</Frame>

## 버전에 담기는 것

버전은 이런 걸 담습니다.

* Flow의 **모든 블록**.
* 그 사이 **모든 와이어**.
* **모든 설정**(제한, 승인, 보존).
* **붙은 모든 프리셋**(리트리벌, 메모리, 인과 그래프).
* **붙은 모든 데이터 소스**. 특정 컬렉션 버전에 고정됩니다.
* 배포할 때 적은 **릴리스 노트**.

배포한 뒤에는 버전을 아무것도 못 바꿉니다. 롤백은 "current" 포인터를 옮길 뿐, 버전 자체를 건드리지 않습니다.

## 버전이 중요한 곳

<CardGroup cols={2}>
  <Card title="버전 배포" icon="rocket" href="/ko/reliable/versions/publish">
    Draft를 새 버전으로 출시합니다.
  </Card>

  <Card title="롤백" icon="rotate-left" href="/ko/reliable/versions/rollback">
    프로덕션을 이전 버전으로 가리킵니다.
  </Card>

  <Card title="버전 diff" icon="code-compare" href="/ko/reliable/versions/diff">
    정확히 무엇이 바뀌었는지 봅니다.
  </Card>

  <Card title="Draft" icon="pen" href="/ko/reliable/versions/drafts">
    프로덕션을 건드리지 않고 안전하게 고칩니다.
  </Card>

  <Card title="감사 트레일" icon="clipboard-list" href="/ko/reliable/versions/audit">
    모든 배포, 롤백, 복원.
  </Card>
</CardGroup>

## 버전 번호

버전 번호는 Flow마다 v1에서 시작합니다. 번호는 한 방향으로만 올라갑니다. 즉 출시된 순서를 말해 줄 뿐, 라이브인 버전이 반드시 최신 번호는 아닙니다.

**콘텐츠 해시**도 보입니다. 버전 내용에서 뽑은 짧은 ID 죠. 내용이 같은 두 버전은 해시를 공유합니다(드물지만 롤백했다가 다시 롤 포워드한 뒤에 생길 수 있습니다).

## 버전의 한살이

```
Draft → 배포 → 버전(불변)
                 ↓
             라이브?(버전 포인터를 거쳐)
                 ↓
             나중 배포로 밀려남
                 ↓
             유예 기간 동안 버전 ID로 접근 가능
                 ↓
             몇 달 뒤 보관(조회는 되지만 실행은 안 됨)
```

보존은 설정할 수 있습니다. 밀려난 뒤 버전을 얼마나 오래 실행할 수 있게 둘지 정합니다. 기본은 최근 10개는 기한 없이, 오래된 건 1년, 그 뒤 보관입니다.

## 배포 포인터

Flow는 언제나 **배포 포인터** 하나를 갖습니다. 프로덕션 트래픽을 받는 버전을 가리키죠. 배포하면 포인터가 앞으로 가고, 롤백하면 뒤로 갑니다.

실행되는 건 포인터입니다. 버전 자체는 저장고고요.

## 포인터가 여럿일 때(canary)

Canary 롤아웃에서는 포인터 둘이 한꺼번에 살아 있을 수 있습니다.

* **Primary** 트래픽 대부분을 처리하는 버전.
* **Canary** 트래픽 일부를 처리하는 버전.

둘 다 고정된 버전입니다. 트래픽을 어떻게 나눌지는 Flow 수준에서 정합니다.
