Files
inkling/docs/superpowers/specs/2026-04-26-f1-due-date.md
altair823 579450ef4f docs(spec): promote F7 AI-primary due date
신규 spec 파일 추가 (구현 결과 반영). dogfood-feedback.md 의 F7
헤더 🔬 drafting → 🚀 promoted 로 갱신. F1 spec 의 후속 리스트에
F7 링크 추가.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-26 13:07:06 +09:00

3.1 KiB

F1 Due Date Spec (Promoted)

Extracted from: 2026-04-25-dogfood-feedback.md F1 Plan: docs/superpowers/plans/2026-04-26-f1-due-date.md Status: 🚀 promoted — implemented 2026-04-26

결정 (mini-brainstorm 결과)

결정 항목 근거
매칭 우선순위 규칙 파서 우선 → AI 응답 폴백 결정론적 매칭 우선
모호 표현 (월말, 주말, 퇴근 전) 규칙은 medium confidence + iso=null, AI 위임 false positive 회피
라벨 슬롯 NoteCard 의 summary 와 tags 사이 인라인 (📅 YYYY-MM-DD) 시각 노이즈 최소
만료 표시 회색 + 취소선 (라벨만, 본문 무수정) slice §1.1 카피 정책
사용자 편집 HTML date input, 클릭 → 편집 표준 UX
시각 단위 / 음력 / 반복 일정 미지원 F1 §Out
만료 자동 처리 없음 (시각만) dogfood 후 결정
별도 뷰 / 정렬 없음 후속
Migration v2 backfill NULL 기본 비파괴
Pre-migration snapshot <dbFile>.pre-v<N>.bak (F6-L1 follow-up #4) 마이그레이션 결함 회수

범위 (PR 안에 포함됨)

  • src/main/db/migrations/m002_due_date.ts (신규)
  • src/main/db/migrations/index.ts 수정 (latestVersion 추가, m002 등록)
  • src/main/db/index.ts 수정 (pre-migration 스냅샷 — F6-L1 후속 #4 반영)
  • src/main/services/dueDateParser.ts (신규, 14 규칙)
  • src/main/ai/schema.ts 수정 (due_date 필드 추가, AiResponse 확장)
  • src/main/ai/prompt.ts 수정 (PROMPT_VERSION = 2, todayKst 인자)
  • src/main/ai/InferenceProvider.ts 수정 (GenerateInput.todayKst)
  • src/main/ai/LocalOllamaProvider.ts 수정 (todayKst 패스)
  • src/main/ai/AiWorker.ts 수정 (parseDueDate + AI 병합 + now() 주입)
  • src/main/repository/NoteRepository.ts 수정 (updateAiResult.dueDate?, setDueDate, hydrate)
  • src/main/ipc/inboxApi.ts 수정 (inbox:setDueDate 핸들러)
  • src/preload/index.ts 수정 (setDueDate expose)
  • src/shared/types.ts 수정 (Note.dueDate, Note.dueDateEditedByUser, InboxApi.setDueDate)
  • src/renderer/inbox/components/NoteCard.tsx 수정 (DueDateBadge 컴포넌트 + onSave)
  • 테스트 신규/확장: migrations, parser, schema, repo, AiWorker — 약 +44 단위 테스트

후속 (별 spec 또는 후속 항목 후보)

  • F7 AI-primary due_date flow (🚀 promoted 2026-04-26) → docs/superpowers/specs/2026-04-26-f7-ai-primary-due-date.md — 본 spec 의 "rule 우선 → AI fallback" 흐름을 "AI 우선 + rule 은 prompt 후보 힌트" 로 반전. '내일 모레' first-match-wins 한계 해소
  • 별도 due 뷰 / 정렬 / 필터
  • 만료 자동 처리 (자동 done 또는 자동 알림)
  • 시각 단위 (오후 3시, 23:30 등) 처리
  • 음력 / 절기
  • 반복 일정 (매주 월요일, 매월 1일 등)
  • 외부 캘린더 연동 (Google / Apple Calendar)
  • 다중 매칭 처리 (현재는 first-match-wins; 가장 가까운 / 가장 명확한 등 옵션) — F7 으로 일부 해결
  • AI 매칭 confidence 표시 (medium 일 때 사용자에게 "확실하지 않음" 힌트)
  • 시각 표시 옵션 (D-day 카운터 등)