Update the LLM client to support streaming responses and improve
database migration idempotency.
- Add `stream` support to `llmChat` with dynamic chunk parsing for
compatibility across different LLM providers.
- Remove hardcoded default temperature and top_p to allow for more
flexible parameter passing.
- Update database migrations to use `IF NOT EXISTS` for tables and
indexes to prevent errors during re-runs.
Adds new database schema migrations to support the implementation of
user reputation tracking and channel-specific culture context.
- Creates migration `0005_large_squadron_sinister.sql` containing
`user_reputations` and `channel_cultures` tables.
- Updates Drizzle migration journal to include the new migration step.
- Adds `fix_prompt.py` utility for managing prompt adjustments.
Table was defined in Drizzle schema at schema.ts:425 but no migration
existed. Runtime queries from text-cache-store fail with:
relation "corrected_moderations" does not exist
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Create new migration 0001_add_model_version_to_cache.sql to add model_version column to text_analysis_cache table (default 'v1')
- Add composite index on source + model_version for efficient cache lookups
- Improve git branch detection in textCacheStore.ts:
* Check CACHE_MODEL_VERSION env var first (required in Docker)
* Suppress stderr with stdio pipes to eliminate spurious warnings
* Log ERROR (not warning) when git unavailable AND no env var set
* Only fall back to 'v1' as last resort, preventing silent dummy usage
- Remove unused imports (logModelVersionChange, logCacheInvalidation) and previousVersion variable
- Fixes repeated 'column model_version does not exist' errors on bot startup
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Container crashed with 'Can't find meta/_journal.json file' because
Drizzle ORM migration files were never generated. Generated migrations
for all 10 schema tables and updated Dockerfile to copy drizzle/ to
/app/drizzle/ where the migrator expects them.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>