th-kim0823
b860187b37
docs(spec): m007 → m008 정정 (m007 이 FTS 로 이미 사용중)
...
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-15 09:43:31 +09:00
th-kim0823
dbc0acbaf5
docs(plan): v0.4 notebooks + lifecycle implementation plan
...
20 task — m008 마이그레이션 → NotebookRepository → AI prompt + schema +
AiWorker 매칭 → store (notebooks + promotionCandidate) → Sidebar /
NotebookList / NotebookCreateModal / PromotionBanner → App 통합 (Cmd+B,
헤더 3탭, archived 제거) → search scope → CHANGELOG v0.4.0.
각 task TDD step (실패 test → 구현 → 통과 → commit). 모든 step 에 실제
code block 포함, placeholder 없음.
sync (Cut E) 와의 frontmatter notebook 통합은 본 plan 에서 deferred —
v0.4 본체 머지 후 별도 작업.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 17:56:16 +09:00
th-kim0823
ce27f7c500
docs(spec): v0.4 — Notebooks + Lifecycle Simplification design
...
기존 v0.3.2 Cut G design (사이드바 + notebook 카테고리) 을 v0.4 로 승격하면서
lifecycle 단순화 (archived 제거) + AI × Notebook 통합 (자동 fit 매칭 + tag 기반
promotion 제안) 을 함께 다룸. dogfood 19일 데이터 (archived 0건 / mlx-ops tag
6건이 사실상 컨텍스트 그룹 역할) 가 묶음 변경의 근거.
핵심 결정:
- notebook 모델 = 옵션 B (단일 DB + notebook_id), 다중 profile 옵션 A 는 v0.5+ 보류
- lifecycle 3분기 — active/completed/trashed, archived 제거 (마이그레이션 시 completed 로 합침)
- AI autonomy = 제안 + 1-click 수락 (새 notebook 자동 생성 X, fit 매칭만 자동 배치)
- promotion trigger = tag 3건 이상 default notebook 누적 (v0.4 first release 는 rule only)
- 사이드바 default hidden, Cmd+B / Ctrl+B 토글
선행 Cut G design (`2026-05-09-v032-cut-g-design.md`) 상단에 deprecate 노트 추가.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 17:38:04 +09:00
altair823
976d53ccfc
docs(plan): sync 도움말 4-task TDD 구현 계획
...
Task 1: SyncHelpModal 신규 (4 anchor 섹션)
Task 2: ConflictModal inline 설명 + onOpenHelp optional prop
Task 3: SyncSection 도움말 버튼 + modal mount + ConflictModal wiring
Task 4: README "원격 백업" → "동기화 (Git, Cut E)" 통째 재작성
각 task TDD (test → impl → typecheck → commit), 단위 +11.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 22:57:43 +09:00
altair823
e8c6b94d2e
docs(spec): sync 도움말 v0.3.4 — SyncHelpModal + ConflictModal inline + README
...
3 표면 (in-app modal + ConflictModal inline + README) 통합 도움말.
4 시나리오 카테고리: 메인 conflict / 자동 처리 / silent risk / setup·인증.
ConflictModal local/remote 각 옵션 inline 설명 + "자세히 보기" 링크 →
SyncHelpModal anchor jump.
다기기 dogfood 의 핵심 가치 검증 (sync) 인데 막힌 순간 도움말 부재 →
v0.3.0 Cut E + v0.3.3 hotfix 기반 공식 도움말.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 22:47:27 +09:00
altair823
bb909e44ff
chore(release): v0.3.2 — cleanup cut (잠재 bug + cosmetic 9 + #20 deferred)
...
backlog 잔여 23 → 14 (-9 처리, +1 deferred 잔존, +1 stale):
- 잠재 bug 4: vocabSet COLLATE / time-dep test flake / PII reason / KST inline
- cosmetic 5: 탭 ARIA / loadExpired 제거 / per-tag Promise.all / recall IPC on
/ OllamaSettingsModal 폐기 audit
- deferred: #20 (.catch debug log — CaptureService logger 미주입)
기록 정리: v0.2.2 stale memory 폐기 + v024-backlog 처리 이력 갱신
단위 710 → 724, typecheck 0
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-10 14:32:03 +09:00
altair823
4deb7775f3
docs(plan): v0.3.2 cleanup cut implementation plan (8 tasks)
...
Spec: 2026-05-10-v032-cleanup-design.md
Tasks: time-dep test fix / vocabSet COLLATE / PII reason / KST migration /
탭 ARIA + loadExpired / Promise.all / recall IPC + .catch / 기록 정리
목표 단위 710 → 약 720 (+10 신규, -2 제거), typecheck 0
2026-05-10 13:36:05 +09:00
altair823
d0d9461d75
docs(spec): v0.3.2 cleanup cut design — 잠재 bug 4 + cosmetic 6 + 기록 정리 2
...
backlog 잔여 23건 audit 결과:
- 잠재 bug 4건: vocabSet COLLATE / time-dep test flake / PII reason / KST inline 5 callsite
- cosmetic 6건: 탭 ARIA / loadExpired 제거 / per-tag Promise.all / recall IPC on / OllamaSettingsModal 폐기 audit / .catch debug log
- 기록 정리 2건: v0.2.2 stale memory 폐기 / v024-backlog 갱신
- 보류: data-dependent 9 + future-proof 2 (dogfood 후 재평가)
목표 단위 710 → 약 720 (+10), typecheck 0
2026-05-10 13:20:54 +09:00
altair823
2b3c3d727e
feat(v031): vision capability hints 에 gemma4 추가 (사용자 요청)
...
본인 dogfood 환경 = gemma4:e4b (텍스트). vision 변종은 현재 gemma3 (vision-capable)
또는 향후 gemma4 출시 시. 양 family 모두 hint 에 포함 — capability detection 이
future-proof.
- VisionDetect.VISION_FAMILIES + VISION_NAME_HINTS 에 'gemma4' 추가
- isVisionCapable test 2건 추가 (gemma4 family / gemma4 name hint detection)
- spec §1 + §2 의 'gemma3 family default' → 'gemma family — gemma3 / gemma4'
영향: 기존 detection 정확도 무영향 (set 추가만), 사용자가 gemma4 vision 변종을
설치하면 자동 인식.
2026-05-10 11:12:13 +09:00
altair823
7b536409a8
chore(release): v0.3.1 — Cut F (멀티모달 vision AI)
...
- F24 promoted (✅ v0.3.1 Cut F — Ollama vision 모델 capability detection + AiWorker integration)
- version 0.3.0 → 0.3.1 (semver patch — 새 기능, 기존 영향 X)
- 단위 679 → 710 (+31): VisionDetect 9 + SettingsService 4 + visionPrompt 2 + LocalOllamaProvider vision 3 + AiWorker vision 3 + IPC 5 + UI 4 + ImportService helper fix 5 (Cut E gap)
- typecheck 0 errors
- 자동 fallback (caption→text) + 'skipped' enum deferred v0.3.2+
2026-05-10 05:02:10 +09:00
altair823
7a56184ad2
docs(plan): v0.3.1 Cut F — 멀티모달 vision AI (spec 정정: 단위 679, SettingsService 개별 메서드, 'skipped' enum 미도입, fallback 미구현)
2026-05-10 04:38:45 +09:00
altair823
2ef4802050
chore(release): v0.3.0 — Cut E (양방향 git sync + Configure UI + Conflict resolution)
...
- F21 promoted (✅ v0.3.0 Cut E — A+B+C 옵션, both deferred)
- version 0.2.11 → 0.3.0 (semver MINOR — Major 영역 진입)
- 단위 608 → 680 (+72): GitClient 5 + upsertFromSync 5 + ImportService 18 + SyncService bidirectional 5 + resolveConflict 4 + SettingsService 6 + sync IPC 17 + SyncSection 4 + ConflictModal 3 + SyncTimer 5
- typecheck 0 errors
2026-05-10 04:01:41 +09:00
altair823
662abdb508
docs(plan): v0.3.0 Cut E — 양방향 git sync (spec 정정: 단위 608, ImportService.run 활용, 'sync' enum 미도입, both deferred)
2026-05-10 03:19:16 +09:00
altair823
5801a98a00
chore(release): v0.2.11 — Cut D (FTS5 search + 회고 view)
...
- F19 promoted (✅ v0.2.11 Cut D — A+D 옵션)
- version 0.2.10 → 0.2.11 (package.json + package-lock.json)
- 단위 569 → 606 (m007 6 + tags sync 2 + ftsHelpers 7 + search 6 + reviewAggregate 5 + IPC 3 + store 3 + SearchBox 2 + ReviewView 3 = 37 신규)
- typecheck 0 errors
2026-05-10 00:41:42 +09:00
altair823
1104a8c666
docs(plan): v0.2.11 Cut D — FTS5 search + 회고 view (spec m006→m007 정정 + ai_title/ai_summary + note_tags JOIN)
2026-05-10 00:11:12 +09:00
altair823
e32223d28c
chore(release): v0.2.10 — Cut C (raw_text 가변 + revision history)
...
- F20 promoted (✅ v0.2.10 Cut C)
- version 0.2.9 → 0.2.10 (package.json + package-lock.json)
- 단위 548 → 567 (m006 5 + create rev 1 + repo 6 + IPC 4 + NoteCard 1 + Modal 2 + findById 회귀 1)
- typecheck 0 errors
2026-05-09 20:53:18 +09:00
altair823
88ce78d860
docs(plan): v0.2.10 Cut C plan + spec m005→m006 정정 (Cut B 가 m005 선점)
2026-05-09 20:28:02 +09:00
altair823
07e61bc9e1
docs(plan): v0.2.9 Cut B implementation plan
...
17 task / 9 phase:
- Phase 1 (T1-2): m004 schema (status/status_changed_at/move_reason) + NoteRepository.setStatus/listByStatus + restoreNote 재구현
- Phase 2 (T3): ai_status 'disabled' enum + CaptureService aiEnabled 분기 (skip pending_jobs)
- Phase 3 (T4-5): useInbox view enum 4탭 + 헤더 4탭 UI + listByStatus IPC
- Phase 4 (T6-8): NoteCard 액션 메뉴 + MoveStatusModal (사유 입력 + 4 status 버튼) + setStatus IPC
- Phase 5 (T9-10): classifyStatus AI prompt + ai:classify-status IPC + AI 추천 UI
- Phase 6 (T11-12): OnboardingWizard 3 옵션 + 설치 가이드 + App.tsx 첫 launch 분기
- Phase 7 (T13-14): NoteCard ai_status='disabled' fallback (raw_text 첫 줄) + Banner ai_enabled=false 비활성 + HealthChecker polling 중단
- Phase 8 (T15-16): AiProviderSection AI 자동 처리 토글 + requeueDisabled (ON 전환 후 처리 버튼)
- Phase 9 (T17): 회귀 + dogfood F17/F18/F23 promoted + version 0.2.9 bump
선행 spec: 2026-05-09-v029-cut-b-design.md.
단위 472 → 약 510 (+38) 목표.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 17:59:00 +09:00
altair823
ba08190722
chore(release): v0.2.9 — Cut B (status 4분기 + 사유 + Ollama-less)
2026-05-09 16:40:06 +09:00
altair823
7d2b8c95ec
docs(v028+): F17~F25 dogfood + roadmap + Cut A~G specs + Cut A plan
...
v0.2.7 release 후 dogfood 9건 누적 (F17~F25) 정리:
- F17 휴지통 의미 분기 / F18 사유 입력 / F19 recall / F20 raw_text 가변
- F21 다기기 sync / F22 이미지 렌더링 (이미 v0.2.8 promoted) / F23 Ollama-less
- F24 멀티모달 vision / F25 사이드바 + 저장소
추가:
- v0.2.8+ roadmap: 7 cut 분할 (A~G), 12주 시간선, dependency graph
- Cut A~G design specs (각 cut 별 design 결정 + schema + UI + 테스트 전략)
- Cut A implementation plan (이미 v0.2.8 머지로 실행 완료, 참고 보존)
PR #26 머지 후 main 에 doc commits rebase 안 되어 manual merge 진행:
- F22 entry 는 origin/main 의 promoted 형태 우선
- 신규 9 파일 (specs/plan/roadmap) 은 origin/main 에 없는 파일
- "다음 항목 자리" 안내 F23 → F26 갱신
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-09 15:09:02 +09:00
altair823
29259eef32
chore(release): v0.2.8 — Cut A (이미지 렌더링 + 앱 아이콘)
2026-05-09 14:23:51 +09:00
altair823
ccfdbce79b
chore(release): v0.2.7 — cross-platform 입구 정상화 (F12 deeper + F14 + F15 빌드 + F16)
2026-05-07 02:37:13 +09:00
altair823
c9d374ade6
docs(v027): dist:linux 1차 빌드 시도 결과 (Windows 호스트)
2026-05-07 00:23:07 +09:00
altair823
66bae5e317
docs(v027): better-sqlite3 linux-x64 prebuild 가용성 검증
2026-05-07 00:15:12 +09:00
altair823
5a605ef98f
docs(v027): cross-platform 입구 정상화 implementation plan 작성
...
27 task / 6 phase. Phase 1 (Linux 빌드 risk-reduction first) → Phase 2
(설정 페이지 + IPC) → Phase 3 (트레이 슬림) → Phase 4 (F14 dock fix) →
Phase 5 (F12 deeper fix) → Phase 6 (cleanup + version bump).
각 task TDD red→green→typecheck→commit 순서. spec coverage / placeholder
/ type consistency self-review 통과.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 00:10:25 +09:00
altair823
c2be135031
docs(v027): cross-platform 입구 정상화 design 작성
...
F12 deeper fix + F14 + F15 (Linux 빌드만, CLI 제거) + F16 4묶음 —
v0.2.7 brainstorm 결과. dogfood-feedback.md F15 entry promoted/rejected
표시. F12/F14/F16 promoted 마킹은 design 확정 후 일괄 처리.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-06 23:59:39 +09:00
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
altair823
a51f241b94
docs(backlog): v0.2.6 cut 16건 처리 갱신 — 잔여 24건
...
처리 이력 표 갱신:
- v0.2.6 정식 cut (PR #24 , 머지 8bc33da ) 의 16 backlog 항목 모두 ✅ 표기
- B1 production path Critical fix (a991008 ) 별도 row 추가
- v0.2.6 final reviewer + round 1 minors (NoteRepository.countToday inline KST,
BackupService/ContinuityService inline KST, NoteRepository.test.ts as any,
OllamaSettingsModal #fce4e4 inline, kstDate naming, store trashCount race,
ExpiryBanner useEffect closure) deferred 표 추가
총 항목 46 / 처리 21 / stale 1 / 잔여 24.
명명 노트 갱신:
- v0.2.6 = 첫 정식 cut
- v0.2.7 = telemetry data-dependent 14건 + #45 deeper fix + deferred
- backlog file 본 파일은 v0.2.7 cut 시점에 prune + rename 검토
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 02:10:04 +09:00
altair823
6fdb72101f
docs(v026): plan — 13 task TDD (4 bug + 9 cleanup cluster + closure)
...
순서: B1 → B2 → B4 → B3 → C1 → C4 → C5 → C6 → C8 → C2+C3 → C7 → C9 → T13.
B3 (autostart) 위험 task 는 cleanup 시작 직전, fail 시 빠른 회피.
각 task 별 file path / 상세 step / commit message 포함.
신규 단위 추정 +14 (413 → ~427).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 01:12:15 +09:00
altair823
341f55505d
docs(v026): bugs + cleanup spec — 16 backlog 항목 → 13 task
...
bugs (4): #10 restore + pending_jobs / #12 trashCount cap / #45 autostart 풀림 / #46 hidden-start race
cleanup (12 → 9 cluster): KST helper / TrayCallbacks 객체 / refreshTrayFailedCount singleton /
AiFailedReason union / hasNoteId predicate / hydrate as any[] / Banner shared component /
exhaustiveness check / microfixes (channel rename + VOCAB_TOP_N + Modal URL pre-check + ratio 코멘트)
dogfood telemetry 필요 14건은 v0.2.7 영역. 별도 brainstorm 4건도 v0.2.7+.
게이트 추정: 단위 413 → 427 (+14). version 0.2.5 → 0.2.6.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 01:08:05 +09:00
altair823
b3e16ff5bc
docs(backlog): v0.2.4/v0.2.5 release 후 status 갱신 + #46 신규
...
Header / 처리 이력 / next-step 섹션 outdated 반영:
- 최종 갱신 2026-05-05 v0.2.5 critical hotfix 완료
- 처리 이력 표 — v0.2.4 5건 처리 + v0.2.5 single-instance lock (out-of-backlog hotfix)
- #46 신규 추가: PR #23 reviewer Important deferred (hidden-start race)
- #45 우선순위 v0.2.4 → v0.2.6 으로 이동 표기
- post-cut next-step (#38 ) status 갱신 — v0.2.5 release 완료, 다음 v0.2.6 brainstorm
- "v0.2.4 brainstorm" → "v0.2.6 brainstorm" 표현 통일
- 명명 노트 추가: 파일명 historic, v0.2.6 cut 시 prune + rename 검토
총 항목 46 / 잔여 40건.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 00:57:09 +09:00
altair823
298d1c6182
chore(release): v0.2.4 — patch cut (backlog 5건 처리 + dogfood unblock)
...
PR #21 머지 후 v0.2.3.1 binary 빌드 시도 → electron-builder semver 검증
실패 (4-part X.Y.Z.W 비호환). v0.2.4 minor bump 으로 우회.
본 cut 동봉:
- 0.2.3.1 의 in-app Ollama 설정 UI (PR #21 fee982a )
- backlog #2 (DAY_MS 상수)
- backlog #6 (media.gc .catch)
- backlog #13 (NoteCard onDeleted optional)
- backlog #44 (버전 정보 트레이 메뉴)
- backlog #1 stale 표기 (PR #13 시 이미 fix)
게이트: typecheck 0 / 단위 413 / e2e 1
다음: PR + 머지 후 binary 빌드 v0.2.4 + Gitea release
v0.2.5 brainstorm 트리거 시 잔여 backlog 39건 일괄 triage
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 00:15:51 +09:00
altair823
4bde148cdc
docs(v024): patch cleanup spec — 5 backlog 항목 + version bump
...
0.2.3.1 semver 위반 → 0.2.4 minor bump 이용해 backlog risk 낮은 cleanup
5건 + dogfood 가치 #44 묶음 cut. v0.2.4 정식 brainstorm 은 v0.2.5 로 이동.
In: #1 (now() 2번), #2 (DAY_MS), #6 (media.gc .catch), #13 (NoteCard onDeleted),
#44 (버전 정보 surface), version bump
Out: #45 (autostart bug — 별도 cut), #3/#4/#5/#22/#26 (큰 refactor),
#39~#43 (PR #21 deferred — v0.2.5 brainstorm)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 00:09:56 +09:00
altair823
8ba43d939e
docs(backlog): v0.2.3.1 dogfood 발견 +2건 ( #44 버전 정보, #45 자동실행 버그)
...
PR #21 머지 후 dogfood 중 사용자 발견:
- #44 : 버전 / 빌드 정보 표시 surface 부재 (트레이 / Inbox footer / About 모달)
- #45 : 윈도우 자동 실행 옵션 재시작 후 풀려있는 버그
(tray.ts:47-58, app.setLoginItemSettings + getLoginItemSettings 비대칭)
PR review deferred 와 별개의 raw UX/bug 발견. 신설 섹션 "v0.2.3 / v0.2.3.1
dogfood 발견" 으로 분리 — v0.2.4 brainstorm 시 우선순위 결정.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-05 00:02:40 +09:00
altair823
d974335ee4
docs(backlog): v0.2.3.1 round 1 review m2/i1 + 신규 항목 5건 추가
...
PR #21 round 1 review 에서 deferred 항목들 backlog 38 → 43:
- #39 (m2): ollama_unreachable.reason 의 endpoint URL PII 우회 노출
- #40 (i1): save vs HealthChecker tick race UX flicker
- #41 : OllamaSettingsModal 인라인 스타일 (#24 와 합산)
- #42 : Modal client-side URL validation 부재
- #43 : createTray 10번째 positional callback (#4/#26 blocker)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-04 23:54:50 +09:00
altair823
71ec79ae19
docs(ollama-settings): v0.2.3.1 plan — 7 tasks TDD + 10 단위 cases
...
T1 SettingsService (JSON 영속화 + zod, +6 cases)
T2 LocalOllamaProvider abort + model param (+2 cases)
T3 ProviderHolder + AiWorker/HealthChecker refactor (+2 cases)
T4 index 부팅 + IPC + preload + types
T5 OllamaSettingsModal + App.tsx + OllamaBanner 링크
T6 트레이 메뉴 "Ollama 설정..."
T7 Closure (version 0.2.3 → 0.2.3.1 + gates)
총 신규 단위 +10. 단위 403 → 413.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-04 23:21:00 +09:00
altair823
97ca119b55
docs(ollama-settings): v0.2.3.1 spec — in-app endpoint/model 설정
...
mini-brainstorm 3개 결정:
- Q1=B: Endpoint + Model 둘 다 포함
- Q2=A: Freetext input (dropdown 은 v0.2.4 영역)
- Q3=B: JSON file (`<profileDir>/settings.json`, migration v4 회피)
자명 결정 (질문 없이 패턴):
- precedence: settings > env > default
- in-flight: AbortController abort + provider re-create
- UI: 트레이 + OllamaBanner 진입점, React modal
- validation: save 전 healthCheck
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-04 23:17:23 +09:00
altair823
b259734aa0
docs(backlog): v0.2.4 backlog memory → repo 이동
...
v0.2.3 cut 7항목 동안 final reviewer + PR review 에서 발견된 minor/nit
중 의도적 deferred 38건 누적. 기존엔 user-level memory 에만 있어
사용자가 직접 보거나 편집 어려움 → repo 안으로 lift.
dogfood 1주 soak 동안 user 가 직접 prune / 우선순위 표시 / 새 항목 추가
가능. v0.2.4 brainstorm 진입 시 본 doc 가 1차 backlog reference.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-04 22:18:07 +09:00
altair823
348e9ee402
chore(recall): #6 closure — strategy.md 갱신 + roadmap mark + 게이트 검증
...
- strategy.md §2.3 (오늘 회상 surface) / §4.3 (F4 측정 인프라) / §8 (banner stack) 갱신
- typecheck 0 / 단위 403 / e2e 1
- v0.2.3 7/7 — 모든 cut 완료. 다음: v0.2.3 binary 빌드
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 13:30:49 +09:00
altair823
746671059e
docs(recall): #6 plan — 8 tasks TDD + 17 단위 cases (v0.2.3)
...
8 task TDD plan:
T1 NoteRepository (find/markOpened/dismiss, +5 cases)
T2 telemetryEvents (recall_shown 4 union members, +3 cases)
T3 telemetryStats + EmitInput union 19 (+2 cases)
T4 CaptureService (5 methods, +4 cases)
T5 IPC + preload + types (5 channels)
T6 Renderer store (recallCandidate + 4 actions, +3 cases)
T7 RecallBanner + App.tsx + NoteCard id
T8 closure (strategy.md + roadmap + gates)
총 신규 단위 +17. 단위 386 → 403 예상.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 13:08:32 +09:00
altair823
e6494b8778
docs(recall): #6 spec — RecallBanner + 4 telemetry events (v0.2.3)
...
mini-brainstorm 2개 결정:
- Q1=A: snooze in-memory (KST 다음 자정, ExpiryBanner 패턴 일관)
- Q2=B: ageDays = last_recalled_at ?? created_at 기준
자명 결정:
- Banner 위치: ExpiryBanner 다음 (stack 끝)
- 0건 시 null return
- "열어보기" 동작: scrollIntoView (NoteCard 항상 expanded)
- scroll target: id="note-${id}" (ref 시스템 복잡도 회피)
핵심 invariants 6개 + privacy invariant + tests 17개 약속.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 13:03:58 +09:00
altair823
ff07738b02
chore(tag-vocab): #3 closure — gates verified + roadmap mark complete
...
- typecheck 0 / 단위 384 / e2e 1
- v0.2.3 6/7 (#3 태그 vocab 머지)
- 다음: #6 리마인드 spike (마지막 항목)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 12:37:30 +09:00
altair823
853ca39c0d
docs(tag-vocab): #3 plan — 8 tasks TDD + 21 단위 cases (v0.2.3)
...
8 task TDD plan:
T1 NoteRepository (getTopUsedTags + getTagIdByName, +7 cases)
T2 prompt.ts (PROMPT_VERSION 4 + vocab param, +4 cases, 신규 prompt.test.ts)
T3 InferenceProvider + LocalOllamaProvider (vocab passthrough, +1 case)
T4 telemetryEvents (zod schemas, +3 cases)
T5 telemetryStats (누적 + summary, +2 cases)
T6 TelemetryService EmitInput + narrowing 확장
T7 AiWorker (vocab fetch + per-tag emit, +4 cases)
T8 closure (gates + roadmap)
총 신규 단위 +21 (spec budget 19 + 2 surplus). 단위 363 → 382 (±5) 예상.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 12:07:28 +09:00
altair823
8206462ee4
docs(tag-vocab): #3 spec — vocab pool/telemetry/prompt 강도/재처리 결정 (v0.2.3)
...
mini-brainstorm 4개 결정:
- Q1=C: vocab pool = AI+user 통합 + kebab-case 필터
- Q2=A: telemetry emit 단위 = 태그별 (per-tag hit/miss)
- Q3=B: prompt 강도 = "Prefer" (우선, MUST 아님)
- Q4=A: 기존 노트 재처리 = 자연 진화 (X)
핵심 invariant 6개 + privacy invariant + tests ≥19개 약속.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 12:02:06 +09:00
altair823
95bbe9cd22
chore(retry): #2 closure — gates verified + roadmap mark complete
...
- typecheck 0 errors
- 단위 362/362 (T1~T7 누적 18 신규)
- e2e 1/1
- roadmap §3 #2 ✓ 완료 마커
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 03:37:34 +09:00
altair823
821db4001d
docs(plan): v0.2.3 #2 AI retry / 수동 trigger 구현 계획
...
8 task TDD 분할 + 단위 ≥ 18개 (spec §6 의 17개 충족 + 1 over):
- T1 NoteRepository — findFailedIds/countFailed/retryAllFailed/setNextRunAt
- T2 AiWorker unreachable/timeout 무한 retry (15분 cap)
- T3 telemetry ai_retry_manual + stats
- T4 CaptureService.retryAllFailed + IPC 2채널
- T5 store retryAllFailed action + failedCount
- T6 FailedBanner + App.tsx mount
- T7 tray '지금 AI 처리' 9th callback
- T8 closure
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 03:08:06 +09:00
altair823
f50cabcc62
docs(spec): v0.2.3 #2 AI retry / 수동 trigger design
...
mini-brainstorm 결정 3개:
- Q1=A unreachable backoff cap 15분 (30s→60s→120s→240s→480s→900s)
- Q2=A timeout 도 unreachable 동일 (무한 retry, attempts 증가 안 함)
- Q3=A retry-all 만 (per-note 버튼 v0.2.4)
AiWorker unreachable/timeout 무한 retry + schema/other max 3 유지
+ retryAllFailed atomic + FailedBanner (Inbox stack 4번째)
+ tray '지금 AI 처리 (실패 N건)' 9th callback
+ ai_retry_manual telemetry.
roadmap §3 #2 deviation 1건 (timeout) 의식적 — v0.2.4 dogfood 데이터로 영구 hang 케이스 식별 후 가다듬기.
T1-T8 작업 순서 + 단위 ≥ 17개.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 03:00:49 +09:00
altair823
d8f4ae5f6b
chore(ollama): #1 closure — gates verified + roadmap mark complete
...
- typecheck 0 errors
- 단위 344/344 (T1~T7 누적 17 신규)
- e2e 1/1
- roadmap §3 #1 ✓ 완료 마커
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 01:47:54 +09:00
altair823
f299926f58
docs(plan): v0.2.3 #1 Ollama 회복 polling 구현 계획
...
8 task TDD 분할 + 단위 ≥ 17개 (spec §6 의 12개 충족 + 5 over):
- T1 HealthChecker.start/stop + delta + onTelemetry hook
- T2 telemetry 3 events + stats.md (downtime 평균 / unreachable 빈도 / recheck 사용량)
- T3 main wiring — health.start + before-quit stop + onUpdate→push
- T4 IPC inbox:ollamaRecheck + pushOllamaStatus helper
- T5 InboxApi + preload + store recheckOllama + onOllamaStatus subscriber
- T6 tray 'Ollama 재확인' 메뉴 + 8th callback
- T7 OllamaBanner 재확인 button
- T8 closure
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 01:22:06 +09:00
altair823
050e7f08f1
docs(spec): #1 ollama — runOnce({manual}) + ollama_recheck_manual via hook
...
§2.1 / §3.2 / §11 보강 — IPC handler 가 직접 telemetry.emit 안 하고
HealthChecker.runOnce({ manual: true }) 호출 → onTelemetry hook 으로
ollama_recheck_manual 발화. 단위 테스트 가능 (HealthChecker 레이어).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-02 01:18:28 +09:00