Commit Graph
100 Commits
Author SHA1 Message Date
gramps 7acea605ac v0.21.0 — perplexity persistence, env-overridable config, scroll/DOM fixes, single-node docs 2026-07-14 14:39:30 -07:00
gramps 3f64bed485 make QDRANT_URL, EMBED_URL, AMQP_SECRET_PATH env-overridable; document single-node/WSL deployment 2026-07-14 14:33:54 -07:00
gramps e584e4983c fix: capture appendMessage return value for correct assistant pairing 2026-07-14 14:24:02 -07:00
gramps 5c66a12b0f remove _userScrolledAway guard from oldes mode; keep rAF scroll 2026-07-14 14:21:29 -07:00
gramps 8ec4dae062 fix scroll: rAF for layout-safe scrollHeight, direction-aware _userScrolledAway 2026-07-14 14:17:57 -07:00
gramps 7d50d07249 persist perplexity per assistant message; display on loaded convos 2026-07-14 14:13:24 -07:00
gramps 65baeba1f1 scrollbar left of spool holes, widened to 10px 2026-07-14 14:03:47 -07:00
gramps 40495548e5 fix: chat-container z-index above .main::after barcode strip that hid scrollbar 2026-07-14 14:01:24 -07:00
gramps d79d8827c6 fix: scrollbar uses accent-dim blue thumb, visible on dark bg 2026-07-14 13:58:21 -07:00
gramps 01e2489846 fix: visible scrollbar (8px, track visible, Firefox compat) 2026-07-14 13:55:53 -07:00
gramps 3fccb0f2e7 rename NEW/OLD -> ↓SORT / ↑SORT for sort direction indicator 2026-07-14 13:49:20 -07:00
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
gramps ea2dbee45d v0.17.26: brighter sprocket strips using --bg-tertiary, 5px holes, 24px strips 2026-07-13 10:20:51 -07:00
gramps 8a677074ec v0.17.25: timestamp format MON dd, YYYY HH:MM:SS.ss 2026-07-13 10:19:09 -07:00
gramps 3e7ed57db9 v0.17.24: fix sprocket holes — fill with --bg-primary instead of transparent so they show through to page 2026-07-13 10:17:49 -07:00
gramps d8e8af0fb0 v0.17.23: TOK metric reformatted to #/% with context-pct color coding 2026-07-13 10:16:30 -07:00
gramps bc25aaad80 v0.17.22: stop typing indicator animation on abort — greyed-out stopped state 2026-07-13 10:12:07 -07:00
gramps 4443c8064f v0.17.21: dot-matrix sprocket holes on outer edges + paper grain background 2026-07-13 10:11:01 -07:00
gramps 8fdeca0e3c v0.17.20: confidence % badge (replaces perplexity), color-coded 80-20 rule; cumulative token counter in topbar 2026-07-13 10:09:05 -07:00
gramps 0981017cde docs: add B4 (RAG Corpus Management UI) to backlog in TASKS.md and current-wip.md 2026-07-13 10:03:57 -07:00
gramps 645d7e9d91 v0.17.19: fix token count badge — use client-side tokenCount instead of server completion_tokens; add tok badge to search responses 2026-07-13 09:59:11 -07:00
gramps 79b684e0cd v0.17.18: barcode-style alternating pairs — each Q&A wrapped in .msg-pair with alternating tint + left border accent 2026-07-13 09:56:31 -07:00
gramps b90b0a6d14 v0.17.17: timestamps on user messages, restore thumbs on AI (not web search), Shift+Enter triggers web search 2026-07-13 09:49:00 -07:00
gramps 4d337d9684 v0.17.16: remove thumbs from toolbar, user msg atop waterfall, enlarge topbar fonts 2026-07-13 09:45:06 -07:00
gramps 35cd48098a v0.17.15: waterfall display — newest messages at top, prepend instead of append, scroll to top 2026-07-13 09:41:55 -07:00
gramps bda4089120 v0.17.14: remove status dots from input area — served no purpose 2026-07-13 09:38:33 -07:00
gramps 79762f67f2 v0.17.13: left-align status dots, font 9px 2026-07-13 09:35:58 -07:00
gramps 3d515ed11f v0.17.12: stack status dots vertically in input area 2026-07-13 09:34:44 -07:00
gramps e1530499b7 v0.17.11: color-code DRC values (green/orange/red), add status dot labels, fix version prefix 2026-07-13 09:33:05 -07:00
gramps a35d68b38e v0.17.10: move CPU/MEM/GPU/VRAM stats to topbar center; status dots to input row left of paperclip 2026-07-13 09:29:21 -07:00
gramps 2d28cfe384 v0.17.9: use uploaded image as welcome screen background 2026-07-13 09:23:51 -07:00
gramps ce4e796768 v0.17.8: show jcscreenie.png as welcome screen graphic instead of text 2026-07-13 09:20:14 -07:00
gramps 3294231e64 v0.17.7: lighten text colors for legibility across header, input, welcome screen 2026-07-13 09:18:36 -07:00
gramps fc2f209008 v0.17.6: add orange search button right of SEND, shown only when SearXNG available 2026-07-13 09:16:34 -07:00
gramps 3601d31e03 v0.17.5: fix topbar legibility, remove llama icons/preset/search from input, implement toggleDrawer 2026-07-13 09:12:37 -07:00
gramps 19d099f17a v0.17.4: remove redundant context thermometer; default to qwen2.5-7b-instruct 2026-07-13 09:01:08 -07:00
gramps e7e6cd8af6 v0.17.3: remove toolbar opacity entirely — always visible 2026-07-13 08:29:08 -07:00
gramps 429d4df29f docs: rewrite README intro to lead with heterogeneous GPU clustering as primary project thesis 2026-07-13 08:26:50 -07:00
gramps cbe4a361bb v0.17.2: auto-fact detection with conflict-alert flow
- auto_detect_facts() scans chat turns for factual content (IPs, paths,
  services, config changes, hardware refs) using pattern matching
- check_fact_conflicts() cross-references detected facts against stored
  FTS5 memories — when a contradiction exists (same topic, diff value)
  the system surfaces a rag_update_suggestion in the done SSE payload
- Frontend shows a floating notification banner comparing old vs new
  fact with Update/Dismiss buttons
- confirm_fact_update() replaces the memory + re-embeds/re-indexes
  the Qdraft entry on user confirmation
- Silent auto-ingest (memories + Qdrant) when no conflict exists
- Frontend: msg-toolbar opacity 0→0.35 for visibility
2026-07-13 08:25:08 -07:00
gramps dcb73945e0 v0.17.1: fix msg-toolbar visibility, add follow_redirects to SearXNG query 2026-07-13 08:15:57 -07:00
gramps f16bef4671 tok: #/## % badge with context tracking, client-side token counting, remove triage dep 2026-07-13 08:07:26 -07:00
gramps b6dadd95ec fix: client-side token counting + move tok badge after ttr 2026-07-13 08:03:08 -07:00
gramps 6f95cc67bb fix: replace triage import with LLAMA_SERVER_BASE for deployed compat 2026-07-13 07:59:38 -07:00
gramps 12a7d92f99 add TOK badge to response footer + arrow key history recall 2026-07-13 07:57:27 -07:00
gramps 35af444c88 fix: add /fim/completions route for Continue compatibility (no /v1 prefix) 2026-07-09 10:13:58 -07:00
gramps 2ec9584abe feat: add /v1/fim/completions route with Qwen FIM token formatting for Continue 2026-07-09 10:09:18 -07:00
gramps d0e1870438 fix: add /v1/completions route for Continue FIM compatibility 2026-07-09 10:01:21 -07:00
gramps 9bf04d921d fix: route FIM passthrough to llama-server native /completion endpoint (supports suffix param) 2026-07-09 09:59:04 -07:00
gramps fbacb1861d docs: sync all docs through v0.17.0 — Roadmap N complete, cluster/AMQP fully documented 2026-07-09 09:15:08 -07:00
gramps f0689ac12b feat: Roadmap N — AMQP cluster nervous system complete 2026-07-09 09:09:22 -07:00
gramps 7c022dbc6d docs: restore full Task 14 spec text in TASKS.md 2026-07-09 09:06:27 -07:00