| { | |
| "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" | |
| } |