sugarlabs / sugar
Code health
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.
Do next
1 suggested
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 effortReview 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
Recent activity
All commitsCommits
- 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)8mo ago
- 050ca367Defer clipboard tray screen size lookup until initialization (#1059)8mo 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.