xerj-org / xerj
Code health
This codebase scores 5.5 out of 10 for code health, which we rate fair. It also scores maintainability 5.4 and static performance 9.3 out of 10. The three are scored separately and never blended into one number. Risk is concentrated, as it usually is: 173 of 2,399 files are git hotspots, and they average 3.6 — which is where the fixes pay off most.
Do next
4 suggested
6 things worth doing in the week to Oct 16, the last indexed commit, 3 of them now.
Now
- Critical
Clean up what this week's commits left: 32 serious findings in 15 files
17 commits in the last 7 days added or worsened them, and they are still open. Start with
engine/crates/xerj-common/src/xccode/mod.rs, which has 1 critical.- serious findings
- 32
- critical
- 5
- files
- 15
Large effort
Worth planning
Break up search_impl (CCN 804, 4,863 lines)
engine/crates/xerj-api/src/es_compat.rs:12811
search_impl nests deeply; easier to read and change once split; its file is imported by 9 files, changed 198 times in 90 days.
- gain
- up to under +0.1 health on this file(inferred)
- finding
- Nested complexity
- size
- CCN 804, 4,863 lines, nests 10 deep
- severity
- critical
Medium effort, worth a checkBreak up run_index_report_inner (CCN 331, 2,692 lines)
engine/crates/xerj-autoindex/src/lib.rs:7983
run_index_report_inner nests deeply; easier to read and change once split, which also removes a duplicate; its file is imported by 5 files, changed 139 times in 90 days.
- gain
- up to +0.2 health on this file(inferred)
- finding
- Nested complexity
- size
- CCN 331, 2,692 lines, nests 6 deep
- severity
- high
Medium effort, worth a checkBreak up process_bulk_with_opts (CCN 220, 1,546 lines)
engine/crates/xerj-engine/src/bulk.rs:1430
process_bulk_with_opts nests deeply; easier to read and change once split, which also removes a duplicate; its file is imported by 3 files, changed 15 times in 90 days.
- gain
- up to +0.8 health on this file(inferred)
- finding
- Nested complexity
- size
- CCN 220, 1,546 lines, nests 8 deep
- severity
- critical
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
- 436.8K
Recent activity
All commitsCommits
- 928e0042ci(release): build the cross-target matrix nightly, not on every push to main (#1565)2d ago
- 7041db04ci: skip the heavy Rust jobs on docs-only pull requests (fail open) (#1477)2d ago
- 2e495f0cfix(search): keep doc-values text flush-invariant (#1517)2d ago
- 2c8abc39Agent field report: Qabot reference-coding retrieval on rc.95 (#1519)2d ago
- 4c1917b9Agent field report: reference coding + autoindex+query on Windows (#1518)2d ago
- b6026094Agent field report: reference-coding probe on unfamiliar Rust code (#1511)2d ago
Decisions
- Implement ES 8.x union scoring for knn beside query with aggsproposed · 2d ago
- search: add local judge stage for _search with per-hit _p_relevantproposed · 2d ago
- security(audit): derive actor class on the serverproposed · 2d ago
- fix(ai): make semantic chunk boundaries contiguousproposed · 2d ago
- Render collapse inner_hits for scroll continuation pages via shared render helperproposed · 2d ago
- Validate wal-tap knobs at boot via shared limits checkerproposed · 2d ago
Everything we found
6,798 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 health5,113Change entropy · engine/crates/xerj-storage/src/index_store.rs156 findings · 8.0 deducted
- worst item is medium severity. Refactoring594main+1.2 health, M effort · benchmarks/grep-vs-retrieval-lucene/analyze.py
- worst item is medium severity. Doc drift19docs/research/llms-txt-2026-09/per-project/supabase.mdLink points at #security-risks, which docs/research/llms-txt-2026-09/per-project/supabase.md no longer declares.
- worst item is medium severity. Decisions210engine/crates/xerj-engine/src/index.rs37 awaiting review · 173 hotspots ungoverned
- worst item is medium severity. Ownership861engine/crates/xerj-engine/src/index.rs83% single-owner concentration, 282 commits in 90d
- worst item is low severity. Dead code1isDataDrivenUnreachable function (3 lines)
Composition
Open the graph- rust57%
- python19%
- javascript16%
- shell7%
- java<1%
- Other<1%
Explore this codebase
- Docs1,713 pages across 13 modules
- ChatAsk this codebase a question and get an answer with its sources.
- Files2,399 files with per-file docs, health and history
- ArchitectureDependency graph, layers, and 35 entry points
- Code healthPer-file scores, 5,244 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.