repowiserepowise
Sign in
sugarlabs/sugar
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisesugarlabs/sugar
SU
SU

sugarlabs / sugar

pythonmasterc34bc0d31.0K linessynced 2mo ago

Code health

6.4out of 10Fair

This codebase scores 6.4 out of 10 for code health, which we rate fair. It also scores maintainability 8.1 and static performance 9.8 out of 10. The three are scored separately and never blended into one number.

Full health report →
Documentation374pages
0 with model-written prose, 374 built from the index
Dead code67exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 67 unused symbols and files (3,343 lines)

    Nothing in the graph reaches them, across 39 files; every reader and agent pays to skip them.

    symbols
    67
    lines
    3,343
    safe to delete
    Yes(inferred)
    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
  • Review the 49 proposed decisions

    None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.

    proposed
    49
    accepted
    0
    Medium effort
Lines of code
31.0K
Files
226
Symbols
3,903
Modules
5
Languages
2

Recent activity

All commits →

Commits

  • c34bc0ddFix AttributeError: replace get_pixbuf with render_pixbuf for Rsvg 2.61+7mo ago
  • d691339bintro: avoid race with window manager during first-run intro7mo ago
  • 30d7260fagepicker: reuse Gio.Settings instance and avoid redundant writes7mo ago
  • a165c1damodemconfiguration: fallback to country code if ISO name missing7mo ago
  • 2218d3eeHarden runtime GDK display/screen handling for Wayland (#1060)7mo ago
  • 050ca367Defer clipboard tray screen size lookup until initialization (#1059)7mo ago

Decisions

  • TransitionBox: replace CanvasIcon with Iconproposed · 2mo ago
  • SnowflakeLayout: fix remaining issuesproposed · 2mo ago
  • Network view: connect to pop-up and pop-down events for paletteproposed · 2mo ago
  • NetworkView: use custom SugarPalette instead of GTK.Menuproposed · 2mo ago
  • Owner icon: connect to palette pop-up/pop-down eventsproposed · 2mo ago
  • SpreadLayout: only remove grid items if the grid existsproposed · 2mo ago
▸

Everything we found

805 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 health515Ownership risk · src/jarabe/journal/model.py33 findings · 8.0 deducted→
  • worst item is medium severity. Refactoring64main+1.3 health, M effort · src/jarabe/controlpanel/cmd.py→
  • worst item is medium severity. Decisions49TransitionBox: replace CanvasIcon with Icon49 awaiting review→
  • worst item is medium severity. Ownership76extensions/cpsection/__init__.py100% single-owner concentration, not touched in 90 days→
  • worst item is low severity. Dead code101extensions/cpsection/aboutcomputer/view.pyUnreachable symbol (70 lines)→

Composition

Open the graph →
  • python100%
  • shell<1%

Explore this codebase

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