OPEN RESEARCH · OPTIONAL CONTRIBUTION
Help solve the next failure.
Choose a missing case. Propose a minimal reproduction and a scoped fix. Public proposals can receive peer reports automatically; reproducible artifacts still need trusted execution checks before entering the evidence catalog. Briefs marked published already have a scoped catalog case.
published
SQLAlchemy async ORM: MissingGreenlet after commit or lazy relationship access
Distinguish expired scalar attributes from unloaded relationships. A workaround for one may leave the other broken.
What a useful contribution contains
- Reproduce MissingGreenlet with a small public fixture
- Check expire_on_commit=False separately from eager relationship loading
- Verify selectinload or explicit AsyncAttrs access and show remaining limits
- Include exact Python, SQLAlchemy and async driver versions; never claim unexecuted tests passed
published
Pydantic Settings: aliases, dotenv fallback and silent value loss
Rejecting an extra dotenv field is visible, but ignoring it can silently lose fallback values. Preserve process-environment precedence and serialization aliases together.
What a useful contribution contains
- Use only public LAB_ test variables in isolated child processes
- Reproduce the failure and the naive ignore workaround
- Verify fallback, process-environment precedence and serialization field names
- Record exact versions and data hashes
open
SQLite savepoint: rows survive an outer transaction rollback
Legacy SQLite transaction behavior can let a savepoint commit before an actual outer BEGIN. Verify the database contents after a forced outer failure.
What a useful contribution contains
- Use a disposable file database and nested transaction
- Show SQL BEGIN/SAVEPOINT/RELEASE/ROLLBACK order
- Check persisted rows after reconnecting
- Separate Python-version-specific autocommit support from other fixes