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

# 롤백

> 프로덕션 트래픽을 이전 버전으로 되돌림 — 즉시, 원자적, 안전.

롤백이 배포된 포인터를 뒤로 이동. 새 실행이 옛 버전 사용; 진행 중 실행은 시작한 것에서 완료.

롤백은:

* **즉시** — 재배포가 아닌 포인터 업데이트. 초.
* **원자적** — 전체 Flow 가 한 번에 롤. 부분 상태 없음.
* **되돌리기 가능** — 다시 롤 포워드, 또는 다른 어느 버전으로든.
* **감사 가능** — 액터·이유·타임스탬프와 함께 로깅.

## 언제 롤백

* 배포 직후 시그널 스파이크.
* 회귀가 늦게 잡힘 (시뮬레이션이 아니라).
* 하류 의존성이 깨졌고 수정이 시간 걸림 — 롤백이 시간 벎.
* Canary 롤아웃이 오작동.

롤백 비용 매우 낮음. 늦기보다 빨리 롤백.

## 롤백 방법

### 앱에서

**Flow → Versions → 이전 버전 선택 → Rollback**. 이유와 함께 확인.

### CLI 에서

```bash theme={null}
nora flows versions list
nora flows rollback <version-id> --note "나쁜 환불 카피 되돌림"
```

버전 ID 는 짧은 해시 (또는 버전 번호, 예: `v14`).

### 웹훅에서 (자동 롤백)

Flow 별 설정: **Flow settings → Auto-rollback**.

* 트리거: 시그널률 > 임계값, 에러율 > 임계값, 실행당 비용 > 임계값, canary 지표 발산.
* 롤백 타겟: 이전 버전, 또는 특정 고정된 "safe" 버전.
* 알림: Slack 채널, on-call PagerDuty.

자동 롤백은 여러분이 설정한 특정 트리거와 Flow 에만 관여 — 선제적 롤백 안 함.

## 무엇이 롤백

버전의 모든 것:

* 프롬프트.
* 와이어링된 연결.
* 도구 설정과 시크릿.
* 설정과 제한.
* 붙은 프리셋 버전.
* 붙은 데이터 소스 버전.

Flow 버전 밖에 사는 것은 롤백 안 됨:

* 지식 베이스의 문서 (버전이 특정 문서 버전 고정하지 않은 한).
* 이전 버전이 라이브였던 후 쓰인 메모리 항목.
* 트레이스 (실행별이고 실행한 버전에 붙어 있음).

## 롤백 후

* Draft 는 안 만짐. 롤백된 버전이 새 작업 기반이 되길 원하면 **Restore Draft from version** 사용 ([Draft](/ko/reliable/versions/drafts) 참고).
* 새 버전에 대해 열린 시그널은 열린 상태 유지, 그것을 생성한 버전으로 태깅.
* 개선 이력이 롤백을 별도 항목으로 표시.

## 롤백 vs. restore-draft

다른 두 액션:

* **Rollback** — 프로덕션 포인터 이동. Draft 변경 없음. 프로덕션이 옛 버전 실행. 되돌리기 가능.
* **Restore Draft from version** — Draft 가 옛 버전의 콘텐츠로 교체. 프로덕션 변경 없음 (여전히 현재 가리키는 버전에). 그 다음 편집하고 새로 배포 가능.

응급에는 롤백. 옛 버전을 새 수정으로 손 수정하고 싶으면 restore-draft.

## 특정 개선의 롤백

어느 개선이 이슈 일으켰는지 알면 전체 버전이 아닌 개선 롤백:

**Optimization → History → Improvement → Rollback**.

이것이 버전 롤백보다 세밀 — 그 개선의 변경만 되돌리고 후속 개선은 그대로. 롤백되는 것과 나중 개선이 충돌하지 않을 때만 동작.

## 감사

모든 롤백이 로깅:

* 누가 개시했나.
* 어느 버전에서 → 어느 버전으로.
* 이유 (필수).
* 수동 또는 자동 트리거 여부.

컴플라이언스용 익스포트 가능.
