v0.5.0
Engineering changes
Added
- Save & index — Review toolbar saves to Inbox and ingests in one step (notebookId field, persisted in browser)
- Chat search index panel — Index sidebar: Not indexed (Inbox drafts), In search (indexed pages); index selected/all; remove draft; remove page/notebook from search
- lib/index_manage.py — list pending/indexed entries, ingest from Inbox, delete drafts, remove Chroma chunks
- RAG source viewer — View source on citations: original scan preview (HEIC→JPEG via sips), all region boxes gray, yellow highlight on the cited region(s); Browse all carousel (←/→) across sources; Open in Review deep link ?asset=
- lib/asset_regions.py — regions.json beside each original on Review save (bbox + text for highlights)
- lib/source_view.py — build source view; match highlights using user question + chunk excerpt
- Server restart — Restart in Chat toolbar (mirrors Review)
- GET /api/asset (Review) and POST /api/source (Chat) for source material
- lib/ocr_patch.py — user-drawn bbox wins on Add region OCR patch
- Tests — tests/test_index_manage.py, tests/test_source_view.py, tests/test_ocr_patch.py
Changed
- ingest.py — chunk ids {notebook}:{asset_id}:{index}; metadata source_file, chunk_id
- lib/rag.py — Source includes excerpt, asset_id, chunk_id, source_file
- review/static/review.js — Focus/Map/Add modes, region resize, keyboard shortcuts skip text inputs; load asset from ?asset=
- chat/static/ — index management UI, source dialog, actionable sources
Fixed
- lib/store.py — remove ids from Chroma include (0.5.x API); fixes query errors in Chat
- lib/ocr_apple.py — HEIC→JPEG before Vision; robust JSON parse on noisy stdout
- Review M/A/F shortcuts no longer fire while typing in Notebook id or OCR text fields