Commit Graph

200 Commits

Author SHA1 Message Date
gramps af2f8fa90f fix: wider confidence scale + 80/15 thresholds (green/orange/red) 2026-07-14 13:47:19 -07:00
gramps 1f571f6284 fix: toggleDirection now reorders existing messages in DOM 2026-07-14 13:43:01 -07:00
gramps fbd734ccd4 fix: privacy badge reads PRIVACY ON / PRIVACY OFF (not bare PRIVACY) 2026-07-14 13:36:56 -07:00
gramps 8e800b57d1 fix: rename PRIVATE->PRIVACY, implement info popup overlay for privacy mode 2026-07-14 13:36:01 -07:00
gramps ac58531e8b fix: private badge initial text shows PRIVATE OFF (matches default state) 2026-07-14 13:32:25 -07:00
gramps c879c67e4c fix: always show WEB search button (enable/disable instead of hide/show) 2026-07-14 13:30:34 -07:00
gramps 30deb0db64 v0.20.0: at-rest encryption (AES-256-GCM) for all query-derived text
- crypto.py: AES-256-GCM encrypt/decrypt + ensure_key()
- Key auto-generated on first boot, stored as heartbeat_interval_ms in settings
- All 12 storage paths wired (SQLite + Qdrant)
- memory.py: FTS5 search replaced with Python-side matching
- 200/200 tests pass
2026-07-14 13:22:32 -07:00
gramps f6b01ec9ac B8: Private Chat mode + WireGuard docs + README data safety section (v0.19.3) 2026-07-14 08:52:32 -07:00
gramps 4f16a9c078 B6: waterfall direction toggle (v0.19.2)
NEW/OLD button toggles between newest-first and oldest-first ordering.
scrollToTop() replaced by scrollToLatest() which checks direction.
appendMessage() uses prepend/append based on direction.
Preference persisted in localStorage.
2026-07-14 08:19:26 -07:00
gramps b3746949a9 B5: default model auto-pull on first start (v0.19.1)
model_pull.py: ensure_model() checks llama-server availability at
startup, falls back to Ollama pull API if model not found.
Integrated into app.py lifespan after assess_hardware().
11 tests cover all paths: available/unreachable/pull success/fail.
2026-07-14 08:16:08 -07:00
gramps 790c81457a B7: Apple Silicon worker support (v0.19.0)
gpu.py: darwin branch via system_profiler SPDisplaysDataType for GPU
model/VRAM on macOS, falls back to rocm-smi on Linux.
hardware.py: _get_vram_darwin() parses system_profiler output.
node_agent/agent.py: get_load() reports VRAM on darwin via
system_profiler.
tests: 5 new gpu tests (linux/darwin/absent), 3 new hardware tests
(darwin assessment + VRAM parsing).
2026-07-14 08:09:41 -07:00
gramps feaa2830da fix: auto-derive model shorthand from any model name following qwen2.5:7B:i convention 2026-07-13 16:40:58 -07:00
gramps 7ef220e579 feat: brand response avatar as cAIc instead of AI 2026-07-13 16:35:59 -07:00
gramps 868ef411ba feat: show model label in response header via MODEL_LABELS map 2026-07-13 16:35:40 -07:00
gramps 8853a3761e docs: add in-transit TLS note to B8 2026-07-13 16:28:58 -07:00
gramps 82beadf546 docs: prioritize Private Chat mode over encryption in B8 2026-07-13 16:27:34 -07:00
gramps ba3df91db9 docs: add B8 encryption/PHI backlog item, update session work state 2026-07-13 16:24:45 -07:00
gramps b5cc294ece chore: remove rating thumbs up/down (no backend, privacy concern) 2026-07-13 16:19:37 -07:00
gramps 151e02fe40 fix: response copy icon stays emoji, uses execCopy helper 2026-07-13 16:14:12 -07:00
gramps 98b51c0775 fix: clipboard fallback for HTTP, response copy toast now works 2026-07-13 16:12:17 -07:00
gramps ddcfd8a73f fix: use data-content attr to avoid HTML injection in onclick 2026-07-13 16:11:00 -07:00
gramps 92e8608ac7 fix: capture this ref in user copy icon onclick 2026-07-13 16:10:30 -07:00
gramps f07025a4e8 feat: toast notifications for all icon actions
- delete memory/preset/conversation/all/gallery/clear
- save/reset profile
- new chat, add preset, edit preset
- clear file selection
- rate up/down thumbs toasts
2026-07-13 16:08:32 -07:00
gramps 7105fe0d6d fix: toast on save success/failure, skip toast on print 2026-07-13 16:05:56 -07:00
gramps 6a10674cdf feat: slide-out toast notification on copy icon clicks 2026-07-13 16:05:32 -07:00
gramps 962003512f fix: inline copy icon at end of user query text, not a toolbar 2026-07-13 16:04:24 -07:00
gramps 6c214e46f5 fix: WEB text uses input-bg dark blue var(--bg-tertiary) 2026-07-13 15:59:07 -07:00
gramps 51795cf072 fix: WEB text dark blue #0d2137 on orange for contrast 2026-07-13 15:58:04 -07:00
gramps a9152b3060 fix: WEB text in blue, keep orange button background 2026-07-13 15:56:46 -07:00
gramps b86c67dbe8 fix: match WEB button color to SEND button for better contrast 2026-07-13 15:55:46 -07:00
gramps 9ed2c27159 fix: restore magnifying glass icon on WEB button 2026-07-13 15:55:01 -07:00
gramps a8d8822ab0 fix: WEB in all caps to match SEND button 2026-07-13 15:54:34 -07:00
gramps 4ee2a1613c fix: remove emoji from search button, was breaking monospace typeface 2026-07-13 15:54:01 -07:00
gramps 7c751294c1 fix: update input placeholder to match Ctrl+Enter binding 2026-07-13 15:52:57 -07:00
gramps ebb613b68c docs: update work state in AGENTS.md 2026-07-13 15:50:51 -07:00
gramps fbe02b1956 feat: add copy/toolbar to user messages
- msg-toolbar now rendered for all roles, not just assistant
- addCopyButtons and addMessageToolbar applied to any message with content
2026-07-13 15:49:52 -07:00
gramps cb3c33aa57 fix: match search-btn height to send-btn, add 'web' label
- search-btn now uses same font/font-size/font-weight as send-btn
- label is 'web 🔍' so the purpose is obvious
2026-07-13 15:48:19 -07:00
gramps 934f85e178 fix: use Ctrl+Enter for web search, not Shift+Enter
Shift+Enter is the universal convention for inserting a newline.
Ctrl+Enter is the convention for alternate submit (Gmail, Slack, etc.).
2026-07-13 15:46:42 -07:00
gramps 2ecfd1663d fix: reset cumulative token count on page refresh
- Remove localStorage persistence for cumulativeTokens (starts at 0 each load)
2026-07-13 15:42:47 -07:00
gramps b8713a516b fix: scroll-fighting, 401 errors, session timeout 90->3600s
- scrollToTop() now respects user scroll position (100px threshold)
- resetScrollLock() called on new messages
- SESSION_TIMEOUT_SECONDS 90 -> 3600 (1 hour) to prevent mid-use expiry
- wrap 10 unprotected authFetch calls in try/catch to kill unhandled rejections
2026-07-13 15:39:44 -07:00
gramps e9700137df docs: add Paired Programming subsection 2026-07-13 11:23:56 -07:00
gramps 8a18714886 fix wiki links to use actual wiki URLs 2026-07-13 11:15:53 -07:00
gramps f9b7ad0379 docs: link FAQ from README 2026-07-13 11:15:14 -07:00
gramps f44804307f add readme banner image 2026-07-13 11:15:04 -07:00
gramps 5ab4183d58 docs: contrast query-routing vs layer-splitting in architecture section 2026-07-13 11:08:59 -07:00
gramps aafc24ee27 bump to v0.18.0 — wiki docs, UX polish (waterfall, barcode, confidence badges, sprocket strips) 2026-07-13 10:49:33 -07:00
gramps 44c84bfc85 docs: bump README version to v0.17.26 2026-07-13 10:27:26 -07:00
gramps d60a54780b docs: clarify advantage — pool hardware, route by strength, each machine contributes what it does best 2026-07-13 10:25:14 -07:00
gramps 2ef8f91f4c docs: expand justification — industry consensus assumes homogeneous clusters, cAIc targets the real-world heterogeneous case 2026-07-13 10:24:06 -07:00
gramps 409d07cc8b docs: add Architecture CPU Coordinator + GPU Workers section to README 2026-07-13 10:23:09 -07:00