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:
altair823
2026-04-26 11:49:48 +09:00
parent bcd1151a24
commit 72e69fb53a
2 changed files with 39 additions and 2 deletions

View File

@@ -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, 측정 후 결정
### 관찰

View 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, 아이콘 자산 필요