chore(types): retire two modules from the mypy debt list - #332
chore(types): retire two modules from the mypy debt list#332BILLKISHORE wants to merge 2 commits into
Conversation
|
Thank you. The patch is small, clean, and still applies to current main. It has no source-policy boundary issue. The PR branch is now behind main and has no exact-head checks. Workspace policy does not let maintainers rewrite an external contributor branch. Please rebase this branch onto current main. We can merge it after the exact-head checks pass. |
eee896a to
4a3b950
Compare
The module has no type errors; it was listed but never removed.
Image.open returns ImageFile but crop returns Image, so the rebind in phash_png did not type-check. Retires vision.hashing from the debt list.
4a3b950 to
e92b8f4
Compare
|
Rebased onto current main (e92b8f4). Locally: mypy clean on 240 files, ruff check and format clean, 4878 passed and 45 skipped. The workflows haven't run on this branch yet, so there are still no exact-head checks to pass. I think they need a maintainer to approve the run for a first-time contributor. |
abrichr
left a comment
There was a problem hiding this comment.
Reviewed exact head e92b8f4 against current main d7f58d9. I found no code issue. The two-file patch applies cleanly to current main. An isolated current-main candidate passed the complete configured mypy gate (240 source files), 19 focused pixel-identity/hash tests, Ruff, formatting, and git diff --check.
GitHub did create four workflow runs for this head on August 13. Each stopped before jobs ran with action_required. The repository setting is first_time_contributors, so a maintainer must approve the fork workflow runs.
This head is now three main commits behind. We should not spend the full CI matrix on the stale head, and workspace policy does not let maintainers push or rewrite a contributor-owned fork branch. Please rebase once more onto the latest main and push the new head. A maintainer can then approve the new exact-head workflow runs. I will not merge without complete exact-head CI.
What changed
validation.pixel_identity_alignedfrom the mypy debt list. It has no type errors.phash_pngasImage.Image, which letsvision.hashingcome off the list too.Why
Image.open()is typed as returningImageFilewhile.crop()returnsImage, so rebindingimginside the region branch was the only error invision.hashing.pixel_identity_alignedneeded nothing at all, it looks like it got fixed at some point without the entry being removed.I updated the comment block above the list as well, since it names both modules by hand.
Checks
I measured the rest of the list while I was in there: 67 errors left across 18 modules, and about half of those modules have only one or two each. Happy to keep working through them if this shape looks right to you.