repowiserepowise
Sign in
schluegge/hermit
OverviewDocsArchitectureKnowledge GraphFilesCode HealthRefactoring

People & History

CommitsContributorsDecisions
ChatPro
Stats
repowiserepowise
ExplorePricingDocs
Sign inIndex repoIndex your repo free
repowiseschluegge/hermit
HE
HE

schluegge / hermit

pythonmain4eb50b52.1M linessynced 1d ago

Code health

6.1out of 10Fair

This codebase scores 6.1 out of 10 on defect risk, which we rate fair. It also scores maintainability 7.4 and static performance risk 9.5 out of 10. The three are scored separately and never blended into one number. The files you change most are the weak spot: 1,411 of 8,654 files are git hotspots, and they average 3.8.

Full health report →
Documentation9,523pages0 with model-written prose, 9,523 built from the indexScore validation20/201.82× baselineOf the 20 lowest-health files, 20 were bug-fixed in the last 6 months — 1.82× the 55% baselineDead code383exportsUnused exports that nothing in the graph reaches
Lines of code
2.1M
Files
8,654
Symbols
98,848
Modules
39
Languages
14

Recent activity

All commits →

Commits

No commits indexed yet.

Decisions

  • Fan-out passthrough prompt events to all live gateway sessionsactive · 1d ago
  • Coerce empty/whitespace-only assistant text blocks to prevent Anthropic 400proposed · 1d ago
  • Add explicit UTF-8 encoding to all subprocess text=True callsproposed · 1d ago
  • Coerce blank system text blocks during extraction to prevent request 400proposed · 1d ago
  • Exclude DeepSeek from OpenCode caching path to avoid HTTP 400proposed · 1d ago
  • Use exponential backoff for rate-limit fallback cooldownproposed · 1d ago

Needs attention

73 open
  • high severity. Stale decisionFan-out passthrough prompt events to all live gateway sessionsActive decision drifting from the code it governs
  • medium severity. ProposedCoerce empty/whitespace-only assistant text blocks to prevent Anthropic 400Auto-proposed decision awaiting review
  • medium severity. ProposedAdd explicit UTF-8 encoding to all subprocess text=True callsAuto-proposed decision awaiting review
  • medium severity. ProposedCoerce blank system text blocks during extraction to prevent request 400Auto-proposed decision awaiting review
  • medium severity. ProposedExclude DeepSeek from OpenCode caching path to avoid HTTP 400Auto-proposed decision awaiting review

Where the risk concentrates

All 1,411 hotspots →

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

FileChurnPrior fixesMaintainersCommits 90d
run.pygateway100.0th1034bug magnet201545
hermes_state.py100.0th265bug magnet81245
web_server.pyhermes_cli100.0th303bug magnet96288
server.pytui_gateway99.9th425bug magnet102352
test_tui_gateway_server.pytests99.9th232bug magnet72196

Composition

Open the graph →
python 50%typescript 26%markdown 18%yaml 2%javascript 2%Other 2%

Explore this codebase

  • Docs9,523 pages across 39 modules→
  • ChatAsk this codebase a question and get an answer with its sources→
  • Files8,654 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 386 entry points→
  • Code healthPer-file scores, 44,714 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→