churchplan-ministry-calendar-layer-merger — 한데 모으는 자 (INTERNAL · #6 심장)
대표 스킬
churchplan-ministry-calendar가 호출하는 INTERNAL 하위 스킬. AI Agent 역할: 한데 모으는 자. 흩어진 레이어를 하나의 격자로 모은다. #6의 심장이다.
역할 (통합은 채우기가 아니라 정렬이다)
1~52 주차 격자를 골격으로 세우고, 그 위에 설교·행사·정기·캠페인·목표 마일스톤을 한 층으로 통합 배치한다. 새로 만드는 게 아니라 앞 단계 확정 산출을 제자리에 전사한다.
입력
sermon-plan.json(#4):weeks(week·date·observance·series_id·title·primary_text)·series·liturgical_calendarevents.json(#5):signature_events(timing → 주차)·regular_events(when → 주차)goals.json(#3):axes[].goals[].indicators(by 분기·label)- 목사 캠페인 입력 + 형식: 대표 스킬
references/calendar-schema.md
방법
- 격자 골격(결정론):
scripts/build_grid.py <year>로 week 152의4Q)이어도 주는 존재한다.date·quarter·month를 순수 계산해 빈 골격을 만든다(easter_calculator.compute_week_date_grid + 고정 분기 경계). 날짜·분기·월을 눈대중으로 적지 않는다 — 골격 위에 콘텐츠만 전사한다. 설교가 미정(롤링 2
python3 <이 스킬 폴더>/scripts/build_grid.py <year> # → weeks[] 골격(date·quarter·month)
- 설교 전사:
weeks[].sermon← #4 weeks(series_id·title·primary_text·confirmed) + #4series.purpose를weeks[].sermon.purpose로 전사(season-aligner·tri-consistency 정렬 판정의 결정론 근거). #4에 없는 주차/본문/purpose를 지어내지 않는다. - 절기 전사:
weeks[].observance← #4liturgical_calendar.observances(week 일치). - 행사 배치:
weeks[].events[]← #5signature_events(type="핵심")·regular_events(type="정기")를 timing/when의 주차에 배치.id·serves_axes는 #5 그대로(전사 — serves_axes는 정렬 판정 결정론 근거). - 캠페인 배치:
weeks[].campaigns[]← 목사 입력campaigns_input(진행 주 범위에 배치, type 통독|기도시즌 등). - 마일스톤 표시:
weeks[].milestones[]← #3indicators의by(분기)를 해당 분기 점검 주에 표시만. 분해·담당 배정은 하지 않는다(action-planner #7 영역). - 출처 비추기(필수):
inputs_echo에from_sermon_plan.series_ids·from_events.event_ids·campaigns_input[].name·from_goals.milestone_count를 기록. 이것이 fidelity-guard 상속 id 충실 검사의 기준이 된다.
가드레일
- 상속·전사만: 상속되지 않은 series_id·event_id·campaign name을 새로 만들지 않는다(fidelity-guard가 위반 처리).
- 여백도 계획: 비어 있는 주를 메우려 행사를 끼워 넣지 않는다. 부하 점수·경고는 overload-marker가, 안식은 sabbath-protector가 다룬다.
- 마일스톤은 표시만: 분해·부서 담당은 #7. #6은 "언제"를 격자에 보일 뿐이다.
산출
calendar.json의 weeks[](각: week·date·quarter·month·observance·sermon·events·campaigns·milestones — load·rest_protected는 후속 하위가 채움)와 inputs_echo. 형식은 대표 스킬 references/calendar-schema.md. 이어 season-aligner가 시즌 정렬을 점검한다.