Skip to content

Commit b1166e0

Browse files
feat: multi-language complexity analysis (#147)
* fix: strict type validation for threshold values in complexity queries Replace loose `!= null` checks with `typeof === 'number' && Number.isFinite()` to prevent `Number("")`, `Number(null)`, and `Number(true)` from silently coercing into valid SQL values. Add integration test verifying exceeds arrays and summary.aboveWarn are correctly computed. Addresses Greptile review feedback on #136. Impact: 2 functions changed, 3 affected * docs: add complexity, communities, and manifesto to all docs Update README, CLAUDE.md, BACKLOG, titan-paradigm, recommended-practices, and CLI/MCP examples to reflect today's merged PRs: complexity metrics (#130/#139), Louvain community detection (#133/#134), and manifesto rule engine (#138). Updates MCP tool count from 21 to 24 (25 in multi-repo), marks backlog items 6/11/21/22 as done, and adds real CLI output examples. * fix: remove redundant condition in paginate guard clauses When limit === undefined, limit !== 0 is always true — the && check was dead code. Simplified to just check limit === undefined. Impact: 2 functions changed, 18 affected * docs: update dogfood report with fix statuses All 4 bugs now fixed (PR #117 merged, #116 closed via reverse-dep cascade). 3 of 4 suggestions addressed. MCP tool counts updated 18→23 / 19→24. Rating upgraded 7/10 → 9/10 post-fix. * fix: rename misleading test to match actual behavior Test was named "handles non-numeric thresholds gracefully" but only validated baseline exceeds/aboveWarn with valid thresholds. Actual non-numeric threshold tests exist separately. Renamed to "produces correct exceeds and aboveWarn with valid thresholds". * fix: update stale MCP tool count in dogfood skill (21→24) * feat: add complexity analysis for Python, Go, Rust, Java, C#, Ruby, PHP Parameterize the complexity algorithm to support all 10 languages instead of just JS/TS/TSX. Add per-language COMPLEXITY_RULES, HALSTEAD_RULES, and COMMENT_PREFIXES with three else-if detection patterns (else-wraps-if, explicit elif, alternative field). Guard against tree-sitter keyword leaf tokens that share node type names with their parent constructs. Impact: 4 functions changed, 4 affected --------- Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
1 parent b8c8ca7 commit b1166e0

2 files changed

Lines changed: 1464 additions & 70 deletions

File tree

0 commit comments

Comments
 (0)