| # 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. | |