# Milestone: oto 자동화 스케줄러와 CI-CD 연동 (2차)

## 위치

- Roadmap: [ROADMAP.md](../../../ROADMAP.md)
- Phase: [PHASE.md](../PHASE.md)

## 목표

oto를 이용한 자동화, scheduler, CI-CD 연동을 MVP 이후 2차 후보로 스케치한다.
이 Milestone은 반복 작업 자동 실행과 운영 workflow 연결의 방향만 잡고, job schema, trigger, runner, secret policy는 후속 검토 전까지 확정하지 않는다.

## 상태

[스케치]

## 승격 조건

- [ ] oto가 IOP에서 맡을 책임과 외부 자동화 도구와의 경계를 결정한다.
- [ ] scheduler trigger와 CI-CD 연동의 MVP 이후 우선순위를 결정한다.
- [ ] secret, approval, audit, retry 정책의 최소 기준을 정리한다.
- [ ] 기존 jobs/worker 구조와의 연결 방식을 결정한다.

## 구현 잠금

- 상태: 잠금
- 결정 필요: 아래 체크리스트
  - [ ] oto를 IOP 내부 automation engine으로 둘지 외부 orchestrator 연동으로 둘지 결정한다.
  - [ ] scheduler와 CI-CD 중 2차에서 먼저 다룰 축을 결정한다.
  - [ ] 자동 실행에 필요한 approval/secret/audit 기본값을 결정한다.

## 범위

- oto 기반 자동화와 scheduler/CI-CD 연동의 2차 후보 정리
- trigger, approval, retry, secret, audit 경계의 초안
- 기존 `packages/go/jobs`와 서비스 내부 worker 구조와의 연결 후보

## 기능

### Epic: [oto-scheduler] Oto Scheduler

MVP 이후 자동화 scheduler와 CI-CD 연동 방향을 검토하기 위한 최소 산출물을 묶는다.

- [ ] [boundary] oto의 책임과 IOP runtime/automation 경계가 정리되어 있다.
- [ ] [trigger-model] scheduler trigger와 CI-CD 연동 후보가 정리되어 있다.
- [ ] [safety] secret, approval, audit, retry의 최소 정책 후보가 정리되어 있다.
- [ ] [second-review] 사용자가 2차 자동화 범위와 우선순위를 검토했다.

## 완료 리뷰

- 상태: 없음
- 요청일: 없음
- 완료 근거: 스케치 Milestone이며 기능 Task가 아직 충족되지 않았다.
- 리뷰 필요:
  - [ ] 사용자가 완료 결과를 확인했다
  - [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음

## 범위 제외

- 1차 MVP 구현
- CI/CD provider별 직접 integration 구현
- secret store, audit retention, scheduler runtime 상세 schema 확정

## 작업 컨텍스트

- 관련 경로: `packages/go/jobs`, `apps/control-plane`, `apps/edge`, `apps/worker`
- 표준선(선택): 현재 Worker 구조는 각 Go 서비스 내부 공통 모듈을 우선하고, `apps/worker`는 placeholder 상태이므로 본격 구현 전 별도 domain rule 또는 구체화가 필요하다.
- 선행 작업: CLI Agent 사용량 알림과 자동 이어받기 MVP, 운영 관측과 Provider 관리
- 후속 작업: CI-CD provider integration, scheduler runtime, approval/audit 제품화
- 확인 필요: oto 책임 경계, trigger 우선순위, safety 기본값
