repowiserepowise
Sign in
kraina-ai/quackosm
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisekraina-ai/quackosm
QU
QU

kraina-ai / quackosm

pythonmain42a541112.9K linessynced 5d 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 6.5 and static performance 9.2 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 3 of 82 files are git hotspots, and they average 3.6 — which is where the fixes pay off most.

Full health report →
Documentation50pages0 with model-written prose, 50 built from the indexDead code1exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Break up convert_pbf_to_parquet (CCN 26, 155 lines)

    quackosm/pbf_file_reader.py:550

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

    gain
    up to +0.2 health on this file(inferred)
    finding
    Nested complexity
    size
    CCN 26, 155 lines, nests 6 deep
    severity
    high
    Medium effort, worth a check

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 69 proposed decisions

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

    proposed
    69
    accepted
    0
    Medium effort
Lines of code
12.9K
Files
82
Symbols
317
Modules
4
Languages
5

Recent activity

All commits →

Commits

  • 42a54113chore(CI/CD): bump version 0.18.2 -> 0.19.0 (#324)1w ago
  • d19b9632feat: replace osm_extracts module with osmfinder library (#320)2w ago
  • 3f970030chore(CI/CD): bump version 0.18.1 -> 0.18.2 (#323)2w ago
  • e6a94d4fUpdate manual_tests.yml2w ago
  • ab074e70Update _tests.yml2w ago
  • e03383c1feat: add new memory detection logic with cgroup reading (#322)3w ago

Decisions

  • Add pandas-version-aware deprecation logic (after migration to 3.0.0)proposed · 5d ago
  • Remove blob casting to geometry with newer DuckDB versionsproposed · 5d ago
  • Split ways id grouping and node joining into two queriesproposed · 5d ago
  • Add loc clauses to all GeoPandas queriesproposed · 5d ago
  • Make temporary directory path configurableproposed · 5d ago
  • Automatically downscale on OOM and adjust low-memory execution strategyproposed · 5d ago
▸

Everything we found

249 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 health124Change entropy · quackosm/pbf_file_reader.py86 findings · 7.6 deducted→
  • worst item is low severity. Refactoring22convert_pbf_to_parquet+0.1 health, S effort · quackosm/pbf_file_reader.py→
  • worst item is medium severity. Decisions72quackosm/pbf_file_reader.py69 awaiting review · 3 hotspots ungoverned→
  • worst item is medium severity. Ownership31quackosm/pbf_file_reader.py92% single-owner concentration, 3 commits in 90d→

Composition

Open the graph →
python 90%
dockerfile 3%javascript 3%makefile 3%shell 3%

Explore this codebase

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