> ## 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.

# Draft

> 안전하게 고치는 곳. 배포하기 전엔 프로덕션에 절대 영향이 없습니다

Flow마다 **Draft**가 하나 있습니다. 여러분이 손보는, 바꿀 수 있는 상태죠. 고치는 대로 자동 저장됩니다. Draft에서 무엇을 하든 프로덕션에는 절대 영향이 없습니다.

## Draft와 Published

* **Draft** 바꿀 수 있습니다. 편집 권한이 있는 누구나 고칩니다. 자동 저장됩니다. 프로덕션 트래픽에는 안 보입니다.
* **Published** 바뀌지 않습니다. 지금 Draft를 배포로 정한 것입니다. 프로덕션이 실행하는 것이죠.

Draft는 Published에서 마음껏 갈라 나갈 수 있습니다. Draft에 아직 배포 안 한 변경이 있으면 Flow에 "unpublished" 배지가 뜹니다.

## Draft에서 테스트

배포 없이 Draft를 돌리는 방법이 둘입니다.

* **Test 패널** 캔버스 오른쪽 위입니다. 입력을 치고 Draft에 돌립니다. 프로덕션이었으면 어땠을지 전체 트레이스가 나옵니다. 부작용은 없습니다(도구는 테스트 자격증명을 쓰고, "테스트에서 돌리면 안 됨" 으로 표시한 액션은 스텁 처리됩니다).
* **Draft URL** Draft를 돌리는 비공개 URL 입니다. 내부 테스트용으로 팀원과 공유합니다. 워크스페이스 인증 없이는 못 들어옵니다.

프로덕션 URL(채팅, 웹훅)은 늘 배포 버전을 실행합니다. Owner 라도 프로덕션 트래픽을 실수로 Draft로 보낼 수 없습니다.

## 함께 편집

여러 사람이 같은 Draft를 고칠 수 있습니다.

* 커서 표시. 누가 어느 블록에 있는지 보입니다.
* 필드 단위 잠금. 누가 프롬프트를 치는 중이면 다른 사람은 보되 덮어쓰지 못합니다.
* 저장 시 병합. 부딪히지 않는 필드 편집은 자동으로 합쳐집니다.
* 충돌 해결. 진짜로 부딪히는 편집은 Nora가 두 번째 저장자에게 고르거나 합치라고 물어봅니다.

실시간 협업은 동시 편집자 10명쯤까지 안정적으로 됩니다.

## 버전에서 Draft 되살리기

Draft를 옛 상태로 되돌립니다.

**Flow → Versions → 버전 선택 → Restore to Draft** 입니다.

Draft가 고른 버전 내용으로 덮어씌워집니다. 확인이 필요합니다(Draft 덮어쓰기는 되돌리기 어렵습니다). 프로덕션은 안 건드립니다.

이럴 때 좋습니다.

* 망가진 Draft 상태에서 빠져나오기.
* 옛 버전에서 새 수정을 시작하기.
* 지금 Draft를 옛 베이스라인과 비교하기(되살린 뒤 그 자리에서 편집).

## Draft 전용 설정

일부 설정은 Draft 테스트에만 적용됩니다.

* **Draft 데이터 소스** Draft에만 소스를 붙입니다(예: 테스트 문서 컬렉션). 올리지 않으면 Published로 넘어가지 않습니다.
* **Draft 변수** Draft의 변수가 Published와 다른 값을 가질 수 있습니다. dev 값으로 테스트하고 prod 값으로 배포합니다.

프로덕션 동작을 더럽히지 않고 테스트하기에 둘 다 좋습니다.

## Draft 잠그기

예민한 작업 중에 남이 같이 고치는 걸 막으려면 Draft를 얼립니다.

**Flow → Draft → Lock** 입니다. 잠근 사람(또는 Owner)만 풀 때까지 고칠 수 있습니다.

흔치는 않지만, 복잡한 재구성을 하면서 팀원이 부딪히는 변경을 하지 않길 바랄 때 좋습니다.

## Draft 변경 버리기

Draft를 버리고 Published에서 새로 시작하고 싶으면 이렇게 합니다.

**Flow → Draft → Reset to Published** 입니다. 확인이 필요합니다. Draft 전용 편집을 모두 잃습니다.

체크포인트를 남기고 싶으면 특정 버전에서 Draft를 되살리는 편이 낫습니다. 변경이 통째로 틀렸다 싶을 때 리셋하세요.

## CLI에서 Draft

```bash theme={null}
nora flows snapshot > draft.json    # 지금 Draft 내보내기
nora flows apply --file draft.json  # JSON을 새 Draft로 쓰기
```

흔한 흐름은 이렇습니다. Draft를 스냅샷하고, JSON을 로컬에서 고치고(한꺼번에 찾아 바꾸기, 구조 변경), 다시 적용합니다. 큰 리팩터에는 UI를 클릭하는 것보다 빠릅니다.
