Files
inkling/docs/superpowers/strategy/dogfood-strategy.md
altair823 9f47c13649 docs(dogfood): v0.2.6 release 후 dogfood 문서 갱신
dogfood-feedback.md (F1~F7 → F1~F13):
- Header: 진척 흐름 요약 표 추가 (v0.2.3 ~ v0.2.6 cuts + 신규 dogfood 발견)
- F8 Windows 11434 reserved → v0.2.3.1/v0.2.4 (PR #21/#22)
- F9 multi-instance spawn → v0.2.5 critical hotfix (PR #23)
- F10 버전 정보 부재 → v0.2.4 트레이 "Inkling 정보..." 추가
- F11 single-instance lock 부재 (F9 흡수)
- F12 autostart 풀림 → v0.2.6 진단 fallback (drafting, dogfood verify 후 v0.2.7)
- F13 PR review 발견 (restoreNote production path dead code) → v0.2.6 round 1 Critical fix

dogfood-strategy.md (Day 0 환경 step 갱신):
- v0.2.6 binary release 기준
- Ollama 설정: in-app UI (트레이 "Ollama 설정...") 가 1차, env var fallback 그 다음
- 11434 reserved 머신 우회 절차 (OLLAMA_HOST=127.0.0.1:11942)
- 데이터 위치 확인: 트레이 "Inkling 정보..." → "데이터 위치 열기"
- autostart 확인 절차 (F12 dogfood verify 영역)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 02:28:37 +09:00

13 KiB

Inkling — Dogfooding 전략

작성일: 2026-04-25 최종 갱신: 2026-05-05 (v0.2.6 release 후 — environment step 갱신, 현재 단계 표기) 대상: 김태현 (저자 본인) — 슬라이스 v0.4 → v0.2.6 dogfood 진행 중 스펙 의존: 2026-04-24-inkling-vertical-slice-design.md v0.4 §1.3 (종료 조건) + 2026-05-01-v023-feedback-roadmap-design.md (v0.2.3 7항목 cut) 전략 의존: strategy.md §1·§2·§5 (행동 정의, Capture→Clarify→Capitalize, 회복 친화 스트릭) 현재 binary: v0.2.6 (Inkling Setup 0.2.6.exe — 2026-05-05 release)


0. 목적

이 문서는 슬라이스 v0.4 의 종료 조건을 충족시키는 2주 자기 dogfood 운영안이다. 외부 베타 모집 전에 본인이 먼저 매일 쓰면서 세 가설을 검증한다.

# 가설 출처 측정 방법
H1 전역 단축키 → 입력 → 저장이 실제로 3초 내 마찰 없이 이뤄진다 spec §0 일일 로그의 마찰 사건 수 + 주관 평점
H2 LAN Ollama(gemma4:e4b)가 한국어 제목·3줄 요약·태그를 실용 가능 품질로 생성한다 spec §0 10건 중 7건 이상 사용자 수용 (spec §1.3)
H3 Capture→Clarify→Capitalize 행동 루프와 회복 친화 스트릭이 "메모를 던지고 싶은 충동"을 만든다 strategy §2·§5 7일 이내 3일 연속 기록(Aha) + 2주 dogfood 완주

가설 검증이 목적이지 기능 추가가 목적이 아니다. dogfood 중 떠오르는 아이디어는 별도 백로그로 적고 슬라이스 코드에 손대지 않는다 (예외: 크래시·데이터 손실급 버그).


1. 시작 체크리스트 (Day 0)

dogfood 첫 날 시작 전, 환경을 한 번에 정렬한다.

1.1 환경

v0.2.6 release 기준 (2026-05-05 갱신):

  • 설치: Gitea release 페이지 (https://gitea.altair823.xyz/altair823-org/inkling/releases/tag/v0.2.6) 에서 Inkling-Setup-0.2.6.exe 다운로드 + 설치
    • 또는 source 빌드: npm run dist:win (Windows) / npm run dist:mac (Mac arm64)
  • Ollama 설정 (v0.2.3.1 PR #21 부터 in-app 가능):
    • 트레이 메뉴 → "Ollama 설정..." → endpoint + model 직접 입력
    • 또는 env var fallback: INKLING_OLLAMA_ENDPOINT=http://192.168.0.47:11434 (LAN 서버)
    • 또는 default: http://localhost:11434 (로컬 ollama serve 시)
    • Windows 11434 reserved 머신 (Hyper-V/WSL2 사용 시): OLLAMA_HOST=127.0.0.1:11942 setx + Inkling 설정 endpoint 도 11942 (자세한 내용 F8)
  • LAN Ollama 에 gemma4:e4b 가 pull 된 상태 확인 (curl <endpoint>/api/tags)
  • 윈도우 트레이에 Inkling 아이콘 떠 있음 (단일 instance — v0.2.5 PR #23 hotfix 로 multi-spawn 차단)
  • Ctrl+Shift+J 가 다른 앱(Chrome, Edge DevTools 등)에 충돌 없이 잡힘
  • OS 알림 권한 허용 — 첫 토스트 후 시스템 트레이에서 확인
  • 데이터 위치 확인 (v0.2.4 PR #22 트레이 "Inkling 정보..." → "데이터 위치 열기" 로 즉시 확인):
    • Windows: %APPDATA%\Inkling\Inkling\profiles\default\inkling.sqlite
    • macOS: ~/Library/Application Support/Inkling/Inkling/profiles/default/inkling.sqlite
    • 이전 dogfood 데이터 분리하려면 이 디렉터리 백업·삭제
  • autostart 확인 (v0.2.6 진단 fallback 적용 중, F12 dogfood verify 영역): 트레이 메뉴 "윈도우 시작 시 자동 실행" 체크 → 종료 → 재실행 → 체크박스 유지 여부 확인 (autostart.state 로그 같이 확인 = <userData>/Inkling/logs/main-YYYY-MM-DD.log)

1.2 dogfood 로그 파일 준비

docs/dogfood/2026-04-25-week1.md 를 새로 만든다. 이 문서는 매일 한 줄 이상 채우고 dogfood 종료 시 회고 자료가 된다. 슬라이스 종료 후 commit (Inkling 자체에 메모하지 않는 이유: 본 dogfood 가 깨지면 메모가 묶여 사라지므로).

템플릿 — §6 참조.

1.3 사전 마음가짐

  • "메모를 잘 써야 한다" 가 아니라 "지금 머릿속에서 꺼낸다" (strategy §1).
  • 오늘 0건이라도 죄책감 금지. 0/7 도 "이번 주 한 줄이면 시작입니다" 라는 슬라이스 카피 자체가 본인을 향한다.
  • 기록의 품질은 AI 와 미래의 자신이 책임진다. 사용자의 책임은 캡처뿐.

2. 일일 운영안

2.1 트리거 (실행 의도, strategy §3)

매번 "메모할까 말까" 를 판단하면 마찰이 누적된다. 다음 if-then 두 개를 본인 캘린더·습관에 박는다.

  • 회의 종료 후 → Ctrl+Shift+J 1회. 결정 / 액션 / 리스크 중 하나만.
  • 퇴근 10분 전 → Ctrl+Shift+J 1회. "오늘 다시 찾고 싶을 것" 한 줄.

이 두 트리거가 dogfood 1주차의 최저 행동 기준이다. 추가 캡처는 보너스.

2.2 캡처 규칙

  • 한 줄로 충분. 20자 이하도 OK.
  • 제목 고민 금지 — AI 가 생성.
  • 클립보드 이미지가 있으면 paste, 없으면 텍스트만.
  • 저장 후 토스트 ("이 생각은 이제 Inkling이 들고 있습니다." 등) 가 떴는지 확인. 안 떴으면 §5.1 마찰 로그 항목.

2.3 Inbox 점검 (하루 1회, 5분)

  • 저녁에 Inbox 열기.
  • 오늘 캡처한 노트의 AI 제목·요약·태그 검토. 사용자 수용 가능 = 손대지 않음. 부족 = 인라인 편집.
  • "의미 한 줄" 배너가 뜬 노트 중 1~2개만 입력. 나머지는 skip 가능 (배너는 1회만 노출되므로 부담 없음).
  • AI 가 pending 으로 멈춰 있으면 OllamaBanner 가 뜸 → LAN Ollama 상태 확인.

2.4 주간 회고 (일요일 KST 22:00, 30분)

  • Weekly Continuity 배지 캡처: 이번 주 N/7 + 연속 K주.
  • 일일 dogfood 로그를 빠르게 읽고 §3 의 지표를 채움.
  • 다음 주 트리거 조정 — 너무 빈번이면 1개로 줄이고, 너무 드물면 1개 추가.

3. 측정 지표

매일 / 매주 갱신할 숫자. 자동 추적 인프라는 슬라이스 범위 밖이라 수기로 적는다. 단, Inbox 의 노트 수와 Weekly Continuity 배지는 앱이 직접 보여준다.

3.1 행동 지표 (매일 1줄)

지표 의미 출처
일일 캡처 수 오늘 던진 노트 수 Inbox
Time to Capture (체감) 단축키 → 저장까지 체감 초 (>3초면 마찰 사건) 본인 추정
트리거 응답률 회의 후·퇴근 전 트리거에 실제로 캡처한 횟수 / 트리거 발생 횟수 본인 카운트
AI 수용률 AI 생성 필드를 그대로 둔 노트 수 / 전체 캡처 수 Inbox 의 "AI" 라벨 잔존율
pending 스택 24시간 이상 pending 상태로 남은 노트 수 Inbox PendingBanner

3.2 주간 지표 (일요일 갱신)

지표 합격 기준 (slice §1.3 기반)
Weekly Continuity ≥ 7/7
Aha Moment 설치 후 7일 이내 3일 연속 기록 — 1주차 안에 충족 (inkling.md §7.1)
AI 수용률 (주 평균) ≥ 70%
앱 크래시 0 회
데이터 손실 0 건 (재시작 후 노트 사라짐 0)

3.3 심리 지표 (주말 5문항, 1~5점)

strategy §10 의 정성 설문을 슬라이스 규모로 축약. 매주 일요일에 자기 평가.

  1. Inkling 덕분에 업무 기억 부담이 줄었다 (인지적 오프로딩)
  2. 나는 업무 중 중요한 것을 놓칠 가능성이 줄었다 (자기효능감)
  3. 기록이 귀찮은 일이 아니라 도움이 되는 일로 느껴진다 (내재화)
  4. 나는 이제 "기록하는 사람" 에 가까워졌다 (정체성 변화)
  5. 0/7 → N/7 회복 카피가 죄책감 대신 안도감을 줬다 (strategy §5 회복 친화 검증)

평균이 3.0 미만이면 슬라이스 가설 H3 (행동 루프 흡인력) 가 약하다는 신호 — 다음 spec 우선순위에 반영.


4. 운영 모드별 시나리오

4.1 LAN Ollama 다운

  • OllamaBanner 가 노란색으로 뜸. 캡처는 계속 동작, AI 처리만 멈춤.
  • LAN 서버 살아나면 AiWorker 가 자동 재처리 (3-attempt backoff: immediate / 30s / 120s).
  • dogfood 영향: AI 수용률 측정 1일 누락. 다음 날 다시 측정.

4.2 단축키 충돌

  • DevTools 열린 Chrome/Edge 가 우선권. Quick Capture 안 뜸.
  • 임시 우회: 트레이 아이콘 → "기억 구출" 메뉴.
  • 마찰 사건으로 로그하고, 충돌 빈도가 주 3회 넘으면 후속 spec 에 단축키 변경 안건.

4.3 0/7 주

  • 회복 카피 ("이번 주 한 줄이면 시작입니다") 가 떴는지 확인. 안 떴으면 ContinuityService 버그.
  • 회복 카피가 정상 노출됐다면 dogfood 가 진행 가능 — 죄책감 금지가 슬라이스 자체의 가설.
  • 2주 연속 0/7 이면 H3 명확히 미달. spec §0 가설 재검토.

4.4 크래시·데이터 손실

  • 즉시 dogfood 중단. %APPDATA%\Inkling\default\inkling.db 와 로그 (%APPDATA%\Inkling\logs\) 백업.
  • 슬라이스 invariant 위반 — 후속 작업 최우선. 본 dogfood 는 crash fix + 검증 후 재개.

5. dogfood 중 떠오른 아이디어 처리

5.1 마찰 로그 vs 백로그 vs 슬라이스 패치

dogfood 중 발견하는 사항은 세 묶음으로 분류한다.

유형 예시 처리
슬라이스 invariant 위반 raw_text 가 변형됨, "실패" 문구가 UI 에 노출됨, 노트 손실 즉시 슬라이스 패치 (spec §3.3)
마찰 사건 단축키 충돌, 토스트 안 뜸, 캡처 → 저장 5초 이상 일일 로그 §6 항목에 기록, 주말 회고에서 분류
신기능 아이디어 "주간 자동 요약 보고서", "노트 검색", "캘린더 트리거" docs/superpowers/specs/ 에 후속 spec 초안. 슬라이스 코드 미수정

dogfood 중 슬라이스 코드에 신기능을 추가하는 것은 금지. 본 dogfood 의 가설 검증 자체가 무효화된다.


6. 일일 로그 템플릿

docs/dogfood/2026-MM-DD-weekN.md 에 매일 추가. 한 줄도 OK.

# Week N · YYYY-MM-DD (요일)

## 캡처
- 일일 캡처 수: __
- 트리거 응답: 회의후 _/_ · 퇴근전 _/_

## AI
- 수용률 체감: __%
- AI 가 거의 손대지 않은 노트: __
- AI 결과가 부족해 편집한 노트: __

## 마찰 사건 (있으면 1줄씩)
- 

## 오늘 가장 잘 구출한 메모 1개
- (제목만, 본문은 적지 않음 — 로그는 git 에 들어가므로)

## 자유 메모
- 

7. 종료 판정

2주차 마지막 날 (= 14일째) 에 다음을 평가한다.

7.1 Pass — 다음 spec 으로

다음 모두 충족 시 슬라이스 종료 + v0.2.0-slice git tag + 다음 spec 작성.

  • 2주 연속 dogfood 완주 (1주차 최소 5일, 2주차 최소 5일 캡처)
  • AI 수용률 주 평균 ≥ 70%
  • Weekly Continuity 2주 모두 ≥ 7/7
  • 크래시 0회 + 데이터 손실 0건
  • 심리 지표 주 평균 ≥ 3.0

7.2 Conditional Pass — 슬라이스 패치 후 1주 추가

H1 (3초 마찰) 또는 H2 (AI 품질) 만 미달, 그 외는 충족.

  • 마찰 사건 패치 또는 프롬프트 튜닝 → 슬라이스 패치 PR 1회
  • 추가 1주 dogfood 후 재평가

7.3 Fail — 가설 재검토

H3 (행동 루프) 미달 또는 다중 가설 미달.

  • spec §0 의 가설 수정 또는 슬라이스 범위 조정
  • 본 dogfood 종료, 외부 베타 보류
  • strategy §11 의 A/B 테스트 항목으로 직진 (실험 4 = 매일 스트릭 vs 주 3회 연속성 → 본 슬라이스가 후자 채택, 그 가설을 다시 의심)

8. 외부 베타 직전 점검 (slice 종료 후)

본 dogfood 가 Pass 여도, 외부 10인 베타 전에 다음을 추가로 확인한다 — 본 문서 범위 밖이지만 메모 차원으로 적어둠.

  • 다중 프로필·잠금 (privacy)
  • 코드 서명·SmartScreen
  • 자동 업데이트
  • 충돌 리포팅

이 항목들은 slice 후속 spec 에서 다룬다.


부록 A. dogfood 와 슬라이스 자체의 차이

이 dogfood 는 슬라이스 v0.4 의 종료 조건을 충족시키는 활동이다. 그러므로:

  • 일정: 14일 고정
  • 산출물: dogfood 로그 (docs/dogfood/) + Pass/Fail 판정 메모
  • 책임자: 본인 (외부 참여 없음)
  • 평가 시점: Day 14 의 회고

이는 inkling.md §7.1 의 Aha Moment (사용자 일반론) 와 다르다. Aha 는 슬라이스가 충족시켜야 할 부분 조건이고, 본 dogfood 종료는 슬라이스 자체의 졸업 시험이다.

부록 B. 카피 회수 검증 항목

본 dogfood 는 strategy 문서의 카피 정책이 실제 본인 감정에 어떻게 닿는지 검증할 수 있는 마지막 단계다. 다음 카피가 "본인을 향했을 때 적절한가" 를 매주 1점만 추가 평가:

  • "이 생각은 이제 Inkling이 들고 있습니다."
  • "🌱 흐름을 다시 이어갑니다"
  • "이번 주 한 줄이면 시작입니다"
  • "내일의 내가 알아야 할 것은?"

이 평가가 낮으면 다음 spec 의 카피 카탈로그 갱신 안건.