FaserF / ha-omniroute
Code health
This codebase scores 8.0 out of 10 for code health, which we rate good. It also scores maintainability 8.0 and static performance 9.9 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 11 of 70 files are git hotspots, and they average 6.7 — which is where the fixes pay off most.
Do next
1 suggested
1 thing worth doing in the week to Oct 18, the last indexed commit, 1 of them now.
Now
- Critical
Clean up what this week's commits left: 13 serious findings in 10 files
6 commits in the last 7 days added or worsened them, and they are still open. Start with
.github/scripts/calculate_release_details.py, which has 2 critical.- serious findings
- 13
- critical
- 5
- files
- 10
Medium effort
Improve what Repowise can see
Add a test coverage report
Without one, Repowise cannot tell tested code from untested code, so every test-related action says “unknown”.
- line coverage
- Unknown, no report
Small effort
- Lines of code
- 5.9K
Recent activity
All commitsCommits
- 215e2152feat: make sync interval user-configurable with 3m default1d ago
- 8d871cd4fix: increase chat timeout to 300s, soft options reload to avoid entity unavailability1d ago
- e57342d4fix(config_flow): resolve OptionsFlow config_entry property setter error in modern HA1d ago
- b1785ddcfeat: dynamically sync active cascades from OmniRoute without hardcoded defaults1d ago
- 8800166estyle: auto-fix and format with Ruff [skip ci]3d ago
- f8f42a33fix: resolve invalid timestamp in Task Engine, show actual OmniRoute version, and bump to 1.0.03d ago
Decisions
No decisions extracted yet.
Everything we found
137 open
Every detector's open count by area, each with its worst example. An inventory, not a to-do list: the actions above are the part worth doing.
- worst item is critical severity. Code health93Change entropy · custom_components/omniroute/client.py18 findings · 7.4 deducted
- worst item is low severity. Refactoring10_async_update_data+1.0 health, S effort · custom_components/omniroute/coordinator.py
- worst item is medium severity. Decisions11custom_components/omniroute/client.py11 hotspots ungoverned
- worst item is medium severity. Ownership22.github/scripts/calculate_release_details.py100% single-owner concentration, 4 commits in 90d
- worst item is low severity. Dead code1get_integration_versionUnreachable function (6 lines)
Composition
Open the graph- python98%
- makefile2%
Explore this codebase
- Docs69 pages across 4 modules
- ChatAsk this codebase a question and get an answer with its sources.
- Files70 files with per-file docs, health and history
- ArchitectureDependency graph, layers, and 0 entry points
- Code healthPer-file scores, 97 open findings, coverage and refactoring targets
- Knowledge graphEntities, communities, and the paths between them
- Change couplingFiles that keep changing together, mined from commit history
- CommitsChange-risk ranked history with agent provenance
- ContributorsBus factor, per-file maintainers, and the human/agent split
- StatsSize class, origin, lifetime churn, rhythm and records
- CostsWhat indexing this snapshot cost, by model and by run.