repowiserepowise
Sign in
datazip-inc/olake
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisedatazip-inc/olake
OL
OL

datazip-inc / olake

gomasterde2b96e54.8K linessynced 1d 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 6.9 and static performance 9.7 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 36 of 374 files are git hotspots, and they average 3.7 — which is where the fixes pay off most.

Full health report →
Documentation460pages27 with model-written prose, 433 built from the indexScore validation12/203.0× baselineTop-ranked files that did go on to need a bug fixDead code35exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing in the week to Sep 29, the last indexed commit, 1 of them now.

Now

  • Critical

    Clean up what this week's commits left: 7 serious findings in 6 files

    1 commit in the last 7 days added or worsened them, and they are still open. Start with destination/iceberg/olake-iceberg-java-writer/src/main/java/io/olake/iceberg/rpc/OlakeRowsIngester.java, which has 1 critical.

    serious findings
    7
    critical
    1
    files
    6
    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
Lines of code
54.8K
Files
374
Symbols
3,058
Modules
10
Languages
5

Recent activity

All commits →

Commits

  • 65c1c012fix(iceberg): pin parquet-jackson to 1.18.1 to clear shaded jackson-databind CVEs (#1271)1d ago
  • 74da9bdafix: keep microsecond precision for timestamp in legacy writer (#1233)2d ago
  • c463adacfix(ci): read AI review settings from secrets, rename environment to ai-code-review (#1260)3d ago
  • 2614712cfeat(iceberg): add v3 deletion vector support (#1162)5d ago
  • afcb3a66fix: pull MinIO images from olakego mirror (quay.io removed them too) (#1255)5d ago
  • 74194994chore(iceberg): rename Java writer package from io.debezium to io.olake (#1248)1w ago

Decisions

  • Avoid infinite recursion in JSON marshaling via aliasingproposed · 1d ago
  • Use custom JSON marshaling to encode sync.Mapproposed · 1d ago
  • Do not guarantee column name ordering when iterating schemaproposed · 1d ago
  • Rename project to Gear5proposed · 1d ago
  • Add state locking for StreamState map readsproposed · 1d ago
  • Use encoding/json instead of go jsonproposed · 1d ago
▸

Everything we found

1,298 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 health952Untested hotspot · drivers/kafka/internal/cdc.go25 findings · 9.7 deducted→
  • worst item is medium severity. Refactoring139Validate+1.5 health, S effort · drivers/kafka/internal/config.go→
  • worst item is medium severity. Doc drift4CONTRIBUTING.mdDocument shows `make test.discover.`, but no such target is declared.→
  • worst item is medium severity. Decisions45destination/iceberg/proto/records_ingest.pb.go9 awaiting review · 36 hotspots ungoverned→
  • worst item is medium severity. Ownership156tests/s3/s3_util_test.go88% single-owner concentration, 6 commits in 90d→
  • worst item is low severity. Dead code2LogRequestUnreachable function (7 lines)→

Composition

Open the graph →
go 85%
java 12%shell 2%dockerfile 1%makefile 0%

Explore this codebase

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