repowiserepowise
Sign in
volcengine/openviking
OverviewDocsArchitectureKnowledge GraphFilesCode HealthSecurityRefactoring

People & History

CommitsContributorsDecisions
Chat
Stats
repowiserepowise
ExplorePricingDocs
Sign in
repowisevolcengine/openviking
OP
OP

volcengine / openviking

pythonmain66622aa528.6K linessynced 3mo ago

Code health

5.8out of 10Fair

This codebase scores 5.8 out of 10 for code health, which we rate fair. Risk is concentrated, as it usually is: 388 of 2,522 files are git hotspots, and they average 3.7 — which is where the fixes pay off most.

Full health report →
Score validation20/203.1× baselineTop-ranked files that did go on to need a bug fixDead code289exportsUnused exports that nothing in the graph reaches

Do next

1 thing worth doing this quarter.

Worth planning

  • Delete 235 unused symbols and files (5,336 lines)

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

    symbols
    235
    lines
    5,336
    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
Lines of code
528.6K
Files
2,522
Symbols
31,763
Modules
15
Languages
9

Recent activity

All commits →

Commits

  • 66622aa2test(openclaw): cover default memory auto recall search (#2600)3mo ago
  • 8353976bfeat(plugins): use actor peer scope (#2595)3mo ago
  • 49e4d769feat(core): add actor peer filesystem view (#2594)3mo ago
  • 775e3f11feat(search): add context type filter support (#2583)3mo ago
  • 47c88843docs(openclaw): refresh OpenViking operator guidance (#2591)3mo ago
  • 564c7624feat(openclaw): configure recall target types (#2590)3mo ago

Decisions

  • Avoid MSVC sleep_for clock-change issue by using thread-local thread idproposed
  • Use thread-local storage for faster thread id retrievalproposed
  • Prevent agent space hash collisions by adding separator in md5 input (breaking change)proposed
  • Add --sender parameter to chat commands and align default sender to "user"proposed
  • Self-evolving agent memory via experience injection and semantic searchproposed
  • Route explicit providers through VLM adapter and relax CLI config serialization/validationproposed
▸

Everything we found

10,163 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 health7,808Untested hotspot · openviking/session/session.py95 findings · 10.0 deducted→
  • worst item is medium severity. Decisions461crates/ov_cli/src/main.rs73 awaiting review · 388 hotspots ungoverned→
  • worst item is medium severity. Ownership1,646openviking/session/memory/extract_loop.py87% single-owner concentration, 20 commits in 90d→
  • worst item is low severity. Dead code248ChatMessageUnreachable class (7 lines)→

Composition

Open the graph →
python 64%cpp 19%
typescript 9%rust 4%shell 2%Other 2%

Explore this codebase

  • Docs0 pages across 15 modules→
  • ChatAsk this codebase a question and get an answer with its sources.→
  • Files2,522 files with per-file docs, health and history→
  • ArchitectureDependency graph, layers, and 183 entry points→
  • Code healthPer-file scores, 9,175 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.→