# task-1012.1: 대시보드 자동화 탭 — 파이프라인 동적 ON/OFF 토글 구현

## 개요
대시보드 자동화 탭(AutomationView)에서 등록된 파이프라인 목록을 동적으로 표시하고, 각 파이프라인을 ON/OFF 토글로 제어할 수 있게 한다. auto_orch가 시작되면 시각적으로 상태가 보이고, 파이프라인을 대시보드에서 직접 관리할 수 있어야 한다.

## 현재 구현 상태
- task-904.1에서 자동화 탭 구현 완료 (4개 섹션: 활성 파이프라인, 히스토리, 토큰, 등록목록)
- task-906.1에서 auto_orch.py (591 LOC) 구현 완료
- 현재 `auto-orch.timer`: inactive (disabled) 상태
- 파이프라인 YAML: `pipelines/*.yaml`에 등록

## 구현 요구사항

### 1. 파이프라인 목록 동적 표시
- `pipelines/*.yaml` 폴더를 스캔하여 등록된 파이프라인 목록 표시
- 각 파이프라인의 이름, 설명, 트리거 조건, 현재 상태 표시
- 파이프라인이 추가/삭제되면 자동 반영

### 2. 개별 파이프라인 ON/OFF 토글
- 각 파이프라인 옆에 토글 스위치 UI
- ON → auto_orch 스캔 시 해당 파이프라인 트리거 조건 평가
- OFF → 스캔에서 제외 (YAML 삭제 아니고 비활성 상태)
- 구현 방식: YAML 파일에 `enabled: true/false` 필드 추가/수정
- API: `POST /api/automation/toggle` — `{ pipeline_id: string, enabled: boolean }`

### 3. auto_orch 시스템 전체 ON/OFF
- 시스템 전체를 켜고 끄는 마스터 토글
- ON → `systemctl --user enable --now auto-orch.timer` 실행
- OFF → `systemctl --user disable --now auto-orch.timer` 실행
- API: `POST /api/automation/system-toggle` — `{ enabled: boolean }`
- 현재 상태 표시: health.json의 last_tick 기반

### 4. 시각적 피드백
- 시스템 가동 중: 상단에 초록색 "가동 중" 배지 + last_tick 시간
- 시스템 미가동: 회색 "미가동" 배지 + "시작하기" 안내
- 개별 파이프라인 ON: 파란색/초록색 토글
- 개별 파이프라인 OFF: 회색 토글
- 토글 전환 시 로딩 스피너 + 성공/실패 피드백

## 관련 파일
- `/home/jay/workspace/dashboard/server.py` — 백엔드 API (기존 `/api/automation-status` 확장)
- `/home/jay/workspace/dashboard/index.html` — AutomationView 컴포넌트 (기존 확장)
- `/home/jay/workspace/orchestrator/auto_orch.py` — 오케스트레이터 (YAML enabled 필드 읽기)
- `/home/jay/workspace/pipelines/` — YAML 파이프라인 정의 폴더
- `~/.config/systemd/user/auto-orch.timer` — systemd timer

## auto_orch.py 수정 사항
- `scan` 시 각 파이프라인 YAML의 `enabled` 필드를 확인
- `enabled: false`이면 해당 파이프라인 스킵
- `enabled` 필드가 없으면 기본값 `true` (후방호환)

## 주의사항
- 기존 자동화 탭 4개 섹션 깨뜨리지 않도록 주의
- systemctl 명령어 실행은 서버 프로세스 권한으로 가능한지 확인 (user service)
- YAML 파일 수정 시 원자적 쓰기 (임시파일 → rename)
- 보안: toggle API에 인증 없이 누구나 호출 가능한 문제 → 현재 대시보드가 내부망(Tailscale)이므로 OK, 단 로그는 남길 것
