repowiserepowise
Sign in
killbill/killbill
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisekillbill/killbill
KI
KI

killbill / killbill

javamaster0a46fd0203.6K linessynced 2mo ago

Code health

7.6out of 10Good

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

Full health report →
Documentation1,804pages362 with model-written prose, 1,442 built from the indexScore validation6/2019.4× baselineTop-ranked files that did go on to need a bug fixDead code46exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 46 unused symbols and files (1,814 lines)

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

    symbols
    46
    lines
    1,814
    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 165 proposed decisions

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

    proposed
    165
    accepted
    0
    Medium effort
Lines of code
203.6K
Files
2,762
Symbols
16,517
Modules
16
Languages
2

Recent activity

All commits →

Commits

  • b937c8f2change sonatype URL to https://repo.maven.apache.org/maven22mo ago
  • ab0f5f4aupdate killbill-oss-parent to 0.147.112mo ago
  • 4bb84a03add new SecurityResource endpoint: GET /security/roles with test2mo ago
  • 9dff2de9add test for new method DefaultSecurityApi#getAvailableRoles(tenantContext)2mo ago
  • 7fea5a9eimplements DefaultSecurityApi#getAvailableRoles(tenantContext)2mo ago
  • 82ab05ffchange RolesPermissionsSqlDao#getAllPermissions() to return roles and permission2mo ago

Decisions

  • Adapter from internal to public TenantContextproposed
  • Add billing stream event for upcoming catalog CHANGE and remove catalog logic from junction/invoiceproposed
  • Add migrated option for when creating subscriptionsproposed
  • Add per-tenant catalog upload/retrieval and tenant-aware catalog APIsproposed
  • Add per-tenant configuration support (cache, APIs, service, binding fixes)proposed
  • Add renameCancelledBundleIfExist flag and revert to default behaviorproposed
▸

Everything we found

4,057 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,587Untested hotspot · invoice/src/main/java/org/killbill/billing/invoice/InvoiceDispatcher.java44 findings · 10.2 deducted→
  • worst item is medium severity. Refactoring311<anonymous>+1.5 health, XL effort · profiles/killpay/src/main/webapp/lib/marked.js→
  • worst item is medium severity. Decisions192profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestEntitlement.java165 awaiting review · 27 hotspots ungoverned→
  • worst item is medium severity. Ownership916profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoicePayment.java84% single-owner concentration, 4 commits in 90d→
  • worst item is low severity. Dead code51overdue/src/main/java/org/killbill/billing/overdue/exceptions/OverdueError.javaUnreachable symbol (50 lines)→

Composition

Open the graph →
java 99%
javascript 1%

Explore this codebase

  • Docs1,804 pages across 16 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files2,762 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 76 entry points→
  • Code healthPer-file scores, 3,169 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.→