xifan2333 / fcitx5-vinput
Code health
This codebase scores 5.5 out of 10 for code health, which we rate fair. It also scores maintainability 8.2 and static performance 10.0 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 5 of 217 files are git hotspots, and they average 2.4 — which is where the fixes pay off most.
Do next
1 suggested
1 thing worth doing this quarter.
Worth planning
Delete 89 unused symbols and files (815 lines)
Nothing in the graph reaches them, across 30 files; every reader and agent pays to skip them.
- symbols
- 89
- lines
- 815
- 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 effortReview the 10 proposed decisions
None is accepted yet, so nothing can drift from one and agents get no enforced guidance from them.
- proposed
- 10
- accepted
- 0
Medium effort
- Lines of code
- 28.9K
Recent activity
All commitsCommits
- 5582ac72fix(gui): polish registry i18n preload and refresh UX3mo ago
- 3c71af43fix(gui): harden registry i18n reload completion3mo ago
- 321aed77ci: only rebuild nix-cache on flake/Nix path changes3mo ago
- 183f1b03fix(gui): reload registry i18n from disk after resource refresh3mo ago
- 36cbe2e4chore(deps): refresh sherpa-onnx flake lock3mo ago
- 3211731bchore(deps): bump nixpkgs3mo ago
Decisions
- Unify command scene and switch to per-scene provider bindingproposed · 3mo ago
- Support provider-specific extra_body passthroughproposed · 3mo ago
- Input context injection for LLM auto-correction + GUI notificationsproposed · 3mo ago
- Fix GUI slow startup and QProcess destroyed warning via SafeProcess and async refreshproposed · 3mo ago
- Use XML tags for prompt data isolation in legacy prompt pathsproposed · 3mo ago
- Add vinput CLI with init, model/scene/llm/config/daemon managementproposed · 3mo ago
Everything we found
789 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 health445Untested hotspot · src/common/asr/model_manager.cpp23 findings · 9.5 deducted
- worst item is low severity. Refactoring67main+0.8 health, S effort · scripts/check-i18n.py
- worst item is medium severity. Decisions15src/gui/pages/control/control_page.cpp10 awaiting review · 5 hotspots ungoverned
- worst item is medium severity. Ownership173src/daemon/postprocess/post_processor.cpp100% single-owner concentration, 5 commits in 90d
- worst item is low severity. Dead code89VinputNotifierDBusObjectUnreachable class (0 lines)
Composition
Open the graph- cpp94%
- shell4%
- typescript1%
- javascript<1%
- python<1%
Explore this codebase
- Docs0 pages across 4 modules
- ChatAsk this codebase a question and get an answer with its sources.
- Files217 files with per-file docs, health and history
- ArchitectureDependency graph, layers, and 27 entry points
- Code healthPer-file scores, 445 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.