본인 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 변종을
설치하면 자동 인식.
final code review (Opus) 발견 minor issues 중 valuable 2건:
1. settings:refresh-vision-cache 가 settings.ollama.endpoint 만 체크 — env / default
fallback 누락. dev 환경 (env var only) 사용자가 manual 다시 감지 시 'no_endpoint'
silent fail. → index.ts 의 resolvedEndpoint 와 동일 fallback 체인 (settings → env →
DEFAULT_OLLAMA_ENDPOINT).
2. AiWorker 의 5MB cap 이 readFile + base64 변환 후 throw — retry 마다 동일 비용 반복.
note.media[].bytes 가 DB 에 이미 있으니 readFile 전 fast-fail. 비용 절감 + 동일 회로
(markAiFailed 도달).
회귀 test 영향 없음 (기존 5MB throw 시나리오 그대로 — fast-fail 도 throw 분기 동일).