Commit Graph

  • 8a1f99cb38 feat(web): move the chat action cluster to the pinned bottom and align the button sets ducoterra 2026-09-02 01:08:18 -04:00
  • 4677d86f49 feat(sources): real-time file progress for sync and upload — background upload with success toast ducoterra 2026-09-01 23:51:43 -04:00
  • cddc84c7db chore(agent): phase roadmap from TODO.md — 67_llm_retry + 68_search_tool ducoterra 2026-09-01 20:15:08 -04:00
  • 66419bf652 chore(agent): phase roadmap from TODO.md, 2 phases ducoterra 2026-09-01 19:53:56 -04:00
  • a6a1bf7143 chore(agent): phase roadmap from TODO.md, 1 phase (64_sync_upload_progress) ducoterra 2026-09-01 19:27:31 -04:00
  • 15a16a8fe0 fix(agent): unambiguous document listing format for LLM parsing ducoterra 2026-09-01 12:44:53 -04:00
  • c738105932 feat(web): customizable placeholder, footer text, and color theme via BOR_* env vars ducoterra 2026-09-01 12:04:06 -04:00
  • baefcde668 fix(web): retire the stale homelab-era copy — neutral, accurate defaults on every page ducoterra 2026-09-01 10:54:50 -04:00
  • 4971e2859d chore(agent): track .agent/ planning tree in git ducoterra 2026-09-01 10:18:22 -04:00
  • 5fa620fde5 fix(web): keep the navbar stuck to the top — drop the body height cap on the sticky range ducoterra 2026-09-01 04:20:26 -04:00
  • 725af9fac1 feat(docs): save chat answers as docs — edit screen, commit + push to the .env docs branch ducoterra 2026-09-01 03:51:54 -04:00
  • 7b7a834a1a feat(web): 2x reading column on wide desktops — 92rem at >=1500px (chat, shared, document view) ducoterra 2026-09-01 00:39:19 -04:00
  • 140b97ebf3 feat(kb): edit + re-embed document summaries from the viewer (admin) ducoterra 2026-08-31 23:52:22 -04:00
  • d94f3d5a52 feat(import): user-extensible BOR_IMPORT_EXTENSIONS — any well-formed extension, A9 family stays the default ducoterra 2026-08-31 22:42:41 -04:00
  • 281f3555c3 remove .agent, it shouldn't be committed. Do not commit it again ducoterra 2026-08-31 08:08:16 -04:00
  • 914097abcf feat(chat): save by default + share anonymously — auto-saved chats, guest-facing Share, success toast, action row ducoterra 2026-08-31 05:20:25 -04:00
  • c564e317ed fix(web): never 304 a rewritten page — pages drop conditional validators, assets keep them ducoterra 2026-08-31 01:35:28 -04:00
  • 9518d9d5d1 chore(agent): phase 53 — record task 06 completion move to complete/ ducoterra 2026-08-31 00:04:17 -04:00
  • 32b7bfd4b3 feat(chat): invalidate saved chats on sources sync — versioned stamps, stale marker, Regenerate against the new index ducoterra 2026-08-30 23:39:15 -04:00
  • ea8e041189 chore(agent): phase roadmap from TODO.md — 1 phase (55 save/share UX) ducoterra 2026-08-30 21:13:23 -04:00
  • aba8615177 fix(chat): rest the composer at the viewport bottom — sticky alone left it mid-screen ducoterra 2026-08-30 16:14:18 -04:00
  • 820753948e feat(chat): pin the composer to the viewport bottom — Stop is always reachable while reading ducoterra 2026-08-30 14:59:40 -04:00
  • 619bf2187a chore(agent): phase roadmap from TODO.md — 2 phases (52 pinned composer, 53 stale saved chats) ducoterra 2026-08-30 09:33:50 -04:00
  • 114b115034 feat(chat): share a chat by link — anonymous read-only /shared/<token> page, share/unshare ducoterra 2026-08-30 01:34:44 -04:00
  • ece93a7c8f feat(chat): save and view chat history — admin-only saved_chats, History page, open-a-chat return ducoterra 2026-08-29 21:22:25 -04:00
  • 6832957ab0 feat(chat): retry the last answer — redo-in-place Retry button on the latest brain bubble ducoterra 2026-08-29 18:32:15 -04:00
  • 1a60ecbd8b feat(chat): stop an in-flight answer — Send becomes Stop, the partial is kept and persisted, the model stream is torn down ducoterra 2026-08-29 17:27:04 -04:00
  • 6bf7f456d4 show sync button for admin ducoterra 2026-08-28 23:24:23 -04:00
  • 3a404eb161 fix(chat): stop the submit up-hop and keep the thinking pin alive across paragraph breaks ducoterra 2026-08-28 17:10:02 -04:00
  • 03d26255c6 feat(sources): upload tarball/zipfile archives as sources — unpack, scan, and replace in place ducoterra 2026-08-28 15:57:59 -04:00
  • 872a07cee7 feat(ui): rename nav items — "Sources" becomes "RAG", "Git sources" becomes "Sources" ducoterra 2026-08-28 12:33:18 -04:00
  • 03bead092c various fixes ducoterra 2026-08-28 09:42:19 -04:00
  • 5d679f5184 feat(import): index quadlet unit files and jinja templates (A9 revision) ducoterra 2026-08-28 07:02:24 -04:00
  • 6be692d999 feat(header): hamburger dropdown nav on mobile (owner permission) ducoterra 2026-08-28 06:07:02 -04:00
  • b855d0aef9 feat(rag): unbounded agent tool calls behind a round cap (owner revision) ducoterra 2026-08-28 04:50:56 -04:00
  • bc70ce36e0 feat(chat): render markdown tables in answers, viewer, and thinking ducoterra 2026-08-28 03:35:50 -04:00
  • 27b7cb96d5 feat(chat): thinking window scrolls again, follows the tail only while pinned ducoterra 2026-08-28 01:36:32 -04:00
  • 7c6763319b fix(chat): stop autoscrolling while a reply streams (owner direction) ducoterra 2026-08-28 00:29:25 -04:00
  • 6cf1df9bf2 feat(sync): fail fast with a modal when a model is unavailable ducoterra 2026-08-27 23:44:35 -04:00
  • 6f9e033117 fix(header): ship the tuning toggle hidden — no anonymous flash ducoterra 2026-08-27 22:38:58 -04:00
  • 02c76ad328 chore(agent): phase roadmap from TODO.md — 8 phases (40–47), 24 tasks ducoterra 2026-08-27 18:25:53 -04:00
  • 492d8275e7 add git to containerfile ducoterra 2026-08-27 10:31:34 -04:00
  • beaca4fe97 add db build and push ducoterra 2026-08-27 09:54:05 -04:00
  • fe55be0c35 feat(brand): configurable app name — BOR_APP_NAME drives /api/config + the frontend brand layer ducoterra 2026-08-27 02:24:16 -04:00
  • 94d7228510 feat(admin): local directory sources — kind/path on git_sources, combined sync + import, page form + badges ducoterra 2026-08-27 01:04:16 -04:00
  • 15c1272828 feat(rag): agent document tools — list/read tools with env-tuned budgets, SSE tool events + "calling tool" UI ducoterra 2026-08-26 22:39:14 -04:00
  • 9efffcb428 feat(viewer): show document summary together with the original (TODO.md L5) ducoterra 2026-08-26 19:11:15 -04:00
  • 1925bb66a8 feat(sources): admin page to add and remove git sources (TODO.md L4) ducoterra 2026-08-26 18:34:32 -04:00
  • b2d8696741 feat(ui): one consistent navbar on every page (TODO.md L3) ducoterra 2026-08-26 15:39:42 -04:00
  • 0a46f07fa8 chore(agent): phase roadmap from TODO.md, 3 phases (34-36) ducoterra 2026-08-26 09:41:32 -04:00
  • 8fabb7efda perf(ui): cache busting — HTML no-cache + versioned asset URLs (?v=) with immutable 1y asset caching ducoterra 2026-08-25 22:42:10 -04:00
  • 52136fe307 feat(admin): one-click sources sync — admin-only button triggers git clone/pull + re-import + KB overview refresh with polled live status ducoterra 2026-08-25 21:38:36 -04:00
  • 0654b304e1 feat(rag): lite-generated KB overview in the system prompt — stored single row, regenerated on import, <knowledge_base> section in HIGH+LOW prompts ducoterra 2026-08-25 20:22:51 -04:00
  • 572a4190a6 feat(rag): lite-model document summaries — non-markdown docs summarized at import, summary chunk retrieves and resolves to the full source doc ducoterra 2026-08-25 17:48:37 -04:00
  • 9809482a4b chore(agent): phase roadmap from TODO.md — 4 phases (lite document summaries, KB overview in prompt, admin sync button, cache busting) ducoterra 2026-08-25 15:43:44 -04:00
  • 3841bd5a30 feat(ui): expose Global Tuning from Chat + Sources headers (admin-only Tuning nav link) ducoterra 2026-08-25 14:51:16 -04:00
  • 3d044f33a1 feat(rag): git-based import sources — BOR_GIT_SOURCES repos cloned (first run, --depth 1) or pulled (--ff-only) into BOR_SOURCES_DIR/<repo>/ then indexed; --source still wins; a failed sync aborts before importing anything ducoterra 2026-08-25 14:23:02 -04:00
  • 589e26dbe9 feat(rag): global tuning manager — /tuning.html + PUT /api/steering/{id}: create, edit, list, delete steering notes without a chat ducoterra 2026-08-25 13:46:32 -04:00
  • fcde1fd37b feat(ui): documents open in an almost-fullscreen modal instead of a new page — same-page overlay on chat + Sources, /document.html kept as the no-JS/direct-link fallback ducoterra 2026-08-25 13:45:57 -04:00
  • 476aa0e066 chore(agent): phase roadmap from TODO.md — 3 phases (document modal, global tuning, git-based sources) ducoterra 2026-08-25 10:15:42 -04:00
  • 025f57beb5 fix(ui): background no longer moves — static grid, three glow spots fading in and out on their own slow cycles (owner 2026-08-25) ducoterra 2026-08-25 09:43:19 -04:00
  • 1e6ae360e0 feat(rag): feed whole matched documents to the LLM — no context truncation (A7 revised) ducoterra 2026-08-24 23:37:44 -04:00
  • d7a4064616 fix(build): Containerfile builds again — relative module imports, all four pages and shared assets in the image ducoterra 2026-08-24 22:54:30 -04:00
  • 0adc9b5801 fix(ui): animated background actually animates — grid drift and glow breathe per the phase-08 design ducoterra 2026-08-24 22:16:41 -04:00
  • 22a6121411 fix(ui): thinking window no longer scrolls — live 320px view pinned to the stream tail ducoterra 2026-08-24 20:28:12 -04:00
  • 986e704eb1 chore(agent): add phase 24 from TODO.md — whole-document context (no truncation, A7 revised); clear TODO.md ducoterra 2026-08-24 18:53:24 -04:00
  • 04a7f4c05d fix(ui): thinking window no longer scrolls — live 320px view pinned to the stream tail ducoterra 2026-08-24 18:24:57 -04:00
  • 76c6a01199 fix(chat): keep the in-flight answer when navigating away mid-turn — partial answer restored on return ducoterra 2026-08-24 15:53:07 -04:00
  • 824914ca3d chore(agent): add phases 20-23 from TODO.md — four owner-confirmed bug fixes; clear TODO.md ducoterra 2026-08-24 15:23:49 -04:00
  • 2afc77ee56 feat(ui): shared header — Sign in/Sign out and New Chat on every page; hide the Sources nav link from anonymous users ducoterra 2026-08-24 12:32:45 -04:00
  • fd7f02ce68 remove tests from pipeline ducoterra 2026-08-24 11:01:50 -04:00
  • c37477d3f9 add gitea build and push ducoterra 2026-08-24 11:01:06 -04:00
  • 076358db94 uncommit .agent ducoterra 2026-08-24 10:59:45 -04:00
  • bc0158f858 feat(ui): chat auto-scrolls only while pinned to the bottom — submitting reveals your message, scrolling up holds the viewport ducoterra 2026-08-24 10:53:04 -04:00
  • b16deb2b1d feat(chat): stream model thinking over SSE and show it in a collapsible block ducoterra 2026-08-24 09:52:27 -04:00
  • cbc263a4b2 feat(auth): single-admin password login (signed cookie) — gate tuning + Sources catalog, keep chat and document viewer public ducoterra 2026-08-23 19:58:39 -04:00
  • fc0d9a2d5c feat(rag): steering notes — tune how Brain answers, stored in Postgres and injected into every system prompt ducoterra 2026-08-22 16:44:42 -04:00
  • 19df7df99d feat(ui): persist the chat conversation in localStorage — survives refresh and navigation, with a New chat reset ducoterra 2026-08-22 15:52:53 -04:00
  • 2485b50af0 fix(ui): document viewer back button returns to the page you came from (chat or sources) ducoterra 2026-08-22 15:26:43 -04:00
  • 8ca564cd83 fix(ui): uniform header bar height on chat, sources, and the document viewer ducoterra 2026-08-22 15:14:31 -04:00
  • 0da5275eeb fix(rag): lift chat output cap to 32768 tokens — long answers no longer cut off ducoterra 2026-08-22 11:30:19 -04:00
  • 6ec6181c7b feat(ui): clickable document viewer — open any cited document in the browser from chat chips and the sources table ducoterra 2026-08-22 02:08:49 -04:00
  • 7e8d14702e feat(rag): hybrid FTS+vector retrieval and multi-format ingestion — name-your-tool questions find the right document ducoterra 2026-08-22 01:27:02 -04:00
  • 2f738a7f19 feat(ui): dark tech theme — emoji-free chrome, subtle animated CSS background, WCAG AA dark palette ducoterra 2026-08-21 23:34:36 -04:00
  • 1b29b1cf9d feat(ui): responsive + WCAG AA polish pass across chat and sources — v1 feature complete ducoterra 2026-08-21 19:44:46 -04:00
  • e5810b0bcf feat(ui): explicit chat state machine — typing indicator, streaming progress, timeout and error recovery ducoterra 2026-08-21 18:45:27 -04:00
  • 2364e1ee7d feat(ui): onboarding suggestion chips with one-tap submit, keyboard access, and mobile scroll row ducoterra 2026-08-21 18:18:47 -04:00
  • cbf8e39e63 feat(rag): honest deflection gate with amber UI state and alternative-question chips ducoterra 2026-08-21 17:50:33 -04:00
  • 396e4d47fb feat(rag): stream grounded RAG answers over SSE with source citations ducoterra 2026-08-21 17:17:02 -04:00
  • 99c48cbe06 feat(rag): index markdown KB — chunker, embed client, delta importer, Sources page ducoterra 2026-08-21 16:24:45 -04:00
  • dce6d0d6f1 docs(phases): record phase 01 completion — all gates passed, moved to complete/ ducoterra 2026-08-21 13:42:51 -04:00
  • 022da8e2bc feat: scaffold Brain of Reese — FastAPI RAG chat over Postgres 17 + pgvector ducoterra 2026-08-21 13:42:21 -04:00