Implement persistent conversational AI and blog tools #21
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Goal
Deliver persistent conversational AI with streaming, bounded tool execution, cancellation, and a working Chat UI over existing RuDS engines.
Current state
Required behavior
Implementation notes
Acceptance criteria
Implemented in
ac611e3. Added persistent conversation/message repositories and upgrade-safe token migrations; OpenAI-compatible SSE streaming with split-frame, multi-tool, provider-error and cancellation handling; model/session and four token counters; context truncation with valid tool pairs; bounded project tools over posts, media, relationships, templates, scripts, tags, FTS search, stats and navigation; airplane-aware endpoint selection; and the fully localized Iced Chat UI with safe GFM, blocked external images, model controls, tool markers, streaming/stop behavior and status totals. Neutral review compared the result with issue #21, bDS2 chat behavior, and specs/ai.allium plus specs/editor_chat.allium. Verified with 11 Chat integration tests, relationship/thumbnail and migration-upgrade tests, 104 UI tests plus i18n checks, cargo fmt --check, cargo clippy --workspace --all-targets -- -D warnings, cargo build --workspace, cargo test --workspace, Allium check/analyse, and visual inspection of the packaged macOS app on an existing database.