Skip to content

Fix missing greenlet in production migration runtime - #2968

Merged
JoshCLWren merged 2 commits into
mainfrom
factory/2965-greenlet
Sep 30, 2026
Merged

JoshCLWren merged 2 commits into
mainfrom
factory/2965-greenlet

Conversation

@JoshCLWren

Copy link
Copy Markdown
Owner

Deploy Production fails at Alembic environment loading because the locked SQLAlchemy 2.1 runtime omits greenlet. Declare sqlalchemy[asyncio] in the production dependencies and update the lockfile so both migrations and the async application install it.

Add a separate PR CI job using the exact production install (uv sync --locked --no-dev) to import the async models and migrate a fresh PostgreSQL database. Include this job in CI Summary, lock the dependency contract with regression coverage, and document why dev installs can mask the failure through Playwright.

The full local push validation also exposed inherited Git hook settings breaking temporary-repository tests. Clear repository-local Git environment before the pre-push gates and add a regression test; all existing gates remain enabled.

Validation:

  • Reproduced the original missing-greenlet failure with the production install before the fix.
  • Production-only install and imports passed; all migrations applied to an empty PostgreSQL database at d1aa29806941.
  • Project-only install (uv sync --locked --no-default-groups) passed an async PostgreSQL query.
  • Dependency audit plus hook isolation and backup guard regressions: 20 tests passed.
  • Whole-repository ruff check . and ty check --error-on-warning passed.
  • Frontend typecheck and production build passed.
  • Full local push validation is still running (backend suite past 83% with no failures); branch pushed with --no-verify at Josh's explicit instruction while checks continue.

Addresses #2965. Keep the issue open until a subsequent main Deploy Production run confirms migration and deployment success.

Closes #2967.

@JoshCLWren JoshCLWren added factory Work owned or produced by an autonomous ComicPile factory factory:review The exact current head needs review or re-review factory:local Current next-action owner is the local OpenCode factory labels Sep 30, 2026
@coderabbitai

coderabbitai Bot commented Sep 30, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: d3923709-ddc6-4e99-b3fd-866636ad1382


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Sep 30, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@JoshCLWren
JoshCLWren merged commit b6bb35b into main Sep 30, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

factory:local Current next-action owner is the local OpenCode factory factory:review The exact current head needs review or re-review factory Work owned or produced by an autonomous ComicPile factory

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Clear repository-local Git environment before pre-push tests

1 participant