sqlalchemy-backlog-intelligence / data /summary_metrics.json
cjc0013's picture
Fix static Attention Queue tab wiring
f9c15ef verified
Raw
History Blame Contribute Delete
128 kB
{
"package_version": "github_backlog_hf_space_v1",
"generated_utc": "2026-07-08T05:44:15+00:00",
"repo_id": "cjc0013/sqlalchemy-backlog-intelligence",
"source_packet_version": "github_backlog_report_v0",
"source_packet_hash": "9b4298e4dd5929576ce90bfe1cbb17896dee99542f68bd4e1e06570e458bbad7",
"repo_name": "sqlalchemy/sqlalchemy",
"summary": {
"listed_open_issue_count": 186,
"listed_open_pr_count": 32,
"open_issue_count": 186,
"open_pr_count": 32,
"missing_issue_count": 0,
"missing_pr_count": 0,
"full_collection": true,
"attention_queue_count": 218,
"cluster_card_count": 19,
"relationship_edge_count": 312,
"work_thread_count": 175,
"issue_collapse_group_count": 99,
"issue_collapse_multi_issue_group_count": 37,
"issue_collapse_pr_backed_group_count": 19,
"issue_collapse_singleton_group_count": 62,
"issue_collapse_issue_coverage_count": 186,
"issue_collapse_full_coverage": true,
"issue_collapse_reduction_percent": 46.8,
"referenced_context_issue_count": 55,
"referenced_context_pr_count": 9,
"work_thread_active_issue_count": 186,
"work_thread_active_pr_count": 32,
"work_thread_full_active_coverage": true,
"issue_bucket_counts": {
"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_bucket_counts": {
"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_attention": [
{
"item_type": "issue",
"number": 8992,
"title": "tuple expanding params do not render bind_expression() for elements",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/8992",
"primary_bucket": "has linked PR",
"buckets": [
"has linked PR",
"high-priority/blocker"
],
"attention_score": 94,
"attention_reason": "open PR references this issue; high-priority/blocker/regression label present; component labels: sql",
"maintainer_next_action": "review early; this can change release or regression risk",
"labels": [
"bug",
"high priority",
"sql"
],
"linked_pr_numbers": [
13323
],
"linked_issue_numbers": [],
"updated_at": "2026-05-12T13:10:18Z",
"stale_days": 56
},
{
"item_type": "pr",
"number": 13421,
"title": "Fix oracledb async dialect entering cursors synchronously",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"primary_bucket": "PR blocked",
"buckets": [
"PR blocked",
"has linked issue"
],
"attention_score": 73,
"attention_reason": "failed checks or blocked/unstable merge state; PR closes or references open issue numbers",
"maintainer_next_action": "identify whether block is CI, merge conflict, or review gate",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
13420
],
"updated_at": "2026-07-07T19:01:25Z",
"stale_days": 0
},
{
"item_type": "pr",
"number": 13402,
"title": "Allow inspection registrations from module reloads",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"primary_bucket": "PR blocked",
"buckets": [
"PR blocked",
"has linked issue"
],
"attention_score": 73,
"attention_reason": "failed checks or blocked/unstable merge state; PR closes or references open issue numbers",
"maintainer_next_action": "identify whether block is CI, merge conflict, or review gate",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
10748
],
"updated_at": "2026-06-29T10:30:18Z",
"stale_days": 8
},
{
"item_type": "pr",
"number": 13405,
"title": "# Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%)",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"primary_bucket": "waiting on repo owner test approval",
"buckets": [
"waiting on repo owner test approval",
"has linked issue"
],
"attention_score": 70,
"attention_reason": "external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers",
"maintainer_next_action": "approve or inspect the gated test run before asking the contributor for changes",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
13407
],
"updated_at": "2026-07-07T18:57:47Z",
"stale_days": 0
},
{
"item_type": "pr",
"number": 13398,
"title": "fix catastrophic backtracking in sqlite inline unique reflection regex",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398",
"primary_bucket": "waiting on repo owner test approval",
"buckets": [
"waiting on repo owner test approval",
"has linked issue"
],
"attention_score": 70,
"attention_reason": "external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers",
"maintainer_next_action": "approve or inspect the gated test run before asking the contributor for changes",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
13419
],
"updated_at": "2026-07-07T06:44:24Z",
"stale_days": 0
},
{
"item_type": "pr",
"number": 13418,
"title": "Use identifier preparer for string type collations",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"primary_bucket": "waiting on repo owner test approval",
"buckets": [
"waiting on repo owner test approval",
"has linked issue"
],
"attention_score": 70,
"attention_reason": "external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers",
"maintainer_next_action": "approve or inspect the gated test run before asking the contributor for changes",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
9693
],
"updated_at": "2026-07-06T21:13:11Z",
"stale_days": 0
},
{
"item_type": "pr",
"number": 13399,
"title": "UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"primary_bucket": "waiting on repo owner test approval",
"buckets": [
"waiting on repo owner test approval",
"has linked issue"
],
"attention_score": 70,
"attention_reason": "external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers",
"maintainer_next_action": "approve or inspect the gated test run before asking the contributor for changes",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
13048
],
"updated_at": "2026-07-02T20:22:37Z",
"stale_days": 4
},
{
"item_type": "pr",
"number": 13404,
"title": "Subqueryload without per-row Row construction — ~26% on subqueryload",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"primary_bucket": "waiting on repo owner test approval",
"buckets": [
"waiting on repo owner test approval",
"has linked issue"
],
"attention_score": 70,
"attention_reason": "external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers",
"maintainer_next_action": "approve or inspect the gated test run before asking the contributor for changes",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
13406
],
"updated_at": "2026-06-30T20:33:50Z",
"stale_days": 6
},
{
"item_type": "pr",
"number": 13368,
"title": "Document deprecated MySQL (M,D) float syntax and improve error message",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13368",
"primary_bucket": "waiting on repo owner test approval",
"buckets": [
"waiting on repo owner test approval",
"has linked issue"
],
"attention_score": 70,
"attention_reason": "external test gate is pending maintainer or repository-owner approval; PR closes or references open issue numbers",
"maintainer_next_action": "approve or inspect the gated test run before asking the contributor for changes",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
11132
],
"updated_at": "2026-06-11T21:25:24Z",
"stale_days": 25
},
{
"item_type": "pr",
"number": 12401,
"title": "Make loader strategy error message more verbose",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/12401",
"primary_bucket": "PR blocked",
"buckets": [
"PR blocked",
"has linked issue",
"stale/low urgency"
],
"attention_score": 65,
"attention_reason": "failed checks or blocked/unstable merge state; PR closes or references open issue numbers; PR has not updated for at least 45 days",
"maintainer_next_action": "identify whether block is CI, merge conflict, or review gate",
"labels": [],
"linked_pr_numbers": [],
"linked_issue_numbers": [
12398
],
"updated_at": "2025-10-28T21:28:52Z",
"stale_days": 251
}
],
"top_work_threads": [
{
"thread_key": "thread:issue:8992:pr:13323",
"title": "pr #13323: Apply tuple bind expressions to expanding IN values",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 94,
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13323, then review the thread evidence together.",
"active_item_count": 2,
"context_item_count": 1,
"active_issue_numbers": [
8992
],
"active_pr_numbers": [
13323
],
"context_issue_numbers": [
8989
],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"waiting on repo owner test approval"
],
"active_items": [
{
"item_type": "issue",
"number": 8992,
"title": "tuple expanding params do not render bind_expression() for elements",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/8992",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13323,
"title": "Apply tuple bind expressions to expanding IN values",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13323",
"primary_bucket": "waiting on repo owner test approval",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [
{
"item_type": "issue",
"number": 8989,
"title": "Error when combining `literal_binds` with `bind_expression()` on an \"expanding\" `BindParameter`",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/8989",
"primary_bucket": "good volunteer slice",
"state": "CLOSED",
"active_backlog": false
}
],
"relationship_edge_count": 4,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13323,
"target_item_type": "issue",
"target_number": 8992,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13323 declares a closing reference to issue #8992.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13323",
"confidence": "high",
"evidence_hash": "579ea63a5b64a2ddb2418ef200efbb854a90ee2c4e24c5675cb7786ac1a0e38a",
"edge_hash": "3cec98bc0d7adc99b01df86aa50a84eabb8bc4004cec69005ddc6af1551f4284"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13323,
"target_item_type": "issue",
"target_number": 8992,
"evidence_source": "pr.body",
"evidence_excerpt": "dering expanded tuples. This matches scalar `IN` behavior for custom types and covers both `render_postcompile` and `literal_binds`. Fixes: #8992 ### Checklist This pull request is: - [ ] A documentation / typographical / small typing error fix - [x] A short code fix - Fixes:...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13323",
"confidence": "high",
"evidence_hash": "3fdec6052d67d3cfd6f11f8ce992e0bbb9385ee310574b703ec0e955726fb6ee",
"edge_hash": "35ba4d39c7b2f9b036753e67180432d5bb33221773fc0599a425fce483fdc5b7"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13323,
"target_item_type": "pr",
"target_number": 13323,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13323",
"confidence": "high",
"evidence_hash": "78389ce6eeb4a2890cd6e80e3f725abd4f796eb48f0d0fa80bc89286ebeffff5",
"edge_hash": "fd2750d26b91987704010f092a748d5600cc41474915cf0d41b5b22347a24ae9"
},
{
"edge_kind": "references",
"source_item_type": "issue",
"source_number": 8992,
"target_item_type": "issue",
"target_number": 8989,
"evidence_source": "issue.body",
"evidence_excerpt": "discovered during #8989, this is simply not implemented at all and the bind expression is ignored when it's an element of a tuple. Also, the impl of a TupleType()",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/issues/8992",
"confidence": "medium",
"evidence_hash": "46c36af5913ed4eacd3c91b7bbfe671ecce76e43945986c60a3484702423ff7b",
"edge_hash": "c5f2bec507074b35456f1d1b4e6b8e7317035e374d340f36f165e59c8d865b0b"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "10c0c9b7ee2c2fa4a0b5decdc2941d4c9bb23bca037bf2206aaa44c515c939cc"
},
{
"thread_key": "thread:issue:10748:pr:13402",
"title": "pr #13402: Allow inspection registrations from module reloads",
"primary_bucket": "PR blocked",
"attention_score": 73,
"maintainer_next_action": "Review active PRs and linked issues as one maintainer work thread.",
"active_item_count": 2,
"context_item_count": 0,
"active_issue_numbers": [
10748
],
"active_pr_numbers": [
13402
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"PR blocked"
],
"active_items": [
{
"item_type": "issue",
"number": 10748,
"title": "schemes that attempt to reload modules are blocked by the inspection registry",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/10748",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13402,
"title": "Allow inspection registrations from module reloads",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"primary_bucket": "PR blocked",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [],
"relationship_edge_count": 8,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.review_comments[0].body",
"evidence_excerpt": "let's add a comment similar to the shared by mike here https://github.com/sqlalchemy/sqlalchemy/issues/10748#issuecomment-1852787222 to clarify why it's done this way",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "a6c68e602a88c876863c56c4cc76309bbe60cf2d2c6eccaf0415c33e7d7dba7f",
"edge_hash": "4744fe30ead34340dbcdd86c6353e91bd8fc19d932ed9c0b696e84173c852a82"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13402 declares a closing reference to issue #10748.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "2ff81594ce6acdcfeb0602a855629ad1d9a7721515133cc29324b30d2c2ca232",
"edge_hash": "70766bad10414c9f02b07d24ffaaacbb9199da1a0ca5cee81cdc3f12080da76b"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.body",
"evidence_excerpt": "gistration assertion for conflicting registrars - add regression coverage for module reload style registration and a changelog entry Closes #10748. ### Validation - `/tmp/sqlalchemy-pr-venv/bin/python -m pytest test/base/test_inspect.py -q` - `/tmp/sqlalchemy-pr-venv/bin/pytho...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "c150169126683f2b1a5088f586356dac00a154712c353f36519b216309168dfa",
"edge_hash": "1752aa77665d15b641d2709524803aed9903e5f7080f42dceb806e3fe9d5fca7"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.reviews[3].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **CaselIT** to try to get revision e54815ef0092da05277efab79b90b77e44734cb9 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402#pullrequestreview-4590995010",
"confidence": "high",
"evidence_hash": "8b7a19c1abf1d46bdf74ab347e2b6a5580f42341e7f25f5882798fb27a7bb34c",
"edge_hash": "caa5d2c69add7aedf6f7cee7a7355eac438e085610693dcfc46f3a46cca6d5c8"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.reviews[2].body",
"evidence_excerpt": "thanks, just a nitpick comment. otherwise it looks fine @zzzeek I think 2.1 only for this is fine",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402#pullrequestreview-4590614148",
"confidence": "high",
"evidence_hash": "788250012b0125e304886586bcd8d8f88a085429a2f4d5fc15a5cba222b2a0af",
"edge_hash": "f20699b75bada4b4bed273a53cb87438704bf9b44800a32981bd416c5a78ab42"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.reviews[1].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **CaselIT** to try to get revision e54815ef0092da05277efab79b90b77e44734cb9 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "c2cecc1f3588b02651b4c91caebdef4cfe14f66fa65d5756883901839621ae9d",
"edge_hash": "d6a9354336447786cf2d22dfc4558f109546bf6369cabdfbb57d839efc59cbc9"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.reviews[0].body",
"evidence_excerpt": "thanks, just a nitpick comment. otherwise it looks fine @zzzeek I think 2.1 only for this is fine",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "317501913ea3833a0f52017aece56f00a5964f4d16e269ab23bc92f9cc85d4e2",
"edge_hash": "9648dec67755fe3a4a27000b84d391854329f9f83c7a1e9eb3ac5f8dc6ce676f"
},
{
"edge_kind": "blocked by checks",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "pr",
"target_number": 13402,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Blocked or unstable check/merge state. Check signal(s): code_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "medium",
"evidence_hash": "205af2d2b20fdfa500b93cde2bc6eccf20fb2d956a29683d5048f3aad06e0893",
"edge_hash": "68ee51cc0e6890c4be1f6ea7c681c164ed4b887f0c44e364aa321b2f543bf87b"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "c153dd83fec93e4a8ae5d8c5603d163fadfb9b15f22739a4fb2c4a05cd155dea"
},
{
"thread_key": "thread:issue:13420:pr:13421",
"title": "pr #13421: Fix oracledb async dialect entering cursors synchronously",
"primary_bucket": "PR blocked",
"attention_score": 73,
"maintainer_next_action": "Review active PRs and linked issues as one maintainer work thread.",
"active_item_count": 2,
"context_item_count": 0,
"active_issue_numbers": [
13420
],
"active_pr_numbers": [
13421
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"PR blocked"
],
"active_items": [
{
"item_type": "issue",
"number": 13420,
"title": "oracledb async dialect enters cursors synchronously, silently breaking async cursor wrappers",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/13420",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13421,
"title": "Fix oracledb async dialect entering cursors synchronously",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"primary_bucket": "PR blocked",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [],
"relationship_edge_count": 5,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13421 declares a closing reference to issue #13420.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "high",
"evidence_hash": "8b33a35ff1691143cc95cea5dbf74aabb2977e184c2e60ce18f313f6bbca2bde",
"edge_hash": "ef9f6d83630b523f3748797762ee7b37eee9c23f6755101d791e894a1e4489e0"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.body",
"evidence_excerpt": "db's AsyncCursor in version 2.0.1, the async dialect's minimum supported oracledb version is raised from 2.0.0 to 2.0.1 accordingly. Fixes: #13420 <!-- Provide a general summary of your proposed changes in the Title field above --> ### Description <!-- Describe your changes in...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "high",
"evidence_hash": "dd142b73825027796dad3fd9913eafab72d85b3a1427145173e4908f67056013",
"edge_hash": "73538cba9e790f2a426062d31659c4cf0be9993477090571c79dc31b5b24892c"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.reviews[1].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **zzzeek** to try to get revision 20582e2eaf1cdf9cd8af94ecf216f5d5d9fb3d62 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421#pullrequestreview-4648102684",
"confidence": "high",
"evidence_hash": "d9d3d13b996ab6cd79be43d02febd0ab28c1481af4d95a2a92a9a1e084679ef9",
"edge_hash": "f1cd57fff9158cddf94ec69a678ad310529c0ca0212b8dffcf7e08561569aaa9"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.reviews[0].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **zzzeek** to try to get revision 20582e2eaf1cdf9cd8af94ecf216f5d5d9fb3d62 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "high",
"evidence_hash": "5a7c63410de3e0030e674a680bed80f158c9153656e71d6297dc895290180827",
"edge_hash": "ccc6336613907eddfab4f70d808e7e806175ab90db03e906cb6efbbc34c5e81f"
},
{
"edge_kind": "blocked by checks",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "pr",
"target_number": 13421,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Blocked or unstable check/merge state. Check signal(s): code_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "medium",
"evidence_hash": "4ca97d7227b134b341f37b9691646b3e7174e848bc88c25ff5e8d38e73a5a411",
"edge_hash": "0751f8df10238d9bdc96d4110b9c9b9718d020a1867adfed73f253ae65a04226"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "714eefc6f78a018ee4e99014b82abe66d95aa0bbaefdf01841f36ae6c2709822"
},
{
"thread_key": "thread:issue:6511:issue:9693:pr:12697:pr:12698",
"title": "pr #12697: Support schema-qualified collation in types for PostgreSQL",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 70,
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13418, then review the thread evidence together.",
"active_item_count": 5,
"context_item_count": 1,
"active_issue_numbers": [
6511,
9693
],
"active_pr_numbers": [
12697,
12698,
13418
],
"context_issue_numbers": [],
"context_pr_numbers": [
12510
],
"buckets": [
"good volunteer slice",
"has linked PR",
"waiting on contributor",
"draft/noise",
"waiting on repo owner test approval"
],
"active_items": [
{
"item_type": "issue",
"number": 6511,
"title": "add support for reflection of collation in types",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/6511",
"primary_bucket": "good volunteer slice",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "issue",
"number": 9693,
"title": "Text type columns using schema qualified collations compile a quoted DDL statement on Postgres",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/9693",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 12697,
"title": "Support schema-qualified collation in types for PostgreSQL",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/12697",
"primary_bucket": "waiting on contributor",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 12698,
"title": "Handle schema-qualified collation value in collate()",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/12698",
"primary_bucket": "draft/noise",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13418,
"title": "Use identifier preparer for string type collations",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"primary_bucket": "waiting on repo owner test approval",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [
{
"item_type": "pr",
"number": 12510,
"title": "Add support for reflection of collation in types on PostgreSQL",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/12510",
"primary_bucket": "stale/low urgency",
"state": "CLOSED",
"active_backlog": false
}
],
"relationship_edge_count": 43,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13418 declares a closing reference to issue #9693.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "0a2d293786e8fb8cf6c1545ef7c6f49b80e8f54e8607fc526d68ad590c99450a",
"edge_hash": "7b109db8ab130b2956c22ebc82eca2f0a37a20312872a9111d8f7578a8c1073a"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 12697,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #12697 declares a closing reference to issue #9693.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12697",
"confidence": "high",
"evidence_hash": "6ad913c6b5408fa917cf63634cb25f5f7b99da8efb09e080ce1f254dcd072f37",
"edge_hash": "c77d5923b2002dd83f9a0df79a2ea3aee94daec361f856e70b3699e22aeed442"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.body",
"evidence_excerpt": "### Description Fixes #9693. String type collation rendering currently hardcodes quoted collation names, so a PostgreSQL schema-qualified collation such as `schema.col",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "d1b9b7bb626a5bc5cdf75fd272fc4fdd0c9a09a399acbee633f3d4c34ffb9d5f",
"edge_hash": "81f446f1446ca4f0f5b756fdb8b75c217ad26618c61ee9e3789f11caf9353a7c"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 12697,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.body",
"evidence_excerpt": ", allowing to create respective elements with a schema-qualified collation name. Reflection is also handled for both types and domains. Fix #9693.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12697",
"confidence": "high",
"evidence_hash": "7568b66fa6f05145a76f6b0f78a30169306acf6a79d063b36163097e858abdf2",
"edge_hash": "a441ba0828fb412b1104a3ee9fd2964c93615015987b5b4b6f731f3ce6dbcb21"
},
{
"edge_kind": "follows smaller direction from",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "pr",
"target_number": 12697,
"evidence_source": "pr.body",
"evidence_excerpt": "and allowing `quoted_name(\"schema.collation\", quote=False)` for qualified names. This follows the smaller direction discussed in #9693 and #12697 rather than adding a new `collation_schema` attribute or reflection machinery. ### Tests - `python -m pytest test/sql/test_types.py...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "24938b22dde5a0feb3751dbd7b2e18016fdd0fccfdb2deb4ef4db164aa0a74aa",
"edge_hash": "87ee15a2ce3513677a4380de73c0bc00ba7822887b37a453072ccc358345bb1a"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "pr",
"target_number": 13418,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "61dfba50c0eeb7f0cc2834eacb4d3d01ab8c4d86c56c6bc21dc2b2fe0b909640",
"edge_hash": "5d1db3b83d93ea3cdd56fc54a110a2ac4a2ad215d5cc717f016f3e59157ad2dc"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12510,
"target_item_type": "issue",
"target_number": 6511,
"evidence_source": "pr.reviews[6].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **CaselIT** to try to get revision 4735f0ef65b4070abaab4f0632f691535803b7fd of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12510",
"confidence": "high",
"evidence_hash": "a4c8c080e6808acf52f6cc50659de227079a204692192e240f910a20668b2873",
"edge_hash": "c764ea9432c6566e7a50f90eb3dc91e1cac62a514b41fb292afe4fbaf6cd79ed"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12510,
"target_item_type": "issue",
"target_number": 6511,
"evidence_source": "pr.reviews[5].body",
"evidence_excerpt": "**Denis Laxalde** (dlax) wrote: code review left on gerrit View this in Gerrit at https://gerrit.sqlalchemy.org/c/sqlalchemy/sqlalchemy/+/5993 * lib/sqlalchemy/dialects/postgresql/base.py (line 3805): Done",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12510",
"confidence": "high",
"evidence_hash": "70153ea46fc08adb2c91791febe3773bdba066c149cdd70dd66a0b84e838e6ec",
"edge_hash": "f543f19fb669506b3a478a7f99b0288454a2daa49727072cd35f4cf4cf9c6c8c"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "bad1d4092b7466f65508298835fc189fc3f704d4f0bee673aa26b3497a2936a5"
},
{
"thread_key": "thread:issue:11132:pr:13368",
"title": "pr #13368: Document deprecated MySQL (M,D) float syntax and improve error message",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 70,
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13368, then review the thread evidence together.",
"active_item_count": 2,
"context_item_count": 0,
"active_issue_numbers": [
11132
],
"active_pr_numbers": [
13368
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"waiting on repo owner test approval"
],
"active_items": [
{
"item_type": "issue",
"number": 11132,
"title": "MySQL DOUBLE accepts deprecated params that dont propagate from the base DOUBLE type, document this caveat",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/11132",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13368,
"title": "Document deprecated MySQL (M,D) float syntax and improve error message",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13368",
"primary_bucket": "waiting on repo owner test approval",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [],
"relationship_edge_count": 3,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13368,
"target_item_type": "issue",
"target_number": 11132,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13368 declares a closing reference to issue #11132.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13368",
"confidence": "high",
"evidence_hash": "7c6e12a184c6bc9ef6f66bd413d16e80239504d2363aec0a844e710d63970bc9",
"edge_hash": "f486eb17dd9fc32071ed0a893c21bcf704695b3ce41c3eaff2bdafbeaa1bc224"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13368,
"target_item_type": "issue",
"target_number": 11132,
"evidence_source": "pr.body",
"evidence_excerpt": "### Description Fixes #11132. Per maintainer guidance in the issue, this PR does two things: 1. **Documents the caveat**: adds a `.. warning::` to the MySQL dialect's `",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13368",
"confidence": "high",
"evidence_hash": "6d36df49877d5ee3bc05d03915de65379011e67aced3ea8edabccb2057151240",
"edge_hash": "ae0bb876145d00270e4500214ef8943b7c920f507885bb30d138ed1ccdbbb8a3"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13368,
"target_item_type": "pr",
"target_number": 13368,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13368",
"confidence": "high",
"evidence_hash": "96226c16381f76112abc5099e0acca9a3b51db3787c8620ff9fd588a78250dbf",
"edge_hash": "43c1cb564f08e35cc1a0960f7bfb37d3329077efe2b9ef494104b260559aaccc"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "b3ff7588b55bcbe1325f7273cece20231d15e0ea23177cc4fcf9acfb8e620a9e"
},
{
"thread_key": "thread:issue:13048:pr:13399",
"title": "pr #13399: UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 70,
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13399, then review the thread evidence together.",
"active_item_count": 2,
"context_item_count": 0,
"active_issue_numbers": [
13048
],
"active_pr_numbers": [
13399
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"waiting on repo owner test approval"
],
"active_items": [
{
"item_type": "issue",
"number": 13048,
"title": "Add option for disabling automatic addition of constraint/indexes to the table",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/13048",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13399,
"title": "UniqueConstraint and Index withheld from table via attach_to_table flag, and appended to table via append_constraint",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"primary_bucket": "waiting on repo owner test approval",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [],
"relationship_edge_count": 3,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13399,
"target_item_type": "issue",
"target_number": 13048,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13399 declares a closing reference to issue #13048.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"confidence": "high",
"evidence_hash": "3cc30e8644c0575daf316f555c3cc702e33be56a7baf9238db54f2ff2ecc9bf7",
"edge_hash": "c975cd2bc8a558eb7dd2cd8a421c7fd2262817b328bc79f852cb38bd32663be0"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13399,
"target_item_type": "issue",
"target_number": 13048,
"evidence_source": "pr.body",
"evidence_excerpt": "attach_to_table, using `Table.append_constraint(index)` allows for execution of `table.indexes.add(self)` in `Index._set_parent()`. Fixes: #13048 ### Checklist <!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once the...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"confidence": "high",
"evidence_hash": "1a42aa2d1aa76cff59c51a944ec4956d6836271d09c18987274c277d11e5a339",
"edge_hash": "0d1ef8e46b0610af57c37d45c926cd4066c055dd94eed45c30124c8ed44d1975"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13399,
"target_item_type": "pr",
"target_number": 13399,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"confidence": "high",
"evidence_hash": "0a0bdfacb411e6062f600dd859955c351486e2b4bd34697fd4874f18e22d59f0",
"edge_hash": "a8bf7986fe87da64d274f3ac9d4dfd499f1c895e31fe4c9847288d718f840577"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "5d78882f85e21a7bfbf9e7f551ed79cdef12daaf0edf5c8efaf65c8d781d1179"
},
{
"thread_key": "thread:issue:13406:pr:13404",
"title": "pr #13404: Subqueryload without per-row Row construction — ~26% on subqueryload",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 70,
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13404, then review the thread evidence together.",
"active_item_count": 2,
"context_item_count": 0,
"active_issue_numbers": [
13406
],
"active_pr_numbers": [
13404
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"waiting on repo owner test approval"
],
"active_items": [
{
"item_type": "issue",
"number": 13406,
"title": "use new _raw_all_tuples with subqueryloads",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/13406",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13404,
"title": "Subqueryload without per-row Row construction — ~26% on subqueryload",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"primary_bucket": "waiting on repo owner test approval",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [],
"relationship_edge_count": 4,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "issue",
"target_number": 13406,
"evidence_source": "pr.comments[0].body",
"evidence_excerpt": "Hey @ollz272 thanks for continuing work on this! I've created #13406 from the discussion, so we have something to add to the fixes etc. > Still having trouble with gerrit.. sorry! no problem, feel free to kee",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "35194e4c2f115bdd90c6213a6dec51250a81a2b0639be55a0576103511b7edf2",
"edge_hash": "59f1d4a692897167cba986da37a640e229b3971661d64a12c35dbd036bdc2f77"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "issue",
"target_number": 13406,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13404 declares a closing reference to issue #13406.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "9a7d89018f59c82e20d438f894c8f2ed4097e9a7f555f06c38d96c93eb16251e",
"edge_hash": "560c672bb11ee185b6e75b5f35bb8a0d862e00b2cd9db48a2af4b42726e10d0c"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "issue",
"target_number": 13406,
"evidence_source": "pr.body",
"evidence_excerpt": ")` semantics; the requires_uniquing fallback covers nested-eager cases. `test_subquery_relations` and `test_recursive_loaders` pass. Fixes: #13406 ### Checklist <!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once th...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "76b9c8558015c2de3eaa733b001e18f3a07418c0d687fcdc06765cb1244f96f1",
"edge_hash": "4c535d782c933e1b5d015cd26d8438e344064f4e284ed6bd4d6c61f59b3c337a"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "pr",
"target_number": 13404,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "b8580da19963bed08494c6a98472b1349e239452c5d3dd7c2921e2988e2c63f0",
"edge_hash": "0b5f67bd4c56dc7e3f8683ca829f0962a2c29b4ab5f2ce9af4668ccd9a4ab267"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "01b665ce1d9ddf4e975c475e5d8e1af1872de6dd78653700efcbd5429187dcfb"
},
{
"thread_key": "thread:issue:13407:pr:13405",
"title": "pr #13405: # Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%)",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 70,
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13405, then review the thread evidence together.",
"active_item_count": 2,
"context_item_count": 0,
"active_issue_numbers": [
13407
],
"active_pr_numbers": [
13405
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"waiting on repo owner test approval"
],
"active_items": [
{
"item_type": "issue",
"number": 13407,
"title": "Cython batch instance processor — ~10–30% on most loads",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/13407",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13405,
"title": "# Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%)",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"primary_bucket": "waiting on repo owner test approval",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [],
"relationship_edge_count": 4,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "issue",
"target_number": 13407,
"evidence_source": "pr.comments[0].body",
"evidence_excerpt": "Thanks for looking into this. I've created an issue, it's #13407",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "6113770e4deecd804dbe769a95929d97aafee7fd010e337ca1bc2463c458b9bc",
"edge_hash": "0676e0fd4781c06da620e7d40f7ef068946a953690d2b92c83ce10a79c361ae0"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "issue",
"target_number": 13407,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13405 declares a closing reference to issue #13407.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "ff878bf6472b53d6e6572eb7e55a7e5ec2f57c2c534ddbc07d69156cdcbd2d9f",
"edge_hash": "3c642466ac9a434ca815a5959d7f3c5c240e1b66f1001a52f21ce1c4a9bdafe1"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "issue",
"target_number": 13407,
"evidence_source": "pr.body",
"evidence_excerpt": "(it wins uncompiled too); `-O3` compilation adds a smaller further gain (~2–6%), to weigh against the cost of a new compiled module. Fixes: #13407 ## Benchmarks `min` ms, vs `main`. Python 3.14, in-memory SQLite, 50 repeats, extension compiled at `-O3`. | case | before | after...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "61f72f4fd449f8e69004f0464d4bed7cc887cedb8b12a49221cc72c897c29293",
"edge_hash": "9474a7af805f9c90ceee42223c005d81b34ab6c38c6295102bcaacf704af5de0"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "pr",
"target_number": 13405,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "859b76e28e5a103bd5a1bce248807b95ef625540ddf717be0918bd26305d8de9",
"edge_hash": "88e9258a4aab7adc7ed9baf9dd97ea95e83f04f31d01ae76894c78e64a4130da"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "440251cff38f547352df3b0b7f00baa968759f139a94480185f70d5e5e0b0661"
},
{
"thread_key": "thread:issue:13419:pr:13398",
"title": "pr #13398: fix catastrophic backtracking in sqlite inline unique reflection regex",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 70,
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13398, then review the thread evidence together.",
"active_item_count": 2,
"context_item_count": 0,
"active_issue_numbers": [
13419
],
"active_pr_numbers": [
13398
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"waiting on repo owner test approval"
],
"active_items": [
{
"item_type": "issue",
"number": 13419,
"title": "catastrophic regex backtracking in sqlite inline UNIQUE reflection (ReDoS on get_unique_constraints)",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/13419",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 13398,
"title": "fix catastrophic backtracking in sqlite inline unique reflection regex",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398",
"primary_bucket": "waiting on repo owner test approval",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [],
"relationship_edge_count": 7,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13398,
"target_item_type": "issue",
"target_number": 13419,
"evidence_source": "pr.comments[1].body",
"evidence_excerpt": "opened #13419 with the description, a runnable reproducer and the comparative timings. i've linked it here (Fixes: #13419) and renamed the changelog to 1",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398",
"confidence": "high",
"evidence_hash": "4ca82214ce3682b42602d1b43859eee070f6eeb396e0ec7944c1c3e080a124d3",
"edge_hash": "615d6f6526c4986fb0844251202f9ba6ea2e48030a4a4fc754daac26aac58882"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13398,
"target_item_type": "issue",
"target_number": 13419,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13398 declares a closing reference to issue #13419.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398",
"confidence": "high",
"evidence_hash": "84e54b42e50f97e6babf610048871a2144a6a2cb42f230b35846acad8d18b0d7",
"edge_hash": "4319c7421b633c06011e244c825a6de5cc1727141562eb96d10eefb3cf79f81f"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13398,
"target_item_type": "issue",
"target_number": 13419,
"evidence_source": "pr.body",
"evidence_excerpt": "Fixes: #13419 ### Description While reflecting a SQLite table, `get_unique_constraints` scans the stored `CREATE TABLE` text (taken verbatim from `sqlite",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398",
"confidence": "high",
"evidence_hash": "101f841ff0d119bb117dcfa991ec38fa2d324b96cf64dfbbac22122920882125",
"edge_hash": "ac8877fa5a3868d380c69527ce113bb8555b7749697a7be288ab76a82b65fcb9"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13398,
"target_item_type": "pr",
"target_number": 13398,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398",
"confidence": "high",
"evidence_hash": "0d6347ce7d70ddf8e73bcc32840abe88cb11df23f773ec021fe1bc76b0cb7e91",
"edge_hash": "0d76e45c08d7c295071ba758d34fec6c9fb3021830d7a811f2bbfbf9d79d2b74"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13398,
"target_item_type": "issue",
"target_number": 13419,
"evidence_source": "pr.reviews[1].body",
"evidence_excerpt": "LGTM. Removing the space from `[a-z0-9_ ]` successfully eliminates the ReDOS vulnerability. Thanks!",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398#pullrequestreview-4639806810",
"confidence": "high",
"evidence_hash": "5dc99428beff20546bc78fdba30cfec3482d38e1b8313655f6cc19d58b75ad79",
"edge_hash": "25b6e5ddf8b041a2f3f0f928285024024654e7fc9a0aa27ef2217409fd0701f5"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13398,
"target_item_type": "issue",
"target_number": 13419,
"evidence_source": "pr.reviews[0].body",
"evidence_excerpt": "LGTM. Removing the space from `[a-z0-9_ ]` successfully eliminates the ReDOS vulnerability. Thanks!",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13398",
"confidence": "high",
"evidence_hash": "a40db8b86018771c5554bd606d95512b8aa34ee6120824ae45c4711393a7d9a3",
"edge_hash": "fd22e140612d3114b4c930b69eec7dbe9472da040b75df9c7d6d68a714c54ffd"
},
{
"edge_kind": "references",
"source_item_type": "issue",
"source_number": 13419,
"target_item_type": "pr",
"target_number": 13398,
"evidence_source": "issue.body",
"evidence_excerpt": "Fix is to tokenise the inter-keyword whitespace with disjoint classes so a space only ever belongs to a separator and never to a token. PR #13398.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/issues/13419",
"confidence": "medium",
"evidence_hash": "5438506bfae6788939d085b934c6a38ec5025f49ae5697eb445b93df01cfeb88",
"edge_hash": "d463de5899afbe9ad43ebe3c983e3b8f255334b4d7599d72f6394bd9ed97eaa3"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "dc9cb0c3645ba1385b5aa9f2b620e6258594873361c6975237409d4ab6a1b18b"
},
{
"thread_key": "thread:issue:12398:pr:12401",
"title": "pr #12401: Make loader strategy error message more verbose",
"primary_bucket": "PR blocked",
"attention_score": 65,
"maintainer_next_action": "Review active PRs and linked issues as one maintainer work thread.",
"active_item_count": 2,
"context_item_count": 1,
"active_issue_numbers": [
12398
],
"active_pr_numbers": [
12401
],
"context_issue_numbers": [
10668
],
"context_pr_numbers": [],
"buckets": [
"has linked PR",
"PR blocked"
],
"active_items": [
{
"item_type": "issue",
"number": 12398,
"title": "Add existing strategy to conflicting strategies error message",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/12398",
"primary_bucket": "has linked PR",
"state": "OPEN",
"active_backlog": true
},
{
"item_type": "pr",
"number": 12401,
"title": "Make loader strategy error message more verbose",
"url": "https://github.com/sqlalchemy/sqlalchemy/pull/12401",
"primary_bucket": "PR blocked",
"state": "OPEN",
"active_backlog": true
}
],
"context_items": [
{
"item_type": "issue",
"number": 10668,
"title": "Add local column in dependency rule error message",
"url": "https://github.com/sqlalchemy/sqlalchemy/issues/10668",
"primary_bucket": "good volunteer slice",
"state": "CLOSED",
"active_backlog": false
}
],
"relationship_edge_count": 4,
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 12401,
"target_item_type": "issue",
"target_number": 12398,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #12401 declares a closing reference to issue #12398.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12401",
"confidence": "high",
"evidence_hash": "4c9a5a64cb5f8dc9b94a0a8bede1c083ca75593faced90fefd600e43bdbdd012",
"edge_hash": "232c205e41edef50d93e2ec5301e7795f70f8d31f5253d22f1f4ee2fb5601389"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 12401,
"target_item_type": "issue",
"target_number": 12398,
"evidence_source": "pr.body",
"evidence_excerpt": "Fixes: #12398 This PR makes the error message on conflicting loader strategies more verbose to help with debugging <!-- Provide a general summary of your",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12401",
"confidence": "high",
"evidence_hash": "b7279e34ea3ab3503ab8ad66349209d97948f3f9edb95d622678329dadde0dcd",
"edge_hash": "eb84806a47084ddc271942abc2a50bbbd24f9a8b9ef4e5eac4ef186d2afdabd7"
},
{
"edge_kind": "blocked by checks",
"source_item_type": "pr",
"source_number": 12401,
"target_item_type": "pr",
"target_number": 12401,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Blocked or unstable check/merge state. Check signal(s): pep484-3.14, pep8-3.14, gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12401",
"confidence": "medium",
"evidence_hash": "eea0631c305b31821632b6f4daa175b015d35298a1db039931faf95799f86e85",
"edge_hash": "dd91cf34cf067545c72f98b6c9e9a628dca9b2e4f17118f818de77e38e0b62be"
},
{
"edge_kind": "references",
"source_item_type": "issue",
"source_number": 12398,
"target_item_type": "issue",
"target_number": 10668,
"evidence_source": "issue.body",
"evidence_excerpt": "### Describe the use case I just received the following error of in my project and have an improvement request similar to #10668 : ``` sqlalchemy.exc.InvalidRequestError: Loader strategies for ORM Path[Mapper[Cable(cable)] -> Cable.cablesides -> Mapper[CadCableSide(ca",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/issues/12398",
"confidence": "medium",
"evidence_hash": "07ceea06d0f1bb244249ac24902ba1dd7392e1e6bc595e75652f640133c4aefd",
"edge_hash": "03a7af3bbccddd286fa5cf8eaf0a169b86c731ba95d74ed132abeb0174820f8f"
}
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"thread_hash": "86a0a68df33f2efc20f17db6acf1c56cb666b079aae9d1748cf4eeb1df50aadc"
}
],
"top_issue_collapse_groups": [
{
"group_key": "issue-collapse:20b17ea0e67b3653",
"title": "Review thread: 1 issue + 1 PR - pr #13323: Apply tuple bind expressions to expanding IN values",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 94,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
8992
],
"active_pr_numbers": [
13323
],
"context_issue_numbers": [
8989
],
"context_pr_numbers": [],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 1,
"context_pr_count": 0,
"component_labels": [
"sql"
],
"labels": [
"bug",
"high priority",
"sql"
],
"work_thread_keys": [
"thread:issue:8992:pr:13323"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13323, then review the thread evidence together.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13323,
"target_item_type": "issue",
"target_number": 8992,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13323 declares a closing reference to issue #8992.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13323",
"confidence": "high",
"evidence_hash": "579ea63a5b64a2ddb2418ef200efbb854a90ee2c4e24c5675cb7786ac1a0e38a",
"edge_hash": "3cec98bc0d7adc99b01df86aa50a84eabb8bc4004cec69005ddc6af1551f4284"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13323,
"target_item_type": "issue",
"target_number": 8992,
"evidence_source": "pr.body",
"evidence_excerpt": "dering expanded tuples. This matches scalar `IN` behavior for custom types and covers both `render_postcompile` and `literal_binds`. Fixes: #8992 ### Checklist This pull request is: - [ ] A documentation / typographical / small typing error fix - [x] A short code fix - Fixes:...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13323",
"confidence": "high",
"evidence_hash": "3fdec6052d67d3cfd6f11f8ce992e0bbb9385ee310574b703ec0e955726fb6ee",
"edge_hash": "35ba4d39c7b2f9b036753e67180432d5bb33221773fc0599a425fce483fdc5b7"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13323,
"target_item_type": "pr",
"target_number": 13323,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13323",
"confidence": "high",
"evidence_hash": "78389ce6eeb4a2890cd6e80e3f725abd4f796eb48f0d0fa80bc89286ebeffff5",
"edge_hash": "fd2750d26b91987704010f092a748d5600cc41474915cf0d41b5b22347a24ae9"
},
{
"edge_kind": "references",
"source_item_type": "issue",
"source_number": 8992,
"target_item_type": "issue",
"target_number": 8989,
"evidence_source": "issue.body",
"evidence_excerpt": "discovered during #8989, this is simply not implemented at all and the bind expression is ignored when it's an element of a tuple. Also, the impl of a TupleType()",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/issues/8992",
"confidence": "medium",
"evidence_hash": "46c36af5913ed4eacd3c91b7bbfe671ecce76e43945986c60a3484702423ff7b",
"edge_hash": "c5f2bec507074b35456f1d1b4e6b8e7317035e374d340f36f165e59c8d865b0b"
}
],
"evidence_count": 4,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#8992 tuple expanding params do not render bind_expression() for elements"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "a7506b5d28d3fd54f51d34bc8dedbdd150902e5ffa5ab3d20a9d729e3e1c881d"
},
{
"group_key": "issue-collapse:63d3b30a6535e10e",
"title": "Review thread: 1 issue + 1 PR - pr #13402: Allow inspection registrations from module reloads",
"collapse_kind": "linked work thread",
"primary_bucket": "PR blocked",
"attention_score": 62,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
10748
],
"active_pr_numbers": [
13402
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 0,
"context_pr_count": 0,
"component_labels": [
"orm"
],
"labels": [
"PRs (with tests!) welcome",
"bug",
"external library/application issues",
"orm"
],
"work_thread_keys": [
"thread:issue:10748:pr:13402"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Review active PRs and linked issues as one maintainer work thread.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.review_comments[0].body",
"evidence_excerpt": "let's add a comment similar to the shared by mike here https://github.com/sqlalchemy/sqlalchemy/issues/10748#issuecomment-1852787222 to clarify why it's done this way",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "a6c68e602a88c876863c56c4cc76309bbe60cf2d2c6eccaf0415c33e7d7dba7f",
"edge_hash": "4744fe30ead34340dbcdd86c6353e91bd8fc19d932ed9c0b696e84173c852a82"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13402 declares a closing reference to issue #10748.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "2ff81594ce6acdcfeb0602a855629ad1d9a7721515133cc29324b30d2c2ca232",
"edge_hash": "70766bad10414c9f02b07d24ffaaacbb9199da1a0ca5cee81cdc3f12080da76b"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.body",
"evidence_excerpt": "gistration assertion for conflicting registrars - add regression coverage for module reload style registration and a changelog entry Closes #10748. ### Validation - `/tmp/sqlalchemy-pr-venv/bin/python -m pytest test/base/test_inspect.py -q` - `/tmp/sqlalchemy-pr-venv/bin/pytho...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "c150169126683f2b1a5088f586356dac00a154712c353f36519b216309168dfa",
"edge_hash": "1752aa77665d15b641d2709524803aed9903e5f7080f42dceb806e3fe9d5fca7"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.reviews[3].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **CaselIT** to try to get revision e54815ef0092da05277efab79b90b77e44734cb9 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402#pullrequestreview-4590995010",
"confidence": "high",
"evidence_hash": "8b7a19c1abf1d46bdf74ab347e2b6a5580f42341e7f25f5882798fb27a7bb34c",
"edge_hash": "caa5d2c69add7aedf6f7cee7a7355eac438e085610693dcfc46f3a46cca6d5c8"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.reviews[2].body",
"evidence_excerpt": "thanks, just a nitpick comment. otherwise it looks fine @zzzeek I think 2.1 only for this is fine",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402#pullrequestreview-4590614148",
"confidence": "high",
"evidence_hash": "788250012b0125e304886586bcd8d8f88a085429a2f4d5fc15a5cba222b2a0af",
"edge_hash": "f20699b75bada4b4bed273a53cb87438704bf9b44800a32981bd416c5a78ab42"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13402,
"target_item_type": "issue",
"target_number": 10748,
"evidence_source": "pr.reviews[1].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **CaselIT** to try to get revision e54815ef0092da05277efab79b90b77e44734cb9 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13402",
"confidence": "high",
"evidence_hash": "c2cecc1f3588b02651b4c91caebdef4cfe14f66fa65d5756883901839621ae9d",
"edge_hash": "d6a9354336447786cf2d22dfc4558f109546bf6369cabdfbb57d839efc59cbc9"
}
],
"evidence_count": 6,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#10748 schemes that attempt to reload modules are blocked by the inspection registry"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "e767fae6c76850cfdc11b817125a54d95221d2ba23d6d4ac01b2f4b51ae6e1c2"
},
{
"group_key": "issue-collapse:fdcf9ec8b5e3f7ae",
"title": "Review thread: 1 issue + 1 PR - pr #13303: Fix PostgreSQL CHECK constraint reflection stripping unrelated parens",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on contributor",
"attention_score": 62,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
13157
],
"active_pr_numbers": [
13303
],
"context_issue_numbers": [],
"context_pr_numbers": [
13188,
13200
],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 0,
"context_pr_count": 2,
"component_labels": [
"postgresql",
"reflection"
],
"labels": [
"bug",
"great mcve",
"postgresql",
"reflection"
],
"work_thread_keys": [
"thread:issue:13157:pr:13303"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Wait for contributor update on PR #13303; keep related issue/PR context attached.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13303,
"target_item_type": "issue",
"target_number": 13157,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13303 declares a closing reference to issue #13157.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13303",
"confidence": "high",
"evidence_hash": "e6f176baea876ba31d0a381b4a56a97ef18cedf2559f5d5cb9a7041f7e50f8da",
"edge_hash": "2b2dc2ded9e19b375a12c4b4aa7b514ba994b7a92de8e4fb07c96a0fa70422fa"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13200,
"target_item_type": "issue",
"target_number": 13157,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13200 declares a closing reference to issue #13157.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13200",
"confidence": "high",
"evidence_hash": "2d5532568dd7bf869b759163bd4efe7cf811e830cacd058a6ba4c5de36caf790",
"edge_hash": "bb31b3109a95b1cba6b39ba4bf8342e75f3624407b6e2c8fc4477a79afc82b90"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13188,
"target_item_type": "issue",
"target_number": 13157,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13188 declares a closing reference to issue #13157.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13188",
"confidence": "high",
"evidence_hash": "88f9999d326046e2636a8a268deba107254360fcb3a9539f26663ee0863a8550",
"edge_hash": "5977b54535ccf9f1cf9bfc75ab6ed7b89943dda0918b5686cfdcefb10288a329"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13303,
"target_item_type": "issue",
"target_number": 13157,
"evidence_source": "pr.body",
"evidence_excerpt": "Fixes #13157. The second pass over the CHECK constraint body in `get_multi_check_constraints` used a naive ```python re.sub(r\"^[\\s\\n]*\\((.+)\\)[\\s\\n]*$\",",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13303",
"confidence": "high",
"evidence_hash": "482bd70a53a0a417d02073f91b6b298afb222bd5bbe26a21d5a7d421eaf9a1a7",
"edge_hash": "501685f7baf26afc73cdcf87e9e98c9e360d370c51d4ee497eb734426885603e"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13200,
"target_item_type": "issue",
"target_number": 13157,
"evidence_source": "pr.body",
"evidence_excerpt": "verified: - `((a > 1) AND (a < 5))` → `(a > 1) AND (a < 5)` ✅ - `(a > 1)` → `a > 1` ✅ - `a > 1` → `a > 1` (no parens, unchanged) ✅ Closes: #13157",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13200",
"confidence": "high",
"evidence_hash": "8e4b04105caf6e92158b164cdad454b047b3e0386c44c35b8b90922423aeac72",
"edge_hash": "cef521a70b01d5c511e4eba3b5f40f4dd3a90c823b008de0c314aa8fcb053786"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13188,
"target_item_type": "issue",
"target_number": 13157,
"evidence_source": "pr.body",
"evidence_excerpt": "## Summary Fixes #13157. **Root cause:** Check constraint reflection naively stripped one pair of outer parentheses, corrupting compound expressions where the firs",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13188",
"confidence": "high",
"evidence_hash": "2ad7b32276ed41dc4d0eeb224b0c81e6155d340c223f24be17591e415ca397c5",
"edge_hash": "5b7984d7a71f453ba1668f7b7417f236f102f99942a0ff741ca2fdaca6cea567"
}
],
"evidence_count": 6,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#13157 PostgreSQL check constraint reflection strips brackets naively"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "678f38e3513f755b00fc2979e13fb75e43e78acf263adfd395cbb65d0641d0b5"
},
{
"group_key": "issue-collapse:3edab8ed60233c59",
"title": "Review thread: 5 issues + 1 PR - pr #13289: fix: raise clear error when default_factory/default passed to WriteOnlyMapped/DynamicMapped relationship",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on contributor",
"attention_score": 52,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
9410,
9493,
9930,
10094,
13227
],
"active_pr_numbers": [
13289
],
"context_issue_numbers": [
5811,
9350,
9563,
9785,
9927,
12168
],
"context_pr_numbers": [],
"issue_count": 5,
"active_pr_count": 1,
"context_issue_count": 6,
"context_pr_count": 0,
"component_labels": [
"asyncio",
"documentation",
"orm"
],
"labels": [
"PRs (with tests!) welcome",
"asyncio",
"bug",
"dataclasses",
"documentation",
"high priority",
"orm",
"orm - annotated declarative",
"use case"
],
"work_thread_keys": [
"thread:issue:10094:issue:13227:issue:9410:issue:9493"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Wait for contributor update on PR #13289; keep related issue/PR context attached.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13289,
"target_item_type": "issue",
"target_number": 13227,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13289 declares a closing reference to issue #13227.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13289",
"confidence": "high",
"evidence_hash": "37eb954bdacaab037b33b0595f93164d64f8a4fadc255eba243f0dd6d2f2f75b",
"edge_hash": "ced4562477c3843a6ce436f1abb6bce3284b6a221558bf2746722d7a131bd7bc"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13289,
"target_item_type": "issue",
"target_number": 13227,
"evidence_source": "pr.body",
"evidence_excerpt": "### Description Fixes: #13227 When `default_factory=list` or `default` is passed to a `WriteOnlyMapped` or `DynamicMapped` relationship, it previously caused cryptic cra",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13289",
"confidence": "high",
"evidence_hash": "9246a08505a7f683e9e467e7d71cc4488d44570c886dc7f714ad1e2f09c2e42f",
"edge_hash": "944b8dd730fce3e28c4c7c95e1cb0a1de9dcaf1b3a0fb15388ad90f872b27e9a"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13289,
"target_item_type": "issue",
"target_number": 13227,
"evidence_source": "pr.reviews[2].body",
"evidence_excerpt": "thanks, left a few suggestions. let's also wait mike input on whatever we should include also dynamic here",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13289#pullrequestreview-4270338141",
"confidence": "high",
"evidence_hash": "6050170996f721ab875cc454160e19f28c2b397c0859ed7e8a3c0a8dd5ad0cd9",
"edge_hash": "a2d8bbde38795c7338be9afaa3c5cc53984a40cbf819905bb5fa436eeaee1c8a"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13289,
"target_item_type": "issue",
"target_number": 13227,
"evidence_source": "pr.reviews[0].body",
"evidence_excerpt": "thanks, left a few suggestions. let's also wait mike input on whatever we should include also dynamic here",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13289",
"confidence": "high",
"evidence_hash": "d235f2f4ef28e2a0d731ebf66599625b2e2e47ae94bf13f6f510f297eb472ce1",
"edge_hash": "6a6404a8e0c0dc7fd76ff00bab87d99b1100087478e9581c23036f521aec43d3"
},
{
"edge_kind": "duplicate candidate",
"source_item_type": "issue",
"source_number": 10094,
"target_item_type": "issue",
"target_number": 9410,
"evidence_source": "title_label_similarity",
"evidence_excerpt": "Possible related issues #10094 and #9410 shared tokens: document, far, gotchas",
"evidence_url": "",
"confidence": "low",
"evidence_hash": "a1fd3ce187e9261468f2892e639e2a61942b279f476f6b7930e63dd41f8d4762",
"edge_hash": "1e10c64b668c83a6028d58c648ae1596ea84d6f6226b5b2569c7eb5cd6717c82"
},
{
"edge_kind": "references",
"source_item_type": "issue",
"source_number": 9410,
"target_item_type": "issue",
"target_number": 9785,
"evidence_source": "issue.comments[9].body",
"evidence_excerpt": "> Maybe also: > > * [Using back_populates with MappedAsDataclass and asdict causing RecursionError #9785](https://github.com/sqlalchemy/sqlalchemy/issues/9785) sure. would be good to find if this has been reported as a dataclasses bug though",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/issues/9410",
"confidence": "medium",
"evidence_hash": "e9a7edbb51c0fbb8e7d03b064b9330f51b825c0e6c00d0b07c37b43267da66a3",
"edge_hash": "ba448f2b7b38f715749d8acdcc1f5ec14eaf121fc2632ad465624b518ddee780"
}
],
"evidence_count": 6,
"coverage_note": "Represents 5 open issues; raw issue rows remain available for audit.",
"top_issue_titles": [
"#9410 document dataclass gotchas so far",
"#9493 MappedAsDataclass inherits dataclasses attributes, while the spec says they don't",
"#9930 need docs /warnings that `__init__` is not called on load",
"#10094 document asyncio gotchas so far",
"#13227 WriteOnlyMapped: default_factory=list broken in 2.1 due to new declarative_scan validation"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "1df12023f62e1069de424a80a77079f5197ed0b89ba904bffe9b940fd9a3bc8b"
},
{
"group_key": "issue-collapse:4d99e261e8c611ed",
"title": "Review thread: 1 issue + 1 PR - pr #12433: Coerce aliased Select and CompoundSelect to subquery",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on contributor",
"attention_score": 52,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
6274
],
"active_pr_numbers": [
12433
],
"context_issue_numbers": [
10236
],
"context_pr_numbers": [],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 1,
"context_pr_count": 0,
"component_labels": [
"orm"
],
"labels": [
"bug",
"orm",
"regression"
],
"work_thread_keys": [
"thread:issue:6274:pr:12433"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Wait for contributor update on PR #12433; keep related issue/PR context attached.",
"representative_evidence": [
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12433,
"target_item_type": "issue",
"target_number": 6274,
"evidence_source": "pr.reviews[8].body",
"evidence_excerpt": "I would prefer just go to the \"raise informative error\" step without passing to the deprecation step, since we had an uninformative error already",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12433#pullrequestreview-2686673482",
"confidence": "high",
"evidence_hash": "1746be3bfdfb654da33a2e2a90747a0339c0fd7863e983932bdc19a962eeea42",
"edge_hash": "ae58ecea6a046a24a6295de8cbba17caf41befd073e7221e529dadb03218177d"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12433,
"target_item_type": "issue",
"target_number": 6274,
"evidence_source": "pr.reviews[6].body",
"evidence_excerpt": "great job. I think we can simplify the fix and also add some more test support, see inline comments",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12433#pullrequestreview-2685806442",
"confidence": "high",
"evidence_hash": "615828423a21c42b277e21c821ff87c7b3c086d6216077a9d36d2e8517b4c8a8",
"edge_hash": "4d82eb33c3abc50116cb6357972597a785de93fc6bd15005113a6e9933fb6e35"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12433,
"target_item_type": "issue",
"target_number": 6274,
"evidence_source": "pr.reviews[5].body",
"evidence_excerpt": "OK we changed from coercion + warning to raise in #10236. So this PR needs to have a separate version for main vs. 2.0. in main, these test should expect a raise. in 2.0, we need to use expect_deprecated. the tests themselves should be in test/orm/test_deprecated.py. @CaselIT this is getting comp...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12433",
"confidence": "high",
"evidence_hash": "a906dc861a53fc153b704230ccb8fc8e9f1d67a882d47d291ebb6a1bf6fc076f",
"edge_hash": "81facfa4114dd6e2975ea2f6e1dd356e74494fe5072b98115fb4c7263449d6bb"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12433,
"target_item_type": "issue",
"target_number": 6274,
"evidence_source": "pr.reviews[2].body",
"evidence_excerpt": "I would prefer just go to the \"raise informative error\" step without passing to the deprecation step, since we had an uninformative error already",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12433",
"confidence": "high",
"evidence_hash": "92bb9b6766a9d1cf67f5dd687942dce25ce78718d291a6de879bcacf10231915",
"edge_hash": "f947d5eefb5219f9154542decdb98b6fe074bd4b2edb15e4f155bfd344166d01"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12433,
"target_item_type": "issue",
"target_number": 6274,
"evidence_source": "pr.reviews[11].body",
"evidence_excerpt": "OK we changed from coercion + warning to raise in #10236. So this PR needs to have a separate version for main vs. 2.0. in main, these test should expect a raise. in 2.0, we need to use expect_deprecated. the tests themselves should be in test/orm/test_deprecated.py. @CaselIT this is getting comp...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12433#pullrequestreview-2687772991",
"confidence": "high",
"evidence_hash": "655f3a1e51d8062c1ccd667b5fd9858dfd26c8455495bb820a2babd706496cc9",
"edge_hash": "40bf413959f225e5186085a87c13866991af3088fa61d117f03d93d5abbc470f"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 12433,
"target_item_type": "issue",
"target_number": 6274,
"evidence_source": "pr.reviews[0].body",
"evidence_excerpt": "great job. I think we can simplify the fix and also add some more test support, see inline comments",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12433",
"confidence": "high",
"evidence_hash": "618106bb26e2d2c8a59f334ce2dfdb99946934fb87e767763a55b5b71a7f375a",
"edge_hash": "c77c116755908a7ca60941540be8690a0eacbcb03790f6ce9eb15250a5b4cfd8"
}
],
"evidence_count": 6,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#6274 Fix the error message when aliased() is invoked against a select() or union() and do legacy coercion"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "7a919cd9b0b6782b825a20f13e1d7b85044608b4ea36249746dde6f4b8123d98"
},
{
"group_key": "issue-collapse:c957bcabf1904e15",
"title": "Review thread: 2 issues + 3 PRs - pr #12697: Support schema-qualified collation in types for PostgreSQL",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 44,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
6511,
9693
],
"active_pr_numbers": [
12697,
12698,
13418
],
"context_issue_numbers": [],
"context_pr_numbers": [
12510
],
"issue_count": 2,
"active_pr_count": 3,
"context_issue_count": 0,
"context_pr_count": 1,
"component_labels": [
"datatypes",
"postgresql",
"reflection",
"schema"
],
"labels": [
"PRs (with tests!) welcome",
"datatypes",
"fairly easy",
"postgresql",
"reflection",
"schema",
"use case"
],
"work_thread_keys": [
"thread:issue:6511:issue:9693:pr:12697:pr:12698"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13418, then review the thread evidence together.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13418 declares a closing reference to issue #9693.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "0a2d293786e8fb8cf6c1545ef7c6f49b80e8f54e8607fc526d68ad590c99450a",
"edge_hash": "7b109db8ab130b2956c22ebc82eca2f0a37a20312872a9111d8f7578a8c1073a"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 12697,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #12697 declares a closing reference to issue #9693.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12697",
"confidence": "high",
"evidence_hash": "6ad913c6b5408fa917cf63634cb25f5f7b99da8efb09e080ce1f254dcd072f37",
"edge_hash": "c77d5923b2002dd83f9a0df79a2ea3aee94daec361f856e70b3699e22aeed442"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.body",
"evidence_excerpt": "### Description Fixes #9693. String type collation rendering currently hardcodes quoted collation names, so a PostgreSQL schema-qualified collation such as `schema.col",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "d1b9b7bb626a5bc5cdf75fd272fc4fdd0c9a09a399acbee633f3d4c34ffb9d5f",
"edge_hash": "81f446f1446ca4f0f5b756fdb8b75c217ad26618c61ee9e3789f11caf9353a7c"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 12697,
"target_item_type": "issue",
"target_number": 9693,
"evidence_source": "pr.body",
"evidence_excerpt": ", allowing to create respective elements with a schema-qualified collation name. Reflection is also handled for both types and domains. Fix #9693.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/12697",
"confidence": "high",
"evidence_hash": "7568b66fa6f05145a76f6b0f78a30169306acf6a79d063b36163097e858abdf2",
"edge_hash": "a441ba0828fb412b1104a3ee9fd2964c93615015987b5b4b6f731f3ce6dbcb21"
},
{
"edge_kind": "follows smaller direction from",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "pr",
"target_number": 12697,
"evidence_source": "pr.body",
"evidence_excerpt": "and allowing `quoted_name(\"schema.collation\", quote=False)` for qualified names. This follows the smaller direction discussed in #9693 and #12697 rather than adding a new `collation_schema` attribute or reflection machinery. ### Tests - `python -m pytest test/sql/test_types.py...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "24938b22dde5a0feb3751dbd7b2e18016fdd0fccfdb2deb4ef4db164aa0a74aa",
"edge_hash": "87ee15a2ce3513677a4380de73c0bc00ba7822887b37a453072ccc358345bb1a"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13418,
"target_item_type": "pr",
"target_number": 13418,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13418",
"confidence": "high",
"evidence_hash": "61dfba50c0eeb7f0cc2834eacb4d3d01ab8c4d86c56c6bc21dc2b2fe0b909640",
"edge_hash": "5d1db3b83d93ea3cdd56fc54a110a2ac4a2ad215d5cc717f016f3e59157ad2dc"
}
],
"evidence_count": 6,
"coverage_note": "Represents 2 open issues; raw issue rows remain available for audit.",
"top_issue_titles": [
"#6511 add support for reflection of collation in types",
"#9693 Text type columns using schema qualified collations compile a quoted DDL statement on Postgres"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "64ada7b790d981b3d71a8f3c4a261490d4a38e81f28291aa0a942e21a3fe31ca"
},
{
"group_key": "issue-collapse:f0c50bddefb35522",
"title": "Review thread: 1 issue + 1 PR - pr #13421: Fix oracledb async dialect entering cursors synchronously",
"collapse_kind": "linked work thread",
"primary_bucket": "PR blocked",
"attention_score": 44,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
13420
],
"active_pr_numbers": [
13421
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 0,
"context_pr_count": 0,
"component_labels": [
"asyncio",
"oracle"
],
"labels": [
"asyncio",
"bug",
"oracle",
"task"
],
"work_thread_keys": [
"thread:issue:13420:pr:13421"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Review active PRs and linked issues as one maintainer work thread.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13421 declares a closing reference to issue #13420.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "high",
"evidence_hash": "8b33a35ff1691143cc95cea5dbf74aabb2977e184c2e60ce18f313f6bbca2bde",
"edge_hash": "ef9f6d83630b523f3748797762ee7b37eee9c23f6755101d791e894a1e4489e0"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.body",
"evidence_excerpt": "db's AsyncCursor in version 2.0.1, the async dialect's minimum supported oracledb version is raised from 2.0.0 to 2.0.1 accordingly. Fixes: #13420 <!-- Provide a general summary of your proposed changes in the Title field above --> ### Description <!-- Describe your changes in...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "high",
"evidence_hash": "dd142b73825027796dad3fd9913eafab72d85b3a1427145173e4908f67056013",
"edge_hash": "73538cba9e790f2a426062d31659c4cf0be9993477090571c79dc31b5b24892c"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.reviews[1].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **zzzeek** to try to get revision 20582e2eaf1cdf9cd8af94ecf216f5d5d9fb3d62 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421#pullrequestreview-4648102684",
"confidence": "high",
"evidence_hash": "d9d3d13b996ab6cd79be43d02febd0ab28c1481af4d95a2a92a9a1e084679ef9",
"edge_hash": "f1cd57fff9158cddf94ec69a678ad310529c0ca0212b8dffcf7e08561569aaa9"
},
{
"edge_kind": "review guidance",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "issue",
"target_number": 13420,
"evidence_source": "pr.reviews[0].body",
"evidence_excerpt": "OK, this is **sqla-tester** setting up my work on behalf of **zzzeek** to try to get revision 20582e2eaf1cdf9cd8af94ecf216f5d5d9fb3d62 of this pull request into gerrit so we can run tests and reviews and stuff",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "high",
"evidence_hash": "5a7c63410de3e0030e674a680bed80f158c9153656e71d6297dc895290180827",
"edge_hash": "ccc6336613907eddfab4f70d808e7e806175ab90db03e906cb6efbbc34c5e81f"
},
{
"edge_kind": "blocked by checks",
"source_item_type": "pr",
"source_number": 13421,
"target_item_type": "pr",
"target_number": 13421,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Blocked or unstable check/merge state. Check signal(s): code_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13421",
"confidence": "medium",
"evidence_hash": "4ca97d7227b134b341f37b9691646b3e7174e848bc88c25ff5e8d38e73a5a411",
"edge_hash": "0751f8df10238d9bdc96d4110b9c9b9718d020a1867adfed73f253ae65a04226"
}
],
"evidence_count": 5,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#13420 oracledb async dialect enters cursors synchronously, silently breaking async cursor wrappers"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "9f6059af6bc71d4e7b2b654b9f965c325b82b9eb4230d72ab157a557fec260a0"
},
{
"group_key": "issue-collapse:3a489042976c92b9",
"title": "Review thread: 1 issue + 1 PR - pr #13405: # Cython batch instance processor — ~10–30% on most loads (collection joinedload −5%)",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 44,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
13407
],
"active_pr_numbers": [
13405
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 0,
"context_pr_count": 0,
"component_labels": [
"orm",
"performance"
],
"labels": [
"orm",
"performance"
],
"work_thread_keys": [
"thread:issue:13407:pr:13405"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13405, then review the thread evidence together.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "issue",
"target_number": 13407,
"evidence_source": "pr.comments[0].body",
"evidence_excerpt": "Thanks for looking into this. I've created an issue, it's #13407",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "6113770e4deecd804dbe769a95929d97aafee7fd010e337ca1bc2463c458b9bc",
"edge_hash": "0676e0fd4781c06da620e7d40f7ef068946a953690d2b92c83ce10a79c361ae0"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "issue",
"target_number": 13407,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13405 declares a closing reference to issue #13407.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "ff878bf6472b53d6e6572eb7e55a7e5ec2f57c2c534ddbc07d69156cdcbd2d9f",
"edge_hash": "3c642466ac9a434ca815a5959d7f3c5c240e1b66f1001a52f21ce1c4a9bdafe1"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "issue",
"target_number": 13407,
"evidence_source": "pr.body",
"evidence_excerpt": "(it wins uncompiled too); `-O3` compilation adds a smaller further gain (~2–6%), to weigh against the cost of a new compiled module. Fixes: #13407 ## Benchmarks `min` ms, vs `main`. Python 3.14, in-memory SQLite, 50 repeats, extension compiled at `-O3`. | case | before | after...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "61f72f4fd449f8e69004f0464d4bed7cc887cedb8b12a49221cc72c897c29293",
"edge_hash": "9474a7af805f9c90ceee42223c005d81b34ab6c38c6295102bcaacf704af5de0"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13405,
"target_item_type": "pr",
"target_number": 13405,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13405",
"confidence": "high",
"evidence_hash": "859b76e28e5a103bd5a1bce248807b95ef625540ddf717be0918bd26305d8de9",
"edge_hash": "88e9258a4aab7adc7ed9baf9dd97ea95e83f04f31d01ae76894c78e64a4130da"
}
],
"evidence_count": 4,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#13407 Cython batch instance processor — ~10–30% on most loads"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "831227f0f94ee6188d2a7e04d0235b714f4e3d3bfd3030977bfb9ab5d31be581"
},
{
"group_key": "issue-collapse:1057bc2c5756d700",
"title": "Review thread: 1 issue + 1 PR - pr #13404: Subqueryload without per-row Row construction — ~26% on subqueryload",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 44,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
13406
],
"active_pr_numbers": [
13404
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 0,
"context_pr_count": 0,
"component_labels": [
"orm",
"performance"
],
"labels": [
"orm",
"performance"
],
"work_thread_keys": [
"thread:issue:13406:pr:13404"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13404, then review the thread evidence together.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "issue",
"target_number": 13406,
"evidence_source": "pr.comments[0].body",
"evidence_excerpt": "Hey @ollz272 thanks for continuing work on this! I've created #13406 from the discussion, so we have something to add to the fixes etc. > Still having trouble with gerrit.. sorry! no problem, feel free to kee",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "35194e4c2f115bdd90c6213a6dec51250a81a2b0639be55a0576103511b7edf2",
"edge_hash": "59f1d4a692897167cba986da37a640e229b3971661d64a12c35dbd036bdc2f77"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "issue",
"target_number": 13406,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13404 declares a closing reference to issue #13406.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "9a7d89018f59c82e20d438f894c8f2ed4097e9a7f555f06c38d96c93eb16251e",
"edge_hash": "560c672bb11ee185b6e75b5f35bb8a0d862e00b2cd9db48a2af4b42726e10d0c"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "issue",
"target_number": 13406,
"evidence_source": "pr.body",
"evidence_excerpt": ")` semantics; the requires_uniquing fallback covers nested-eager cases. `test_subquery_relations` and `test_recursive_loaders` pass. Fixes: #13406 ### Checklist <!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once th...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "76b9c8558015c2de3eaa733b001e18f3a07418c0d687fcdc06765cb1244f96f1",
"edge_hash": "4c535d782c933e1b5d015cd26d8438e344064f4e284ed6bd4d6c61f59b3c337a"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13404,
"target_item_type": "pr",
"target_number": 13404,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13404",
"confidence": "high",
"evidence_hash": "b8580da19963bed08494c6a98472b1349e239452c5d3dd7c2921e2988e2c63f0",
"edge_hash": "0b5f67bd4c56dc7e3f8683ca829f0962a2c29b4ab5f2ce9af4668ccd9a4ab267"
}
],
"evidence_count": 4,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#13406 use new _raw_all_tuples with subqueryloads"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "bb63b018fdcc5661cdf48fe4c897186e40e6f5518fa236e940b9850af2eab2b7"
},
{
"group_key": "issue-collapse:0991f61963864c8e",
"title": "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",
"collapse_kind": "linked work thread",
"primary_bucket": "waiting on repo owner test approval",
"attention_score": 44,
"confidence": "high",
"source": "work_thread_graph",
"open_issue_numbers": [
13048
],
"active_pr_numbers": [
13399
],
"context_issue_numbers": [],
"context_pr_numbers": [],
"issue_count": 1,
"active_pr_count": 1,
"context_issue_count": 0,
"context_pr_count": 0,
"component_labels": [
"schema"
],
"labels": [
"schema",
"use case"
],
"work_thread_keys": [
"thread:issue:13048:pr:13399"
],
"maintainer_time_saved": "Review issues, active PRs, referenced context, checks, and review guidance together instead of reopening each issue separately.",
"maintainer_next_action": "Approve or inspect gated test run(s) for PR #13399, then review the thread evidence together.",
"representative_evidence": [
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13399,
"target_item_type": "issue",
"target_number": 13048,
"evidence_source": "pr.closingIssuesReferences",
"evidence_excerpt": "pr #13399 declares a closing reference to issue #13048.",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"confidence": "high",
"evidence_hash": "3cc30e8644c0575daf316f555c3cc702e33be56a7baf9238db54f2ff2ecc9bf7",
"edge_hash": "c975cd2bc8a558eb7dd2cd8a421c7fd2262817b328bc79f852cb38bd32663be0"
},
{
"edge_kind": "closes",
"source_item_type": "pr",
"source_number": 13399,
"target_item_type": "issue",
"target_number": 13048,
"evidence_source": "pr.body",
"evidence_excerpt": "attach_to_table, using `Table.append_constraint(index)` allows for execution of `table.indexes.add(self)` in `Index._set_parent()`. Fixes: #13048 ### Checklist <!-- go over following points. check them with an `x` if they do apply, (they turn into clickable checkboxes once the...",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"confidence": "high",
"evidence_hash": "1a42aa2d1aa76cff59c51a944ec4956d6836271d09c18987274c277d11e5a339",
"edge_hash": "0d1ef8e46b0610af57c37d45c926cd4066c055dd94eed45c30124c8ed44d1975"
},
{
"edge_kind": "waiting on owner test approval",
"source_item_type": "pr",
"source_number": 13399,
"target_item_type": "pr",
"target_number": 13399,
"evidence_source": "pr.statusCheckRollup",
"evidence_excerpt": "Pending gated check(s): gerrit_review",
"evidence_url": "https://github.com/sqlalchemy/sqlalchemy/pull/13399",
"confidence": "high",
"evidence_hash": "0a0bdfacb411e6062f600dd859955c351486e2b4bd34697fd4874f18e22d59f0",
"edge_hash": "a8bf7986fe87da64d274f3ac9d4dfd499f1c895e31fe4c9847288d718f840577"
}
],
"evidence_count": 3,
"coverage_note": "Represents 1 open issue; raw issue rows remain available for audit.",
"top_issue_titles": [
"#13048 Add option for disabling automatic addition of constraint/indexes to the table"
],
"generated_utc": "2026-07-07T19:49:19+00:00",
"group_hash": "a9835f0d2deab27b1c939ce9403cc058ae9bf60db70e4768c2d3ed0353961035"
}
],
"dry_run_proof_action_count": 207,
"dry_run_issue_proof_count": 186,
"dry_run_stale_pr_proof_count": 21,
"dry_run_public_actions_allowed": false,
"dry_run_proof_hash": "9d91dbc2f3a3adbe6f66ac8c263ff87cecb0ecacdde4b322bccad0778ef34f90",
"simulated_resolution_package_count": 75,
"simulated_new_pr_package_count": 23,
"simulated_existing_pr_decision_count": 23,
"simulated_issue_sweep_count": 29,
"simulated_diagnosed_package_count": 75,
"simulated_high_confidence_diagnosis_count": 18,
"simulated_covered_issue_count": 186,
"simulated_covered_pr_count": 32,
"simulated_full_coverage": true,
"simulated_package_kind_counts": {
"stale_issue_resolution_sweep": 25,
"new_volunteer_pr": 11,
"new_code_or_decision_package": 10,
"existing_pr_owner_gate": 8,
"existing_pr_contributor_wait": 7,
"existing_pr_blocked_review": 5,
"waiting_info_resolution_sweep": 3,
"existing_pr_decision": 2,
"duplicate_resolution_sweep": 1,
"existing_pr_stale_sweep": 1,
"new_code_pr": 1,
"new_docs_pr": 1
},
"simulated_github_actions_allowed": false,
"simulated_resolution_hash": "a4206ca984177a84dc3136c71b1201b6a95266c48ed4a2f991902a5abd571b04",
"maintainer_move_count": 11,
"maintainer_move_covered_issue_count": 186,
"maintainer_move_covered_pr_count": 32,
"maintainer_move_full_coverage": true,
"maintainer_move_reduction_percent_vs_review_groups": 88.9,
"maintainer_move_lane_counts": {
"batch_issue_sweeps": 4,
"maintainer_owned_unblocks": 2,
"repair_ready_prs": 2,
"volunteer_bundles": 2,
"pr_lineage_cleanup": 1
},
"maintainer_move_hash": "4eec4ca629214254a0eda1caef4f5a10feb4f7eaf6d184b3cf0ddc826c5539e6"
},
"public_actions_allowed": false,
"raw_api_payloads_included": false,
"metrics_hash": "56f2d20521473f8f90c56a9e875e9a4f23820af73add5ed8b7c2b777681c5cdf"
}