chore(lint): enforce cyclomatic complexity ceiling - #861
Open
benvinegar wants to merge 1 commit into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
Contributor
Greptile SummaryAdds an Oxlint cyclomatic-complexity ceiling as an initial regression guard without changing runtime behavior.
Confidence Score: 5/5The PR appears safe to merge with no actionable correctness, security, or release-process issues identified. The lint configuration is limited to static analysis, and the empty Changeset matches the repository’s documented and tested maintenance-release workflow. Important Files Changed
Reviews (1): Last reviewed commit: "chore(lint): enforce complexity ceiling" | Re-trigger Greptile |
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.
Problem
The codebase has no automated ceiling for cyclomatic complexity, so a function can accumulate new control-flow paths without lint feedback. The recent audit found the session command dispatcher at 91 before #857 split it into focused handlers.
Approach
complexityrule globally;bun run lintCI step to enforce it.This is intentionally an initial regression ceiling rather than the long-term target. On this branch the highest existing score is 78 (
App), followed by 76 (validateFileViewLayout), so 80 adds enforcement without grandfathering or suppressions. The ceiling can be ratcheted downward as existing hotspots are simplified.This PR is stacked on #857 and should merge after it. Targeting its branch keeps this diff to the Oxlint configuration and an empty maintenance Changeset.
Validation
Tested on Linux:
bun run lint— 782 files, 93 rules, zero warnings/errors;bun run typecheck;oxfmt --checkfor the changed files;Maximum allowed is 80;git diff --check.Follow-up
Lower the ceiling as the remaining high-complexity functions are simplified. A global ceiling does not prevent a function below 80 from growing toward it.
This PR description was generated by Pi using OpenAI GPT-5.6 Sol