docs(spec): promote F4-C·F cue strengthening
F4 의 6개 cue 메커니즘 중 외부 신호 없이 즉시 구현 가능한 두 가지 (C 환경 앵커, F 정체성 고리) 를 묶어 promoted spec 으로 추출. A (잠금 hook), D (variable interval prompt), B (ambient if-then) 는 dogfood soak 측정 결과를 본 뒤 결정. F4 헤더를 🌱 raw → 🔬 drafting (C·E·F promoted) 로 갱신하고, F4 진행 상태에 두 promoted 경로를 명시.
This commit was merged in pull request #9.
This commit is contained in:
@@ -270,13 +270,15 @@ H1 이 미달이면 본 항목 ❌ rejected.
|
||||
|
||||
---
|
||||
|
||||
## F4. 떠오른 순간 → "Inkling!" 자동 연상 만들기 (🌱 raw)
|
||||
## F4. 떠오른 순간 → "Inkling!" 자동 연상 만들기 (🔬 drafting — C·E·F promoted)
|
||||
|
||||
**발견:** 2026-04-26 dogfood 시작 직전 사고 실험. 슬라이스 v0.4 와 strategy.md §3 가 **이미 알고 있는 contextual cue** (회의 후, 퇴근 전, 디버깅 후) 의 if-then 만 다루고, **ambient/spontaneous 떠오름** (샤워, 산책, 대화 중, 자기 전) 은 사각지대.
|
||||
|
||||
**진행 상태:**
|
||||
- E (Zeigarnik priming) — 🚀 promoted → `docs/superpowers/specs/2026-04-26-f3-f4e-copy.md`
|
||||
- A·B·C·D·F — 🌱 raw, 측정 후 결정
|
||||
- C (환경 앵커) — 🚀 promoted → `docs/superpowers/specs/2026-04-26-f4-cf-cue.md`
|
||||
- F (정체성 고리) — 🚀 promoted → `docs/superpowers/specs/2026-04-26-f4-cf-cue.md`
|
||||
- A (잠금 hook), D (variable interval prompt), B (ambient if-then) — 🌱 raw, 측정 후 결정
|
||||
|
||||
### 관찰
|
||||
|
||||
|
||||
35
docs/superpowers/specs/2026-04-26-f4-cf-cue.md
Normal file
35
docs/superpowers/specs/2026-04-26-f4-cf-cue.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# F4-C·F Cue 강화 Spec (Promoted)
|
||||
|
||||
**Extracted from:** `2026-04-25-dogfood-feedback.md` F4 §"C. 환경 앵커" + §"F. 정체성 고리"
|
||||
**Status:** 🚀 promoted — implemented 2026-04-26
|
||||
|
||||
## 결정 (mini-brainstorm 결과)
|
||||
|
||||
| 결정 | 값 | 근거 |
|
||||
|------|-----|------|
|
||||
| 트레이 색·뱃지 | nativeImage 색 변경 미지원 → tooltip + 메뉴 비활성 라벨로 대체 | 빈 아이콘 위에 색칠 비용 vs 텍스트 신호 비용 |
|
||||
| 트레이 메뉴 첫 항목 | count > 0: `오늘 N번 잡아둠` (비활성) | 시야에 들어오는 매 트레이 클릭에 정체성 노출 |
|
||||
| 트레이 tooltip | `Inkling — 오늘 N` (always) | 호버 시 즉시 신호 |
|
||||
| Inbox 헤더 | count > 0: `오늘 N번 잡아뒀다` / 0: `오늘은 처음 한 줄?` | F4-F 정체성 고리 + F4-E Zeigarnik priming 결합 |
|
||||
| 갱신 주기 | 60초 interval + AI worker onUpdate + focus event | renderer/store + main/tray 분리 |
|
||||
| count 정의 | KST 자정 기준 created_at | ContinuityService 와 같은 KST 정의 |
|
||||
|
||||
## 범위 (PR 안에 포함됨)
|
||||
|
||||
- `src/main/repository/NoteRepository.ts` — `countToday(now: Date = new Date()): number`
|
||||
- `src/main/ipc/inboxApi.ts` — `inbox:todayCount` 핸들러
|
||||
- `src/preload/index.ts` — `getTodayCount` 브리지
|
||||
- `src/shared/types.ts` — `InboxApi.getTodayCount()`
|
||||
- `src/renderer/inbox/store.ts` — `todayCount` 필드 + load/refresh
|
||||
- `src/renderer/inbox/components/IdentityCounter.tsx` — 신규 컴포넌트
|
||||
- `src/renderer/inbox/App.tsx` — 헤더에 IdentityCounter 추가
|
||||
- `src/main/tray.ts` — `refreshTray(todayCount)` export, 메뉴 첫 항목 동적 + tooltip 동적
|
||||
- `src/main/index.ts` — 60초 interval + AiWorker onUpdate hook
|
||||
- 테스트 — `NoteRepository.countToday` 4 케이스 (empty, KST date filtering, midnight crossover, default arg)
|
||||
|
||||
## 후속
|
||||
|
||||
- F4-A (잠금/잠금해제 hook) — measurement-dependent, dogfood soak 후
|
||||
- F4-D (variable interval random prompt) — measurement-dependent
|
||||
- F4-B (ambient if-then) — strategy 재검토와 묶임, 별 spec
|
||||
- 트레이 아이콘 PNG 색 변형 (count > 0 = 활성 색, 0 = 회색) — 별 spec, 아이콘 자산 필요
|
||||
Reference in New Issue
Block a user