repowiserepowise
Sign in
mysociety/alaveteli
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisemysociety/alaveteli
AL
AL

mysociety / alaveteli

rubydevelop3ff5b18125.5K linessynced 3w ago

Code health

8.6out of 10Excellent

This codebase scores 8.6 out of 10 for code health, which we rate excellent. It also scores maintainability 9.5 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: 33 of 1,783 files are git hotspots, and they average 5.9 — which is where the fixes pay off most.

Full health report →
Documentation1,641pages
0 with model-written prose, 1,641 built from the index
Score validation8/2017.0× baselineTop-ranked files that did go on to need a bug fixDead code523exportsUnused exports that nothing in the graph reaches

Do next

Nothing stands out in the week to Sep 21, 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
125.5K
Files
1,783
Symbols
5,492
Modules
10
Languages
4

Recent activity

All commits →

Commits

  • aaceed3eBuild(deps-dev): Bump annotaterb from 4.24.0 to 4.25.03w ago
  • 45ed8441Build(deps): Bump aws-sdk-s3 from 1.231.0 to 1.232.13w ago
  • e8523dbaBuild(deps): Bump holidays from 11.5.0 to 11.6.03w ago
  • fd5e8543Build(deps-dev): Bump simplecov from 1.2.0 to 1.3.03w ago
  • 160fda2fDrop json 3.0.2 upgrade4w ago
  • 573d8a68Build(deps-dev): Bump rubocop from 1.90.0 to 1.91.04w ago

Decisions

  • Allow pro request status updates by removing pro authentication callbackproposed · 3w ago
  • Fix Project request extractable scope by moving project conditional into LEFT JOINproposed · 3w ago
  • Run batch validation only for new batchesproposed · 3w ago
  • Add lock to prevent duplicate attachment records from concurrent parsingproposed · 3w ago
  • Switch email HTML parsing from Loofah HTML4 parser to Gumbo HTML5 parserproposed · 3w ago
  • Remove old_unclassified_updated email notificationsproposed · 3w ago
▸

Everything we found

2,070 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 health705Complex conditional · app/models/info_request.rb14 findings · 7.5 deducted→
  • worst item is medium severity. Refactoring94d3TimeSeries+1.5 health, M effort · app/assets/javascripts/time_series.js→
  • worst item is medium severity. Doc drift4doc/THEMES-UPGRADE.mdDocument names lib/patch_mailer_paths.rb, which no longer exists.→
  • worst item is medium severity. Decisions68spec/models/foi_attachment_spec.rb35 awaiting review · 33 hotspots ungoverned→
  • worst item is medium severity. Ownership978app/models/search.rb100% single-owner concentration, 8 commits in 90d→
  • worst item is low severity. Dead code221app/assets/javascripts/general.jsUnreachable symbol (0 lines)→

Composition

Open the graph →
  • ruby94%
  • javascript4%
  • shell3%
  • dockerfile<1%

Explore this codebase

  • Docs1,641 pages across 10 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files1,783 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 1 entry points→
  • Code healthPer-file scores, 904 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.→