fix(ci): unbreak main — black 26.x reformat + canonical namespace markers#1225
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
main HEAD was red on two checks (run 27783397409):
black --checkwould reformattools/physics_score.pytest_namespace_integrity_has_no_violationsfailed (a real test failure, not a coverage drop)Root cause
Recently-merged dependabot bumps raised CI to black 26.x / ruff 0.15 / mypy 2.1 / pytest 9.
tools/physics_score.py(merged via #1220 under old black) is reformatted by new black — tool-version drift. The new canonical packagessrc/geosync/research/{,transformer/}(added by #1204) lacked the required__CANONICAL__ = Truemarker enforced by the architecture guard.Fix
tools/physics_score.py(long-tuple wrap; semantically identical)__CANONICAL__ = Trueto the two new__init__.pyVerified locally with exact CI toolchain
black --check (research-integrity paths) 258 unchanged; ruff clean; mypy --strict clean; namespace test 0 violations; commit-acceptor needs no new acceptor (edits to already-accepted files).
Known latent debt (deliberately separate)
The black bump leaves 6 more reformat-pending files, 2 in protected paths (execution/, core/). They fail no current gate and warrant a dedicated formatting PR with protected-path review — not a hotfix.
claim_status: measured
🤖 Generated with Claude Code