Files
inkling/docs/superpowers/specs/2026-04-26-f4-cf-cue.md
altair823 72e69fb53a 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 경로를 명시.
2026-04-26 11:49:48 +09:00

2.1 KiB

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.tscountToday(now: Date = new Date()): number
  • src/main/ipc/inboxApi.tsinbox:todayCount 핸들러
  • src/preload/index.tsgetTodayCount 브리지
  • src/shared/types.tsInboxApi.getTodayCount()
  • src/renderer/inbox/store.tstodayCount 필드 + load/refresh
  • src/renderer/inbox/components/IdentityCounter.tsx — 신규 컴포넌트
  • src/renderer/inbox/App.tsx — 헤더에 IdentityCounter 추가
  • src/main/tray.tsrefreshTray(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, 아이콘 자산 필요