docs(spec): promote F1 due date
Extracted to own spec with mini-brainstorm decisions captured. F1 in dogfood-feedback.md marked 🚀 promoted with link. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit was merged in pull request #5.
This commit is contained in:
@@ -24,7 +24,9 @@
|
||||
|
||||
---
|
||||
|
||||
## F1. Due Date 추출 (🔬 drafting)
|
||||
## F1. Due Date 추출 (🚀 promoted)
|
||||
|
||||
**진행 상태:** 🚀 promoted → `docs/superpowers/specs/2026-04-26-f1-due-date.md`
|
||||
|
||||
**발견:** 2026-04-25 dogfood 시작 직전 사고 실험.
|
||||
|
||||
|
||||
50
docs/superpowers/specs/2026-04-26-f1-due-date.md
Normal file
50
docs/superpowers/specs/2026-04-26-f1-due-date.md
Normal file
@@ -0,0 +1,50 @@
|
||||
# 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 또는 후속 항목 후보)
|
||||
|
||||
- 별도 due 뷰 / 정렬 / 필터
|
||||
- 만료 자동 처리 (자동 done 또는 자동 알림)
|
||||
- 시각 단위 (오후 3시, 23:30 등) 처리
|
||||
- 음력 / 절기
|
||||
- 반복 일정 (매주 월요일, 매월 1일 등)
|
||||
- 외부 캘린더 연동 (Google / Apple Calendar)
|
||||
- 다중 매칭 처리 (현재는 first-match-wins; 가장 가까운 / 가장 명확한 등 옵션)
|
||||
- AI 매칭 confidence 표시 (medium 일 때 사용자에게 "확실하지 않음" 힌트)
|
||||
- 시각 표시 옵션 (D-day 카운터 등)
|
||||
Reference in New Issue
Block a user