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

# 시뮬레이션 실행

> 앱이나 CLI 에서 킥오프 — 타겟 선택, 데이터셋 선택, 시작.

시뮬레이션은 시작이 저렴하고 반복이 빠름. 워크플로우가 의도적으로 가벼움.

## 앱에서

1. **Reliable → Simulation → New run**.
2. **타겟** 선택:
   * 현재 Draft.
   * 특정 배포 버전.
   * 개선 후보.
3. **데이터셋** 선택 (또는 태그 필터로 데이터셋 하위집합).
4. 옵션으로 비교할 **베이스라인** 선택 (기본은 현재 배포).
5. **Preview** — 예시 수, 예상 비용, 예상 시간 표시.
6. **Run**.

진행이 실시간 스트리밍. 페이지 떠났다 돌아와도 됨 — 완료 알림이 워크스페이스 알림 바에 착지.

## CLI 에서

```bash theme={null}
nora simulate \
  --flow support-agent \
  --target draft \
  --dataset support-golden-v3 \
  --baseline published
```

같은 옵션: `--target` 은 `draft`, `published`, `version:<id>`, `improvement:<id>` 수용. `--baseline` 은 같은 것 또는 `none`.

`--tags customer-facing,hard` 로 데이터셋 필터.

`--parallelism 20` 로 동시성 제어 (기본 10).

## CI 에서

시뮬레이션이 배포 파이프라인 차단/통과. 표준 패턴:

```bash theme={null}
nora flows publish --dry-run --gate-simulation support-golden-v3 --min-pass-rate 0.9
```

`--dry-run --gate-simulation` 조합이 데이터셋에 대해 타겟 Draft 실행. 통과율이 최소 아래면 명령 실패하고 CI 정지.

흔한: 모든 PR 에 게이트 시뮬레이션 실행, 실패면 머지 차단.

## 어디서 무엇이 실행

모든 시뮬레이션이 격리된 환경에서 실행:

* 자격증명 필요한 도구는 **테스트 자격증명** 사용 (Flow 별 별도 커넥터, test-only 표시). 실행 중 우발 프로덕션 부수 효과 방지.
* "시뮬레이션에서 실행하면 안 됨" 표시된 Action 은 스텁. 출력이 `success` 로 시뮬레이션.
* 메모리 쓰기는 실행 후 폐기되는 시뮬레이션별 스크래치 스페이스로 감.

환경 오버라이드 가능 (**Run → Advanced → Environment**) 해서 프로덕션 자격증명에 실행 — 드묾, 엔드투엔드 검증 특별히 원할 때만. 안전 장치 추가.

## 결과 관찰

결과 테이블이 예시당 로우:

* **Input** — 데이터셋 예시의 입력.
* **Target output** — 타겟이 생성한 것.
* **Baseline output** — 베이스라인이 생성한 것 (비교하면).
* **Expected** — 데이터셋의 기대 출력.
* **Verdict** — pass / fail / regression / improvement.
* **Cost** 와 **latency**.

정렬, 필터, 로우 클릭으로 해당 예시의 전체 트레이스.

## 중단

긴 시뮬레이션은 어느 시점에서든 중단 가능. 부분 결과 유지되고 "partial" 표시. 첫 20 예시 후 변경이 작동 안 함이 명확할 때 유용.

## 재실행

같은 시뮬레이션 재실행 가능하지만 보통 무의미 — 같은 타겟 + 같은 데이터셋 = 같은 결과 (모델 무작위성 잡음 있음). 원하는 것:

* **새 데이터셋 버전으로 재실행** — 새 예시 픽업.
* **새 타겟으로 재실행** — 이 실행의 통찰 기반 Draft 조정 후.

모든 재실행이 새 시뮬레이션 레코드 생성, 그래서 이력 보존.
