repowiserepowise
Sign in
rmyndharis/openwa
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisermyndharis/openwa
OP
OP

rmyndharis / openwa

typescriptmain2f9c590150.0K linessynced 2mo ago

Code health

6.2out of 10Fair

This codebase scores 6.2 out of 10 for code health, which we rate fair. It also scores maintainability 8.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: 203 of 1,052 files are git hotspots, and they average 5.0 — which is where the fixes pay off most.

Full health report →
Documentation1,322pages0 with model-written prose, 1,322 built from the indexScore validation20/202.1× baselineTop-ranked files that did go on to need a bug fixDead code21exportsUnused exports that nothing in the graph reaches

Do next

5 things worth doing this quarter.

Worth planning

  • Flatten the nesting in handleSend

    dashboard/src/pages/MessageTester.tsx:332

    handleSend nests its control flow deeply, and part of it is duplicated, so splitting it also removes a copy; 2 files import it, changed 10 times in 90 days.

    gain
    up to +1.6 health on this file(inferred)
    finding
    Nested complexity
    size
    CCN 39, 129 lines, nests 5 deep
    severity
    high
    Medium effort, worth a check
  • Break up validateEnv (CCN 45, 154 lines)

    src/config/env.validation.ts:50

    validateEnv is long, branchy and widely depended on, and part of it is duplicated, so splitting it also removes a copy; 8 files import it, changed 22 times in 90 days.

    gain
    up to +1.0 health on this file(inferred)
    finding
    Brain method
    size
    CCN 45, 154 lines, nests 3 deep
    severity
    critical
    Medium effort, worth a check
  • Update the decision “Preload environment variables before importing application modules”: the code it governs has moved on

    Agents and reviewers still follow it, so they are steered by a rule the code no longer keeps.

    status
    Accepted, drifting
    Small effort, worth a check
  • Delete 21 unused symbols and files (241 lines)

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

    symbols
    21
    lines
    241
    safe to delete
    Yes(inferred)
    Small effort
  • Break up bootstrap (CCN 37, 224 lines)

    src/main.ts:45

    bootstrap is long, branchy and widely depended on, and part of it is duplicated, so splitting it also removes a copy; 17 files import it, changed 36 times in 90 days.

    gain
    up to +1.0 health on this file(inferred)
    finding
    Brain method
    size
    CCN 37, 224 lines
    severity
    critical
    Medium effort, worth a check
Lines of code
150.0K
Files
1,052
Symbols
5,941
Modules
6
Languages
8

Recent activity

All commits →

Commits

  • 2f9c5904chore(release): v0.11.12mo ago
  • 5561881adocs(changelog): record the security-contact correction under Unreleased2mo ago
  • cb45cc5ffix(api): drop the unreachable 200 on the catalog endpoints, and correct residual documentation details (#978)2mo ago
  • a408066ddocs: align the documentation set with the shipped implementation (#977)2mo ago
  • 070a5963docs(security): route vulnerability reports to the real channel and stop implying a status page2mo ago
  • 85111808docs(env): document the ingress reconciler and webhook shutdown-drain knobs (#976)2mo ago

Decisions

  • Reduce group_update notification into neutral changes deltaproposed · 2mo ago
  • Parse group settings notification body as boolean with conservative undefined behaviorproposed · 2mo ago
  • Collapse PLAYED ack to READ for DeliveryStatus mappingproposed · 2mo ago
  • fix Logs CSV export pagination loop to respect server totalproposed · 2mo ago
  • end-to-end DATABASE_SSL_REJECT_UNAUTHORIZED support for managed Postgresproposed · 2mo ago
  • remove non-functional Infrastructure form sections and reject unsafe env injectionproposed · 2mo ago
▸

Everything we found

2,629 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 health1,288Untested hotspot · src/core/plugins/plugin.interfaces.ts9 findings · 9.0 deducted→
  • worst item is medium severity. Refactoring179fromResponse+1.5 health, S effort · sdk/java/src/main/java/com/rmyndharis/openwa/errors/OpenWAApiError.java→
  • worst item is high severity. Decisions309Preload environment variables before importing application modules1 drifting from the code · 106 awaiting review · 202 hotspots ungoverned→
  • worst item is medium severity. Ownership832src/modules/session/session.service.ts83% single-owner concentration, 87 commits in 90d→
  • worst item is low severity. Dead code21MESSAGE_TYPESUnreachable constant (15 lines)→

Composition

Open the graph →
typescript 72%java 16%
go 4%php 4%python 2%Other 2%

Explore this codebase

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