/mealfred-food-mapping — 부르면 클로드가 전 과정을 수행한다(사람은 스크립트 안 돌림). 메뉴→식재료 매핑·음식/식재료 매트릭스·식재료 도감을 살아있는 데이터로 주기적으로 다듬는 큐레이션 루프.밀프레드의 데이터 자산(매핑 사전 · 궁합/키트 매트릭스 · 식재료 도감)은 한 번 만들고 끝이 아니라 계속 손봐야 정확해진다. 이 스킬은 그 유지보수를 한 단어로 묶은 것 — 부르면 ① 실데이터로 매핑을 튜닝하고 ② 코퍼스가 커졌으면 매트릭스를 다시 만들고 ③ 도감에 빠진 영양 식재료를 발굴·검증해 (승인 후) 채운다.
가장 헷갈리는 지점. 2시 크론과 이 스킬은 다른 층위다.
| 주체 | 무엇 | 왜 거기인가 |
|---|---|---|
| 2시 크론 자동 | 이미 만든 사전·규칙으로 새 메뉴를 분해(learned_menus 백필) + 코칭 편지 | 런타임 데이터만. 매일 도는 게 맞음 |
| 이 스킬 수동(부르면) | 빌드 산출물(정적 JSON: 사전·매트릭스·도감)을 재생성·개선 | 정적 import라 크론이 못 함(커밋+재배포 필요). 매일 안 바뀜 |
| 도감 추가 자동 X | 식재료를 도감에 등재하는 것 | 안전 검증·사람 승인 필수 — 인삼·함초가 자동 등재되면 안 됨 |
엄마가 친 메뉴를 식재료로 푸는 사전을, 실제 입력 + 엄마들이 직접 고친 교정을 정답지 삼아 다듬는다.
손보는 곳: lib/menuMap.ts(MENU_MAP·EXCLUDE) · lib/lexicon.ts(표기변형 소세지→소시지) · 회귀검증은 audit-menu.ts로 코퍼스 100% 유지 확인.
learned_menus는 크론이 매일 채운다. 충분히 커졌으면(직전 +5% 또는 도감 변경 시) 빌드 산출물을 다시 만든다.
| 자산 | 무엇 | 생성 |
|---|---|---|
| corpus-stats | 어드민 음식/식재료 카운트·32형태별 표 | gen-corpus-stats.mjs |
| 궁합/사촌 | 같이 쓰인 레시피(pair) + 맛·식감 닮은 사촌(bridge) | gen-food-graph.py |
| 음식×식재료 | 키트 매트릭스 점수(LLM 정성 0~3) | 채점 워크플로(도감/형태 바뀐 경우만) |
임계 미달이면 "재생성 불필요(증가 N건)"으로 솔직히 보고하고 스킵한다.
도감의 가치는 '많이'가 아니라 '자주 먹는 걸 정확히 덮는 것' + 💎 영양 보석(빈도 낮아도 영양 우수). 식약처/NEIS 전재료에서 도감에 안 걸리는 토큰을 스캔해 진짜 새 식재료를 찾는다.
승인되면 7개 파이프라인을 새 식재료에 전부 재생성해야 도감·궁합·키트·코칭이 정합한다:
① 풀 등재 · ② 영양 매핑(농진청 100g) · ③ 💎 영양 보석 · ④ 별등급(급식 빈도) · ⑤ 급여 용량 · ⑥ 제철 · ⑦ 궁합/사촌 + 음식×식재료 매트릭스 → kit-guide 재생성 → 배포.
숫자는 지어내지 않고 실행 출력에서만. 고친 게 0건이어도 0으로 솔직히 보고(규율이 작동한 결과).