Repository navigation
Modernization Phase 1.5: lint remainder — clangd-tidy from PyPI, suppressions triaged to zero - #26
Merged
Merged
Conversation
…ions triaged to zero - clangd-tidy: git submodule (tag 0.2.1) -> pipx install clangd-tidy==1.1.1. Upstream 1.x is a Python package with dependencies; a bare checkout is no longer runnable. Unused clang-tidy symlink alias removed. - .clang-tidy: all 11 post-18 check suppressions parked in Phase 1.2 are removed; the 85 findings they hid (incl. 7 more exposed by dropping the nested test configs' designated-initializers suppression) are fixed in code: contains() (28), designated initializers (29), ranges algorithms (9), void-return returns (6), getenv on string_view.data() -> const char* constants (4), redundant self-casts (3), dead debugString locals (3), uint8_t enum bases (2), optional round-trip (1), std::min (1), starts_with (2). - Verified: full build, lint green all 8 packages, 307/307 tests. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
Phase 1.5 closes the lint workstream. Two deliverables:
1. clangd-tidy: git submodule → pinned PyPI install
The submodule pinned tag 0.2.1 (the single-script era). Upstream 1.x is a proper Python package with dependencies (
attrs/cattrs/typing-extensions), so a bare checkout is no longer runnable at all — "bump the submodule" was not an option.install-prerequisities.shnow doespipx install --force clangd-tidy==1.1.1on both platforms (pipx: preinstalled on GitHub runners,brew/aptotherwise;~/.local/binadded to PATH).lint.shcall sites invokeclangd-tidyfrom PATH; the unusedclang-tidysymlink alias is gone.--line-filterclang-tidy parity, diagnostic-formatter fixes,clangd-tidy-diff.2.
.clang-tidysuppression triage: zero suppressions keptAll 11 post-18 check suppressions parked in Phase 1.2 are removed — every finding fixed in code rather than suppressed. 85 findings total (77 from the sweep, 7 more exposed by also dropping the nested test configs' copy, 1 introduced by the ranges conversion itself and fixed):
find() != end()→contains(); two substring cases became C++23std::string::containsstd::ranges::algorithms (+1 explicitptrdiff_tcast:ranges::sampletakes a signed count)return voidFn();in void lambdas → plain callstring_views passed togetenv(.data())— nowconst char*(the honest type for a null-terminated-string API)static_cast<const DhtCallContext&>of aconst DhtCallContext&deleteddebugStringdebug leftovers deletedConnectionManagerState,Offerer→: std::uint8_tstd::minfind() == 0→starts_withSeveral of these touch runtime code paths (ConnectionManager, WebsocketServer, logger internals), hence the full-suite gate below.
Verification
./lint.shgreen across all 8 packages — all checks enabled, clangd-tidy 1.1.1 from pipxRemaining in Part 1
Only Phase 1.6 (CI/docs closeout — small). Then Part 2: the modules migration.
🤖 Generated with Claude Code