| v0.1 Spine (done) |
Memory + RAG + KG-lite + CLI/API/Streamlit + tests/CI |
Model router, SQLite memory store, Chroma ingest/retrieve, grounded RAG with citations, minimal KG, 3 interfaces |
Ingest real notes; ask questions; get cited answers; offline-capable for ingest/retrieve |
| v0.2 Agent + Tools (done) |
Base Agent loop, typed tool layer, 4 safe tools across all 3 permission tiers, permission + audit |
Agent class (plan-act-reflect, structured JSON steps), ToolRegistry, memory_search/remember/read_file/web_fetch tools, audit log via store.log/store.recent_audit |
Agent completes a multi-step task using tools, fully logged; every tool call permission-gated; unauthorized/invalid calls fail as an observation, not a crash |
| v0.3 Proactive + Router+ (done) |
Proactive review job, richer router (multi-provider verification) |
review/weekly.py (recent + forgotten-but-important surfacing, stored as new memory), ModelRouter.complete_with_verification() (agreement via local embeddings, no paid provider needed), ask --verify |
Agent/review surfaces something useful unprompted; disagreement between providers is flagged, not silently picked |
| v1.0 Personal assistant (done) |
Real integrations (Gmail/Drive via existing MCP), installable package, daily-use polish |
integrations/ (credential-free ingestion, idempotent by doc_id), cli ingest-external, POST /integrations/sync, [project.scripts] console entry point (personal-llm), --version, doctor (provider/data health check) |
Real inbox/drive-aware answers proven live with real Gmail threads + a real Drive doc; pip install -e . produces a working personal-llm.exe; doctor is the first command to run before daily use |
| v2 Voice + Vision (done) |
Local STT/TTS, OCR image ingestion, Gemini vision Q&A - reclassified from speculative to built (ADR 0006) |
voice/stt.py (faster-whisper), voice/tts.py (pyttsx3), vision/ocr.py (pytesseract, Tesseract-optional like Ollama), ModelRouter.describe_image(), cli transcribe/ask-voice/describe-image, POST /voice/transcribe, /voice/ask, /vision/describe, /vision/ingest |
TTS->STT round trip verified live with real local models (no mocks); OCR/Gemini-vision verified live too, correctly degrading since Tesseract/API key aren't provisioned yet |
| v3 (speculative) |
Multi-device sync, SDK/plugin marketplace, continuous learning loops, voice cloning, live multi-speaker |
Architecture allows it; not designed in detail yet |
Revisit only if there's a second user/device, or a specific need for the harder voice/vision capabilities |