---
tags: [calendar, scheduler, holiday, blackout, worklog]
---

# Calendar Skill 자동휴일감지 행동제어 구현 및 검증

## 관련 문서
- [Calendar Skill 기반 자동 휴일 감지 행동 제어 시스템 구축](../plans/260214_calendar_skill_자동_휴일감지_행동제어_구축.md)
- [Calendar Skill 자동휴일감지 행동제어 원인확정 리서치](../research/260310_calendar_skill_자동휴일감지_행동제어_원인확정_리서치.md)

## 완료 요약
- `rb8001`에 `scheduled_jobs.schedule_policy` 저장/조회와 workday 실행 가드를 추가했습니다.
- `skill-calendar`에 `GET /api/workday/check`와 대한민국 공휴일/블랙아웃 판정 로직을 추가했습니다.
- `robeing-monitor`에 `schedule_type`, `schedule_days`, `blackout_ranges` 저장/조회 경로를 추가했습니다.

## 검증 결과
- `rb8001`: `pytest -q tests/test_scheduler_repository.py tests/test_scheduler_endpoint_e2e.py tests/test_db_loader.py` -> `14 passed`
- `skill-calendar`: `pytest -q tests/test_workday_check.py` -> `4 passed`
- `robeing-monitor`: `pytest -q tests/test_preferences_schedule_policy.py` -> `3 passed`
- 런타임 확인:
  - `http://127.0.0.1:8512/api/workday/check?date=2026-02-17...` -> `reason=holiday`
  - `http://127.0.0.1:8512/api/workday/check?date=2026-03-04...blackout_ranges=...` -> `reason=blackout`
  - `POST/GET/DELETE http://127.0.0.1:8001/api/scheduler/jobs`로 `schedule_policy` 저장/조회 확인
  - `PUT/GET http://127.0.0.1:9024/api/preferences/{user_id}`로 `blackout_ranges` 저장/조회 및 빈 배열 갱신 확인
