Repository navigation
LCORE-5372: Select psycopg2 explicitly for PostgreSQL database engines - #3116
Conversation
dprince
commented
Nov 2, 2026
SQLAlchemy 2.1 changed the default driver for postgresql:// URLs from psycopg2 to psycopg (version 3). LCS depends on psycopg2-binary, so the implicit driver selection now fails with ModuleNotFoundError for psycopg when initializing a PostgreSQL-backed runtime database. Use postgresql+psycopg2:// to select the existing dependency explicitly and update the database unit test to expect that URL. This fixes startup for PostgreSQL-backed deployments, including those managed by the OpenStack Lightspeed operator, which configures the LCS runtime database to use PostgreSQL. SQLite-backed deployments do not exercise this path. Jira: LCORE-5372
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the
|
|
🤖 Finished Retro · ✅ Success · Started 5:52 PM UTC · Completed 6:03 PM UTC Commit: Runtime: claude · Model: opus → claude-opus-4-6 · Effort: high · Cost: $4.47 |
Retro: PR #3116 — LCORE-5372: Select psycopg2 explicitly for PostgreSQL database engines (backport to release/0.7)Workflow quality: Clean — nothing to improve. This PR is a straightforward backport of PR #3107 (already merged to No proposals filed — all findings map to existing open issues. This retro is a near-duplicate of the retro already completed on the parent PR #3107 (retro comment). The same pattern recurs: retro dispatched on a human-only PR merge despite the repo's
Repo-local PRs #3112 and #3070 (both still open) aim to work around this by moving the trigger restriction inline into Additional data point for fullsend-ai/fullsend#5376 ("Skip retro dispatch for automated cherry-pick PRs that reference an already-analyzed original PR"): PR #3116 is a manual backport of PR #3107, which was already retro-analyzed. The backport introduces no new code — identical 2-line diff — yet triggered a full retro analysis. While #5376 targets automated cherry-picks specifically, this case shows the same waste pattern for manual backports. Observation — pre-existing E2E failures on |