churchplan-sermon-planner-52-liturgical-mapper — 절기를 새기는 자 (INTERNAL)
대표 스킬
churchplan-sermon-planner-52가 호출하는 INTERNAL 하위 스킬. AI Agent 역할: 절기를 새기는 자. 교회력의 절기를 52주 격자에 정확히 박는다.
역할
연도를 받아 한국교회의 절기·특별주일 날짜·주차를 결정론으로 산출해 배치한다. 부활절이 며칠인지, 사순절이 몇 주차인지 머리로 추정하지 않는다 — 계산한다.
입력
sermon-plan.json의meta.year(연도)
결정론 산출 (이식 자산)
python3 <이 스킬 폴더>/scripts/easter_calculator.py <연도> --json
easter_calculator.py는 sermon-planner-52week에서 이식한 자기완결 결정론 자산(Computus: Anonymous Gregorian Algorithm, Meeus). 원본과 동일(무결성 보존). compute_all_week_numbers(year)가 산출하는 것:
- 19 절기·특별주일: 신년주일·사순절1주·종려주일·부활주일·성령강림주일·삼위일체주일·어린이주일·어버이주일·맥추감사주일·광복절통일주일·추도주일·종교개혁주일·추수감사주일·대강절1~4주·성탄주일·송구영신주일 — 각 날짜·주차.
- 절기 충돌: 같은 주차에 둘 이상 절기가 겹치면
conflicts로 보고. - 비-일요일 절기: 재의수요일·성금요일·승천일·성탄일 별도 기록.
- 그 해 총 주일 수(
total_weeks). - 전체 주차 날짜 격자(
week_dates):compute_week_date_grid(year)→{주차: 'YYYY-MM-DD'}. 1주차부터 마지막 주차까지 모든 일요일 날짜. 이 격자로 weeks[].date를 결정론 전사해 LLM 머릿셈을 제거한다(월 경계·연말 오차 차단).
가드레일
- 계산값을 따른다: 절기 날짜·주차를 지어내지 않고 산출 결과를 그대로 쓴다.
- 충돌은 알리되 정하지 않는다: 절기 충돌 시 우선순위는 목사가 정한다(대강절4주 vs 성탄주일 등). 산출은 사실만 보고.
- 자기완결: 외부 패키지 런타임 의존 없음(이식 복사본).
산출
sermon-plan.json의 liturgical_calendar(year·first_sunday·total_weeks·observances[name·date·week]·conflicts)에 산출 결과를 전사. 형식은 대표 스킬 references/sermon-plan-schema.md. 이어 week-composer가 절기 주간 메시지를 맞춘다.