스케줄
라우트 /schedule. core가 스스로 실행하는 작업들과, 그 결과를 보여주는 실시간 피드입니다.

작업 만들기
| 항목 | 의미 |
|---|---|
| Spec | 실행 시점. 일회성이면 in 60s, 반복이면 cron 표현식 |
| Task | 이 작업이 실행할 프롬프트. 예를 들면 summarise today's commits |
| Mode | 작업 세션이 시작할 권한 모드: plan, accept, auto 중 하나 |
| Channel | 결과가 갈 곳: log, 또는 바인딩된 채팅이면 telegram:<chat id> |
| Workdir | 실행 위치. 비워 두면 데몬의 홈 |
무인으로 실행되는 작업은 스스로의 승인에 답할 수 없습니다. plan이 안전한 기본값이며, 예약 작업의 auto는 말 그대로의 의미입니다.
작업 목록
작업은 실행이 가까운 순으로 Upcoming 아래에 놓입니다. 더 실행할 것이 남지 않은 작업 — 취소되었거나 이미 한 번 실행된 일회성 작업 — 은 Past 아래에 최신순으로 모입니다.
작업 하나는 세 줄짜리 행입니다. 첫 줄은 작업이 무엇인지 알려 줍니다: spec, 반복 여부, 실행 모드, 결과가 가는 channel, 그리고 전달 대상 스레드가 있다면 그것까지요. 둘째 줄은 프롬프트 자체이며, 긴 프롬프트가 행을 아래로 늘리지 않도록 두 줄로 잘립니다. more를 누르면 그 자리에서 펼쳐지고, 전체 내용은 어느 쪽이든 행의 툴팁에 있습니다. 셋째 줄에는 다음 실행과 마지막 실행 두 시각이 있고, 마지막 실행의 상태가 함께 붙습니다. 첫 실행 전에는 scheduled이고, 그 뒤로는 ok 또는 끝난 오류입니다.
Run now(지금 실행)는 일정은 건드리지 않고 작업을 즉시 실행합니다. Cancel(취소)은 작업을 제거합니다. 두 버튼은 행 오른쪽에 고정된 크기로 놓이며, 패널이 충분히 넓을 때 이름까지 함께 보여 줍니다.
실시간 피드
오른쪽 패널은 core의 작업 이벤트 스트림입니다. 시작, 완료, 실패가 흘러갑니다. 일이 벌어지는 대로 갱신되며, 이벤트가 올 때마다 표도 다시 읽습니다. 실행 결과는 여기서 유추하는 것이 아니라 core에 기록되기 때문입니다.