repowiserepowise
Sign in
saleor/saleor
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisesaleor/saleor
SA
SA

saleor / saleor

pythonmain7ebc4f6667.2K linessynced 3mo ago

Code health

8.0out of 10Good

This codebase scores 8.0 out of 10 for code health, which we rate good. It also scores maintainability 7.9 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: 21 of 4,044 files are git hotspots, and they average 4.2 — which is where the fixes pay off most.

Full health report →
Documentation587pages587 with model-written prose, 0 built from the indexScore validation7/2010.9× baselineTop-ranked files that did go on to need a bug fixDead code1,643exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 1,612 unused symbols and files (9,038 lines)

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

    symbols
    1612
    lines
    9,038
    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 618 proposed decisions

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

    proposed
    618
    accepted
    0
    Medium effort
Lines of code
667.2K
Files
4,044
Symbols
28,830
Modules
5
Languages
4

Recent activity

All commits →

Commits

  • 7ebc4f69feat(shop): add Announcements API (#19353)3mo ago
  • f261c2efAdd product type created/updated/deleted webhooks (#19351)3mo ago
  • 43caa1b4Bump micawber from 0.5.6 to 0.6.2 (#19309)3mo ago
  • a6f464c2build(deps-dev): bump pywatchman from 2.0.0 to 3.0.0 (#19342)3mo ago
  • bbdb961ebuild(deps): bump aws-actions/configure-aws-credentials (#19352)3mo ago
  • 901a5299Refund Reasons phase 2 (#19272)3mo ago

Decisions

  • @deprecated - do not use it, because it makes implicit permissions check Use explicit permissions…proposed
  • API-first extensibility via apps/webhooks instead of pluginsproposed
  • Adapt domain enums to GraphQL via to_enumproposed
  • Add Webhook payload via GraphQL subscriptionsproposed
  • Add add-index-concurrently ruleproposed
  • Add event to key set where event is random identifier and event's score is event's registration…proposed
▸

Everything we found

7,418 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 health2,087Untested hotspot · saleor/checkout/complete_checkout.py43 findings · 10.0 deducted→
  • worst item is medium severity. Refactoring267_validate_selectable_field+1.5 health, S effort · saleor/graphql/attribute/utils/type_handlers.py→
  • worst item is medium severity. Decisions639saleor/graphql/product/tests/mutations/test_product_bulk_create.py618 awaiting review · 21 hotspots ungoverned→
  • worst item is medium severity. Ownership2,794saleor/graphql/warehouse/mutations/warehouse_delete.py100% single-owner concentration, 3 commits in 90d→
  • worst item is low severity. Dead code1,631saleor/core/management/commands/delete_event_payloads.pyUnreachable symbol (20 lines)→

Composition

Open the graph →
python 100%
dockerfile 0%makefile 0%shell 0%

Explore this codebase

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