Skip to content

feat: 캘린더 일정에서 detatil 부분을 i18n에 포함 - #41

Merged
Hminkyung merged 5 commits into
developfrom
feat/#40-faq-and-detail
Jun 12, 2026
Merged

feat: 캘린더 일정에서 detatil 부분을 i18n에 포함#41
Hminkyung merged 5 commits into
developfrom
feat/#40-faq-and-detail

Conversation

@Hminkyung

@Hminkyung Hminkyung commented Jun 12, 2026

Copy link
Copy Markdown
Collaborator

📌 작업 요약

🌿 브랜치 정보

  • Source: feat/#40-faq-and-detatil
  • Target: develop (기본)

✅ 체크리스트

  • 브랜치 컨벤션 준수 (feat/refac/hotfix/chore/design/bugfix)
  • 커밋 컨벤션 준수 (feat/fix/refactor/docs/style/chore)
  • self-review 완료
  • 테스트 및 로컬 실행 확인 완료

Summary by CodeRabbit

  • New Features
    • 체크리스트 항목에 다국어 상세 설명이 표시되도록 추가되어, 각 언어별 상세 텍스트를 확인할 수 있습니다.
  • Refactor
    • 콘텐츠 추출/처리 흐름이 다국어 상세 설명을 일관되게 채우도록 개선되었습니다.
    • 다국어 입력 검증 규칙을 유연하게 조정해 null 또는 빈값 처리 시에도 각 언어 필드를 안정적으로 생성합니다.

@coderabbitai

coderabbitai Bot commented Jun 12, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 7e716030-aca7-4831-b709-441eb67b5933

📥 Commits

Reviewing files that changed from the base of the PR and between 05c1733 and d049789.

📒 Files selected for processing (1)
  • app/services/newsletter_prompt.py

📝 Walkthrough

Walkthrough

체크리스트 항목의 detail에 대한 다국어 저장·검증을 추가하고, 프롬프트 지침을 확장한 뒤 서비스에서 자동으로 detailI18n 값을 채우도록 구현했습니다.

Changes

체크리스트 Detail 다국어 지원

Layer / File(s) Summary
Detail i18n 데이터 모델 추가
app/schemas.py
ChecklistItemdetail_i18n: dict[str, str] 필드를 추가하고 Pydantic alias를 detailI18n으로 설정했습니다.
다국어 검증 스키마 정의
app/services/newsletter_prompt.py
NULLABLE_I18N_TEXT_SCHEMA를 추가하여 minLength 제약을 제거(최대 길이 유지)하고, CHECKLIST_ITEM_SCHEMAdetailI18n을 required로 추가하며 properties.detailI18n에 새 스키마를 적용했습니다.
시스템 프롬프트 및 알림 맵 지침 확장
app/services/newsletter_prompt.py
시스템 프롬프트에 checklistItems[].detailI18n을 네 언어 채움 대상으로 포함하고, detail이 null일 경우 각 언어 값을 빈 문자열로 채우라는 규칙과 알림용 다국어 map 필수 항목에 detailI18n을 추가했습니다.
서비스에서 detail i18n 값 자동 설정
app/services/newsletter_extractor.py
_attach_checklist_items에서 ChecklistItem 생성 시 detailI18n_fallback_i18n(sentence) 결과를 할당하도록 변경했습니다.

🎯 3 (Moderate) | ⏱️ ~20 minutes

🚥 Pre-merge checks | ✅ 3 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive PR 설명이 템플릿 구조는 따르지만 작업 요약 섹션이 비어있고, 테스트 결과가 입력되지 않았으며 체크리스트 항목이 모두 미완료 상태입니다. 작업 요약에 변경사항을 구체적으로 설명하고, 테스트 결과 섹션에 실행 결과를 추가하며, self-review와 테스트 확인 체크박스를 완료 표시해주세요.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed 제목이 PR의 주요 변경사항을 명확하게 요약하고 있으며, detail을 i18n에 포함시키는 핵심 기능을 직관적으로 전달합니다.
Linked Issues check ✅ Passed PR의 코드 변경사항이 issue #40의 요구사항인 detail을 i18n에 포함시키는 목표를 충족하고 있습니다. schemas.py에 detail_i18n 필드 추가, newsletter_extractor.py에서 detailI18n 값 설정, newsletter_prompt.py에서 다국어 스키마 및 프롬프트 규칙 확장이 모두 구현되었습니다.
Out of Scope Changes check ✅ Passed 모든 변경사항이 issue #40의 detail i18n 포함 요구사항과 직접 관련되어 있으며, 범위 외의 변경사항은 없습니다.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/#40-faq-and-detail

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@app/services/newsletter_prompt.py`:
- Around line 36-41: The schema CHECKLIST_ITEM_SCHEMA currently requires
detailI18n but the system prompt in newsletter_prompt.py doesn't instruct the
LLM to always produce checklistItems[].detailI18n, causing validation failures;
update the system prompt text to explicitly instruct the model to include a
detailI18n field for every checklist item (even if empty/null) in
checklistItems[] or else change CHECKLIST_ITEM_SCHEMA to allow missing
detailI18n—modify the prompt generation logic that constructs the
system/instruction string and reference CHECKLIST_ITEM_SCHEMA, detailI18n, and
checklistItems[] so outputs always match the schema.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: 2e13e4af-9a8e-4a60-8b44-faafa12676db

📥 Commits

Reviewing files that changed from the base of the PR and between 42225b3 and 05c1733.

📒 Files selected for processing (3)
  • app/schemas.py
  • app/services/newsletter_extractor.py
  • app/services/newsletter_prompt.py

Comment thread app/services/newsletter_prompt.py
@Hminkyung
Hminkyung merged commit b48a753 into develop Jun 12, 2026
3 checks passed
@Hminkyung Hminkyung self-assigned this Jun 12, 2026
@Hminkyung Hminkyung added the feat 새로운 기능 추가 작업 label Jun 12, 2026
@deli-minju deli-minju changed the title Feat: 캘린더 일정에서 detatil 부분을 i18n에 포함시킵니다 feat: 캘린더 일정에서 detatil 부분을 i18n에 포함시킵니다 Jun 12, 2026
@deli-minju deli-minju changed the title feat: 캘린더 일정에서 detatil 부분을 i18n에 포함시킵니다 feat: 캘린더 일정에서 detatil 부분을 i18n에 포함 Jun 12, 2026
@deli-minju
deli-minju deleted the feat/#40-faq-and-detail branch June 12, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feat 새로운 기능 추가 작업

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT] 캘린더 일정 부분에서 detail도 언어에 포함

1 participant