# sqlalchemy/sqlalchemy Backlog Intelligence Packet ## Coverage - Generated: `2026-07-07T19:49:19+00:00` - Open issues represented: `186` of `186` listed - Open PRs represented: `32` of `32` listed - Full collection: `True` - Work thread active coverage: `True` - Issue collapse coverage: `186` open issues in `99` groups - Issue collapse full coverage: `True` - Issue review-unit reduction: `46.8`% - Maintainer action bundles: `75` - Local PR draft packages: `23` - Existing PR decision bundles: `23` - Full issue/PR bundle coverage: `True` - No-write audit rows: `207` - No-write audit GitHub actions allowed: `False` - Relationship edges: `312` - Public actions authorized: `False` ## Local Board Simulation - Covered open issues: `186` - Covered open PRs: `32` - GitHub actions allowed: `False` - Resolution hash: `a4206ca984177a84dc3136c71b1201b6a95266c48ed4a2f991902a5abd571b04` - This local board simulation shows what the tool would open, review, close, merge, or park, without doing any of it on GitHub. ## No-Write Audit Packet - All open issue proof rows: `186` - Stale open PR proof rows: `21` - Proof hash: `9d91dbc2f3a3adbe6f66ac8c263ff87cecb0ecacdde4b322bccad0778ef34f90` - These rows are attachable evidence of what the tool can triage, but they do not comment, label, close, merge, or upload anything. ## Maintainer Review Threads - Multi-issue groups: `37` - PR-backed groups: `19` - Singleton issue groups retained for audit: `62` - `1 issue` - Review thread: 1 issue + 1 PR - pr #13323: Apply tuple bind expressions to expanding IN values - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#8992; active PRs: PR #13323) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13402: Allow inspection registrations from module reloads - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#10748; active PRs: PR #13402) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13303: Fix PostgreSQL CHECK constraint reflection stripping unrelated parens - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13157; active PRs: PR #13303) - `5 issues` - Review thread: 5 issues + 1 PR - pr #13289: fix: raise clear error when default_factory/default passed to WriteOnlyMapped/DynamicMapped relationship - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#9410, #9493, #9930, #10094, #13227; active PRs: PR #13289) - `1 issue` - Review thread: 1 issue + 1 PR - pr #12433: Coerce aliased Select and CompoundSelect to subquery - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#6274; active PRs: PR #12433) - `2 issues` - Review thread: 2 issues + 3 PRs - pr #12697: Support schema-qualified collation in types for PostgreSQL - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#6511, #9693; active PRs: PR #12697, PR #12698, PR #13418) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13421: Fix oracledb async dialect entering cursors synchronously - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13420; active PRs: PR #13421) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13405: # Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%) - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13407; active PRs: PR #13405) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13404: Subqueryload without per-row Row construction — ~26% on subqueryload - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13406; active PRs: PR #13404) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13399: UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13048; active PRs: PR #13399) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13398: fix catastrophic backtracking in sqlite inline unique reflection regex - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13419; active PRs: PR #13398) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13368: Document deprecated MySQL (M,D) float syntax and improve error message - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#11132; active PRs: PR #13368) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13288: fix(pool): use time.monotonic() instead of time.time() for connection timestamps - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13169; active PRs: PR #13288) - `1 issue` - Review thread: 1 issue + 1 PR - pr #13051: Added implementations for avg & abs - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#13049; active PRs: PR #13051) - `1 issue` - Review thread: 1 issue + 1 PR - pr #12297: refactor(MSExecutionContext): improve identity insert handling and va… - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#11620; active PRs: PR #12297) - `1 issue` - Review thread: 1 issue + 1 PR - pr #11296: Ability to specify `WITH` when creating a table + fixes `WITH` when creating an index - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#11122; active PRs: PR #11296) - `9 issues` - Review thread: 9 issues + 1 PR - pr #12731: fix(typing): allow DeclarativeBase subclasses in with_for_update(of=...) - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#6120, #6810, #9301, #9587, #10351, #10527, #10888, #11686, #13357; active PRs: PR #12731) - `1 issue` - Review thread: 1 issue + 1 PR - pr #12401: Make loader strategy error message more verbose - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#12398; active PRs: PR #12401) - `1 issue` - Review thread: 1 issue + 1 PR - pr #10574: fixes: #2943, allow overriding validates for inheritance - linked work thread - Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately. (#2943; active PRs: PR #10574) - `1 issue` - Review thread: 1 issue - issue #7035: Use innodb in the test suite when using mysql/mariadb - linked work thread - Handle this tests stale queue with one sweep policy instead of rediscovering old context issue by issue. (#7035) ## Maintainer Work Threads - `94` pr #13323: Apply tuple bind expressions to expanding IN values - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13323, then review the thread evidence together. (issue #8992, PR #13323; context: issue #8989) - `73` pr #13402: Allow inspection registrations from module reloads - PR blocked - Review active PRs and linked issues as one maintainer work thread. (issue #10748, PR #13402) - `73` pr #13421: Fix oracledb async dialect entering cursors synchronously - PR blocked - Review active PRs and linked issues as one maintainer work thread. (issue #13420, PR #13421) - `70` pr #12697: Support schema-qualified collation in types for PostgreSQL - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13418, then review the thread evidence together. (issue #6511, issue #9693, PR #12697, PR #12698, PR #13418; context: PR #12510) - `70` pr #13368: Document deprecated MySQL (M,D) float syntax and improve error message - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13368, then review the thread evidence together. (issue #11132, PR #13368) - `70` pr #13399: UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13399, then review the thread evidence together. (issue #13048, PR #13399) - `70` pr #13404: Subqueryload without per-row Row construction — ~26% on subqueryload - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13404, then review the thread evidence together. (issue #13406, PR #13404) - `70` pr #13405: # Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%) - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13405, then review the thread evidence together. (issue #13407, PR #13405) - `70` pr #13398: fix catastrophic backtracking in sqlite inline unique reflection regex - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13398, then review the thread evidence together. (issue #13419, PR #13398) - `65` pr #12401: Make loader strategy error message more verbose - PR blocked - Review active PRs and linked issues as one maintainer work thread. (issue #12398, PR #12401; context: issue #10668) - `62` pr #13303: Fix PostgreSQL CHECK constraint reflection stripping unrelated parens - waiting on contributor - Wait for contributor update on PR #13303; keep related issue/PR context attached. (issue #13157, PR #13303; context: PR #13188, PR #13200) - `60` pr #13415: scalars/mappings performance improvement. - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13415, then review the thread evidence together. (PR #13415) - `60` pr #13416: Perf/eager collection bulk extend - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13416, then review the thread evidence together. (PR #13416) - `60` pr #13417: Add type annotations to sqlalchemy.ext.serializer - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13417, then review the thread evidence together. (PR #13417) - `55` pr #10574: fixes: #2943, allow overriding validates for inheritance - PR blocked - Review active PRs and linked issues as one maintainer work thread. (issue #2943, PR #10574) - `55` pr #12645: enable mypy "ignore-without-code" rule - PR blocked - PR blocked (PR #12645) - `52` pr #13289: fix: raise clear error when default_factory/default passed to WriteOnlyMapped/DynamicMapped relationship - waiting on contributor - Wait for contributor update on PR #13289; keep related issue/PR context attached. (issue #9410, issue #9493, issue #9930, issue #10094, issue #13227, PR #13289; context: issue #5811, issue #9350, issue #9563, issue #9785, issue #9927, issue #12168) - `52` pr #12433: Coerce aliased Select and CompoundSelect to subquery - waiting on contributor - Wait for contributor update on PR #12433; keep related issue/PR context attached. (issue #6274, PR #12433; context: issue #10236) - `52` issue #9548: relationship loader options do a "recursive" thing inconsistently - high-priority/blocker - high-priority/blocker (issue #9548) - `52` pr #13137: Use _effective_decimal_return_scale in Numeric.result_processor - waiting on repo owner test approval - Approve or inspect gated test run(s) for PR #13137, then review the thread evidence together. (PR #13137) ## Maintainer Attention Queue - `94` issue #8992: [tuple expanding params do not render bind_expression() for elements](https://github.com/sqlalchemy/sqlalchemy/issues/8992) - has linked PR - review early; this can change release or regression risk - `73` pr #13421: [Fix oracledb async dialect entering cursors synchronously](https://github.com/sqlalchemy/sqlalchemy/pull/13421) - PR blocked - identify whether block is CI, merge conflict, or review gate - `73` pr #13402: [Allow inspection registrations from module reloads](https://github.com/sqlalchemy/sqlalchemy/pull/13402) - PR blocked - identify whether block is CI, merge conflict, or review gate - `70` pr #13405: [# Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%)](https://github.com/sqlalchemy/sqlalchemy/pull/13405) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `70` pr #13398: [fix catastrophic backtracking in sqlite inline unique reflection regex](https://github.com/sqlalchemy/sqlalchemy/pull/13398) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `70` pr #13418: [Use identifier preparer for string type collations](https://github.com/sqlalchemy/sqlalchemy/pull/13418) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `70` pr #13399: [UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint](https://github.com/sqlalchemy/sqlalchemy/pull/13399) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `70` pr #13404: [Subqueryload without per-row Row construction — ~26% on subqueryload](https://github.com/sqlalchemy/sqlalchemy/pull/13404) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `70` pr #13368: [Document deprecated MySQL (M,D) float syntax and improve error message](https://github.com/sqlalchemy/sqlalchemy/pull/13368) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `65` pr #12401: [Make loader strategy error message more verbose](https://github.com/sqlalchemy/sqlalchemy/pull/12401) - PR blocked - identify whether block is CI, merge conflict, or review gate - `62` issue #10748: [schemes that attempt to reload modules are blocked by the inspection registry](https://github.com/sqlalchemy/sqlalchemy/issues/10748) - has linked PR - review linked PR state before touching issue - `62` pr #13323: [Apply tuple bind expressions to expanding IN values](https://github.com/sqlalchemy/sqlalchemy/pull/13323) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `62` issue #13157: [PostgreSQL check constraint reflection strips brackets naively](https://github.com/sqlalchemy/sqlalchemy/issues/13157) - has linked PR - review linked PR state before touching issue - `60` pr #13415: [scalars/mappings performance improvement.](https://github.com/sqlalchemy/sqlalchemy/pull/13415) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `60` pr #13417: [Add type annotations to sqlalchemy.ext.serializer](https://github.com/sqlalchemy/sqlalchemy/pull/13417) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `60` pr #13416: [Perf/eager collection bulk extend](https://github.com/sqlalchemy/sqlalchemy/pull/13416) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `55` pr #12645: [enable mypy "ignore-without-code" rule](https://github.com/sqlalchemy/sqlalchemy/pull/12645) - PR blocked - identify whether block is CI, merge conflict, or review gate - `55` pr #10574: [fixes: #2943, allow overriding validates for inheritance](https://github.com/sqlalchemy/sqlalchemy/pull/10574) - PR blocked - identify whether block is CI, merge conflict, or review gate - `52` pr #13312: [test: add coverage for delete with nested alias exists](https://github.com/sqlalchemy/sqlalchemy/pull/13312) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes - `52` pr #13137: [Use _effective_decimal_return_scale in Numeric.result_processor](https://github.com/sqlalchemy/sqlalchemy/pull/13137) - waiting on repo owner test approval - approve or inspect the gated test run before asking the contributor for changes ## Issue Buckets - stale/low urgency: `157` - good volunteer slice: `36` - has linked PR: `16` - needs maintainer decision: `15` - high-priority/blocker: `4` - waiting on contributor: `3` ## PR Buckets - stale/low urgency: `21` - has linked issue: `18` - waiting on repo owner test approval: `12` - waiting on contributor: `11` - PR blocked: `7` - draft/noise: `3` ## Top Clusters - PR #13421 with linked issues: pr #13421, issue #13420. Review the issue and PR together instead of triaging both separately. - PR #13418 with linked issues: pr #13418, issue #9693. Review the issue and PR together instead of triaging both separately. - PR #13405 with linked issues: pr #13405, issue #13407. Review the issue and PR together instead of triaging both separately. - PR #13404 with linked issues: pr #13404, issue #13406. Review the issue and PR together instead of triaging both separately. - PR #13402 with linked issues: pr #13402, issue #10748. Review the issue and PR together instead of triaging both separately. - PR #13399 with linked issues: pr #13399, issue #13048. Review the issue and PR together instead of triaging both separately. - PR #13398 with linked issues: pr #13398, issue #13419. Review the issue and PR together instead of triaging both separately. - PR #13368 with linked issues: pr #13368, issue #11132. Review the issue and PR together instead of triaging both separately. - PR #13323 with linked issues: pr #13323, issue #8992. Review the issue and PR together instead of triaging both separately. - PR #13303 with linked issues: pr #13303, issue #13157. Review the issue and PR together instead of triaging both separately. - PR #13289 with linked issues: pr #13289, issue #13227. Review the issue and PR together instead of triaging both separately. - PR #13288 with linked issues: pr #13288, issue #13169. Review the issue and PR together instead of triaging both separately. - PR #13051 with linked issues: pr #13051, issue #13049. Review the issue and PR together instead of triaging both separately. - PR #12697 with linked issues: pr #12697, issue #9693. Review the issue and PR together instead of triaging both separately. - PR #12401 with linked issues: pr #12401, issue #12398. Review the issue and PR together instead of triaging both separately. - PR #12297 with linked issues: pr #12297, issue #11620. Review the issue and PR together instead of triaging both separately. - PR #11296 with linked issues: pr #11296, issue #11122. Review the issue and PR together instead of triaging both separately. - Possible related issues #10094 and #9410: issue #10094, issue #9410. Consider whether these can share one answer, close path, or implementation thread. - Possible related issues #12585 and #8795: issue #12585, issue #8795. Consider whether these can share one answer, close path, or implementation thread. ## Limits - This is an offline, read-only maintainer attention report. - It does not comment, label, close, merge, or submit anything on GitHub. - Public bundle exports are reduced rows and short excerpts; full raw API responses remain local unless explicitly approved. - Duplicate clusters are suggestions for maintainer review, not automatic close decisions.