sadpandajoe opened a new issue, #44609:
URL: https://github.com/apache/superset/issues/44609

   ### Problem
   Nightly full-repo mypy (job "pre-commit (next)") fails at commit 8141d666d6 
with 6 errors mypy's per-PR changed-files mode never surfaces: 
https://github.com/apache/superset/actions/runs/35964300811/job/107519374607
   
   - `superset/mcp_service/dataset_scope.py:127` and 
`tests/unit_tests/mcp_service/dataset/tool/test_dataset_tools.py:2712` call 
`.in_()` on `SqlaTable.uuid` / `SqlaTable.id`, flagged union-attr/attr-defined.
   - `tests/unit_tests/charts/semantic_view_chart_filter_test.py:402-404` 
assigns `BaseDatasource`'s nullable `perm`/`schema_perm`/`catalog_perm` 
properties into `str`-annotated locals with no null-check.
   
   ### Root cause
   `superset-core`'s `Dataset` protocol 
(`superset-core/src/superset_core/common/models.py:186-203`) declares 
`id`/`uuid`/`perm`/`schema_perm`/`catalog_perm` as plain value-type annotations 
that shadow `SqlaTable`'s real `Column(...)` attributes, but only when 
superset-core's sources are part of the same mypy run — i.e. only in the 
full-repo sweep, not the per-PR changed-files lint. The 
`dataset_scope.py`/`test_dataset_tools.py` errors were introduced by #44146 
(merged 2026-09-21); the `semantic_view_chart_filter_test.py` errors were 
introduced by #43848 (merged 2026-09-18).
   
   ### Steps to reproduce
   Run `pre-commit run mypy --all-files` (or `prek run mypy --all-files`) 
against master at commit 8141d666d6 or later, or open the "pre-commit 
(current)" job log on the linked Actions run directly.
   
   (Found via automated investigation — [Agor](https://agor.live/).)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to