Changelog ========= 2026-04-18 - Prompt Pipeline Rewrite Completed ---------------------------------------------- - Change: prompt assembly now centers on ``core.prompt_engine.build_prompt_request()`` and the typed ``PromptRequest`` model instead of treating every prompt as a single indented JSON blob. - Add: ``core/prompt_request.py`` and ``core/prompt_renderers.py`` as the canonical intermediate representation and renderer layer. - Add: dedicated prompt modes for chat, grillo, delivery, and live flows. - Change: migrated engine paths now render prompts natively: - ``engines/external_engines/openapi.py`` via ``OpenAIRenderer`` - ``engines/external_engines/openrouter.py`` via ``OpenAIRenderer`` - ``engines/external_engines/anthropic.py`` via ``AnthropicRenderer`` - ``engines/external_engines/gemini_api.py`` via ``GeminiRenderer`` - ``core/external_endpoints/bridges/cortex_bridge.py`` via ``OpenAIRenderer`` - Change: auto-response delivery now attaches ``PromptRequest(mode='delivery')`` built by ``build_delivery_request()``. - Change: live voice assembly now goes through ``build_live_prompt_request()`` and ``LiveRenderer``. - Change: ``build_json_prompt()`` remains only as a deprecated compatibility alias. - Docs: added prompt-pipeline documentation, updated prompt-related engine docs, trimmed ``.env.example`` to common operator-facing settings, and kept the advanced env catalog in ``docs/compose_env_vars.rst``. 2026-02-17 - Improvements ------------------------- - Add: conservative, centralized runtime DB recovery that auto-creates missing tables/columns and retries failing statements on schema errors. Controlled via `DB_AUTO_HEAL` (default `1`). (see `core/db.py`, `tests/test_db_auto_heal.py`) - Add: unit tests for DB auto-heal behavior and documentation entry in `docs/compose_env_vars.rst` and `.env.example`. - Fix/Hardening: make X11 wait non-blocking at container startup and optionally create a placeholder socket to allow headless startup. Controlled by `SYNTH_X11_WAIT_SECONDS` and `SYNTH_CREATE_X11_PLACEHOLDER`. (see `webtop/s6-services/synth/run`) 2025-12-15 - Bugfixes --------------------- - Fix: WebUI chat resizing regression. Made the client-side `CHAT_RESIZABLE` variable mutable and exposed the `createChatResizeHandles()` function so runtime toggling and edge/corner resizing works as expected. (res/synth_webui/js/vrm-viewer.mjs) - Fix: Discord interface routing bug where `interface_path` parsing could pass a list as channel id, causing send failures. Correctly unpack the parsed levels to extract the channel/thread id. (interface/discord_interface.py)