Coding tools and agentic-dev utilities for labz-style control-plane work.
This repo is not the product (labz); it is the tooling bench.
First deliverable: a trial suite of structural code-quality tools (clones,
complexity, dead code, import boundaries) — the class of issues prose-scan
hinted at on Python, without SonarQube weight.
- Run the suite against
/home/prox-admin/repo/labz(or anyTARGET). - Read reports under
reports/and decide what is signal. - Once proven, port chosen tools into labz
make audit(see labzdocs/_uplift/01-MAKE-QUALITY-GATES.md) — not before.
| Tool | Signal | Runner |
|---|---|---|
| jscpd | Copy-paste / token clones | npx jscpd |
| radon | Complexity, maintainability, raw LOC | Python |
| xenon | Fail on radon thresholds (trial: soft) | Python |
| lizard | Long functions / CCN | Python |
| vulture | Likely dead code | Python |
| import-linter | Layer contracts (draft contracts for labz) | Python |
| pydeps | Dependency graph (optional DOT/SVG) | Python |
Not in v1 (optional later): CodeScene (SaaS), wily (history), Semgrep doctrine pack (lives better next to product once baseline is clean).
cd /home/prox-admin/repo/labz-coder
uv venv --python 3.13
source .venv/bin/activate
uv pip install -e ".[dev]"
# jscpd via npx (no global install required); or: npm ciexport LABZ_ROOT=/home/prox-admin/repo/labz # default if unset
make trial # full suite → reports/<stamp>/
make trial-quick # clones + complexity only
make summary # print last report SUMMARY.mdOr:
./scripts/run_trial.sh /home/prox-admin/repo/labzconfigs/ # tool configs (jscpd, import-linter, xenon)
scripts/ # run_trial.sh, render_summary.py
src/labz_coder/ # future agentic helpers (empty package for now)
reports/ # gitignored outputs (except .gitkeep)
See docs/TRIAL-2026-07-22.md and
reports/latest/SUMMARY.md after make trial.
Short take: jscpd + radon/xenon + lizard + import-linter are keepers; vulture needs whitelist work (job handlers look “dead”); pydeps optional; no Sonar required.
Criteria before folding a tool into labz:
- Report is actionable (clones map to real files; not pure noise).
- Runtime acceptable on estate host (minutes, not hours).
- Thresholds agreed so green is meaningful (or tool stays report-only).
- One private Makefile recipe + docs in labz
docs/_uplift/.
Until then, this repo is the only place these tools run by default.
Internal tooling for decoded-labs / labz. Not a product surface.