repowiserepowise
Sign in
FaserF/ha-keyforsteam
OverviewDocsArchitectureKnowledge GraphFilesCode HealthRefactoring

People & History

CommitsContributorsDecisions
ChatPro
Stats
repowiserepowise
ExplorePricingDocs
Sign inIndex repoIndex your repo free
repowiseFaserF/ha-keyforsteam
HA
HA

FaserF / ha-keyforsteam

pythonmain34a7c3c5.4K linessynced 15h ago

Code health

6.6out of 10Good

This codebase scores 6.6 out of 10 on defect risk, which we rate good. It also scores maintainability 8.0 and static performance risk 9.9 out of 10. The three are scored separately and never blended into one number. The files you change most are the weak spot: 6 of 50 files are git hotspots, and they average 2.8.

Full health report →
Documentation40pages0 with model-written prose, 40 built from the indexScore validation13/202.5× baselineOf the 20 lowest-health files, 13 were bug-fixed in the last 6 months — 2.5× the 26% baselineDead code1exportsUnused exports that nothing in the graph reaches
Lines of code
5.4K
Files
50
Symbols
224
Modules
4
Languages
4

Recent activity

All commits →

Commits

No commits indexed yet.

Decisions

  • Treat 403 with a Cloudflare marker as an immediate backoff triggerproposed · 15h ago
  • Limit Cloudflare challenge/backoff to a single request attemptproposed · 15h ago
  • Ensure backoff is active so cached entities remain availableproposed · 15h ago
  • Treat HTTP 200 Cloudflare challenge as a backoff trigger and stop retryingproposed · 15h ago
  • Set Cloudflare backoff duration using CLOUDFLARE_BACKOFF_HOURSproposed · 15h ago
  • Raise UpdateFailed when Cloudflare backoff is active and no cached data is availableproposed · 15h ago

Needs attention

24 open
  • medium severity. ProposedTreat 403 with a Cloudflare marker as an immediate backoff triggerAuto-proposed decision awaiting review
  • medium severity. ProposedLimit Cloudflare challenge/backoff to a single request attemptAuto-proposed decision awaiting review
  • medium severity. ProposedEnsure backoff is active so cached entities remain availableAuto-proposed decision awaiting review
  • medium severity. ProposedTreat HTTP 200 Cloudflare challenge as a backoff trigger and stop retryingAuto-proposed decision awaiting review
  • medium severity. ProposedSet Cloudflare backoff duration using CLOUDFLARE_BACKOFF_HOURSAuto-proposed decision awaiting review

Where the risk concentrates

All 6 hotspots →

Ranked by prior bug fixes and change frequency, mined from full git history rather than from the code alone.

FileChurnPrior fixesMaintainersCommits 90d
sensor.pycustom_components/keyforsteam96.4th42bus factor 111
config_flow.pycustom_components/keyforsteam92.9th31bus factor 15
version_manager.py.github/scripts89.3th21bus factor 15
update_templates.py.github/scripts85.7th028
generate_changelog.pyscripts82.1th02bus factor 15

Composition

Open the graph →
python 56%yaml 20%json 16%markdown 8%

Explore this codebase

  • Docs40 pages across 4 modules→
  • ChatAsk this codebase a question and get an answer with its sources→
  • Files50 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 0 entry points→
  • Code healthPer-file scores, 129 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→