---
test_env: local
test_profile: pipeline-smoke
domain: pipeline
verification_type: smoke
last_rule_updated_at: 2026-06-12
---

# pipeline-smoke local 테스트

## 읽기 조건

- `apps/runner/lib/oto/pipeline/**` 또는 `apps/runner/lib/oto/data/pipeline_data.dart` 변경 검증이 필요한 경우

## 적용 범위

- Pipeline execution engine and pipeline data model

## 분류

- domain: pipeline
- verification_type: smoke
- scope: OTO pipeline runtime

## 환경

- host: `ssh toki@toki-labs.com` 원격 runner, checkout `/Users/toki/agent-work/oto`
- port: 기본 pipeline smoke는 public port를 사용하지 않는다. Core 연동이 필요하면 OTO Core HTTP `18020`을 사용한다.
- runtime: Dart SDK
- package manager: dart pub
- docker: 기본 smoke는 Docker를 사용하지 않는다.
- external service: 없음
- model endpoint:
- credential: private input 원문은 tracked 파일에 기록하지 않는다.

## 명령

- setup: `cd apps/runner && dart pub get` (또는 `make runner-get`)
- lint: `cd apps/runner && dart analyze` (또는 `make runner-analyze`)
- unit: `cd apps/runner && dart test` (또는 `make runner-test`)
- smoke:
- e2e:
- model:
- full-cycle:

## 필수 검증

- pipeline 도메인 변경 후 `cd apps/runner && dart analyze`를 실행한다.
- pipeline 전용 테스트가 확인되지 않았으므로 변경 영향이 있는 경우 `cd apps/runner && dart test` 또는 `make runner-test`를 실행한다.

## 보조 검증

- 새 pipeline fixture가 생기면 해당 fixture 기반 smoke 명령을 후속 테스트 규칙에 구체화한다.

## 판정 기준

- `cd apps/runner && dart analyze`가 issue 없이 종료한다.
- 지정한 `cd apps/runner && dart test`가 모두 통과한다.

## 기준 출력 예시

```text
No issues found!
All tests passed!
```

## 차단 기준

- 원격 runner에 Dart SDK 또는 path dependency가 없어 command를 시작할 수 없는 경우

## 보고 항목

- 실행한 명령:
- 성공한 검증:
- 실패/차단된 검증:
- 생략 사유:
- 남은 위험:

## 금지 사항

- 검증되지 않은 YAML fixture 동작을 통과 기준으로 단정하지 않는다.
