vxcontrol / pentagi
Code health
This codebase scores 7.5 out of 10 for code health, which we rate good. It also scores maintainability 7.3 and static performance 9.8 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 113 of 1,475 files are git hotspots, and they average 6.0 — which is where the fixes pay off most.
Do next
3 suggested
5 things worth doing in the week to Oct 9, the last indexed commit, 2 of them now.
Worth planning
Break up determineCommonCharset (CCN 59, 95 lines)
backend/pkg/providers/provider/agents.go:578
determineCommonCharset has many paths; easier to read and change once split, which also removes a duplicate; its file is imported by 73 files, changed 2 times in 90 days.
- gain
- up to +0.3 health on this file(inferred)
- finding
- Complex method
- size
- CCN 59, 95 lines, nests 4 deep
- severity
- critical
Medium effort, worth a checkBreak up FlowProvider (CCN 77, 469 lines)
frontend/src/providers/flow-provider.tsx:522
FlowProvider is long and branchy; easier to read and change once split, which also removes a duplicate; its file is imported by 16 files, changed 7 times in 90 days.
- gain
- up to +1.0 health on this file(inferred)
- finding
- Brain method
- size
- CCN 77, 469 lines, nests 3 deep
- severity
- critical
Medium effort, worth a checkBreak up SettingsPrompts (CCN 138, 761 lines)
frontend/src/pages/settings/settings-prompts.tsx:168
SettingsPrompts nests deeply; easier to read and change once split, which also removes a duplicate; its file is imported by 2 files, changed 10 times in 90 days.
- gain
- up to +1.6 health on this file(inferred)
- finding
- Nested complexity
- size
- CCN 138, 761 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
- Lines of code
- 261.4K
Recent activity
All commitsCommits
- 843dfeb4docs: the README says what PentAGI is, who it is for, how it differs and how to install it1w ago
- e7f30008docs(PAGI-561): the README names VXControl as the developer of PentAGI1w ago
- b611fbebfix: installer stack detection, tests that can fail, proxy and port docs2w ago
- 55a063ecfeat(provider): add Bedrock provider configuration and update related documentation2w ago
- fc6f2e34docs: update README with new Trendshift badges and configuration details2w ago
- 3cfe5cbarefactor: improve document handling and validation in knowledge management2w ago
Decisions
- Fix UseAgents conditional and correct assistant prompt vector-store and memory integration referencesproposed · 1w ago
- Align agent prompt tool access and completion guidance with runtime tool registrationsproposed · 1w ago
- Introduce unified engagement-log vs technical-channel language policy across agent promptsproposed · 1w ago
- Restore sidebar icon sizing by ensuring deeper sidebar icons get size-4 equivalentsproposed · 1w ago
- Enable transparent LiteLLM proxy model integration via prefix filteringproposed · 1w ago
- Standardize error logging across controllers and providersproposed · 1w ago
Everything we found
3,883 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,489Prior defects · backend/pkg/controller/flow.go31 findings · 8.0 deducted
- worst item is low severity. Refactoring168main+0.7 health, M effort · backend/cmd/pentagi/main.go
- worst item is medium severity. Doc drift4backend/docs/config.mdLink points at #connection-pooling, which database.md no longer declares.
- worst item is medium severity. Decisions134backend/pkg/graph/generated.go21 awaiting review · 113 hotspots ungoverned
- worst item is medium severity. Ownership995frontend/src/pages/settings/settings-prompt.tsx97% single-owner concentration, 17 commits in 90d
- worst item is low severity. Dead code93WithChainEndTimeUnreachable function (5 lines)
Composition
Open the graph- go54%
- typescript44%
- shell1%
- javascript<1%
- dockerfile<1%
Explore this codebase
- Docs1,678 pages across 6 modules
- ChatAsk this codebase a question and get an answer with its sources.
- Files1,475 files with per-file docs, health and history
- ArchitectureDependency graph, layers, and 9 entry points
- Code healthPer-file scores, 2,654 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.