repowiserepowise
Sign in
cenkalti/rain
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisecenkalti/rain
RA
RA

cenkalti / rain

gomaster697380f20.5K linessynced 3w ago

Code health

6.9out of 10Fair

This codebase scores 6.9 out of 10 for code health, which we rate fair. It also scores maintainability 7.8 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: 2 of 248 files are git hotspots, and they average 5.2 — which is where the fixes pay off most.

Full health report →
Documentation344pages17 with model-written prose, 327 built from the indexScore validation9/204.0× baselineTop-ranked files that did go on to need a bug fixDead code6exportsUnused exports that nothing in the graph reaches

Do next

Nothing stands out in the week to Aug 23, the last indexed commit.

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
20.5K
Files
248
Symbols
1,536
Modules
4
Languages
1

Recent activity

All commits →

Commits

  • 697380ffbuild(deps): bump github.com/stretchr/testify from 1.11.1 to 1.12.01mo ago
  • 9326b0b0build(deps): bump actions/stale from 10 to 111mo ago
  • 2c259936torrent: use httptest.NewServer in webseed test1mo ago
  • b7e7b820docs: fix broken star history chart1mo ago
  • 8318eb04piecepicker: prefer file edges over allowed-fast2mo ago
  • 26c799b1piecepicker: widen file ends to 1% of file size2mo ago

Decisions

  • test: add integration/e2e tests for connection and RPC layersproposed · 3w ago
  • Modernize sorting with slices.SortFunc and builtin minproposed · 3w ago
  • Do not request padding file sectionsproposed · 3w ago
  • Do not request padding jobs from serverproposed · 3w ago
▸

Everything we found

703 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 health438Nested complexity · internal/announcer/periodic.go20 findings · 8.0 deducted→
  • worst item is medium severity. Refactoring37handleAllocationDone+1.2 health, S effort · torrent/torrent_allocation.go→
  • worst item is medium severity. Decisions6internal/piecepicker/piecepicker.go4 awaiting review · 2 hotspots ungoverned→
  • worst item is medium severity. Ownership222torrent/session_add.go92% single-owner concentration, 4 commits in 90d→

Composition

Open the graph →
go 100%

Explore this codebase

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