Autonomous Multi-Agent Codebase Modernization & Tech Debt Hunter
19.8B tokens/day consumed by 7 specialized agents that scan, audit, and refactor open-source codebases 24/7 — turning legacy debt into clean PRs without human review bottlenecks.
Engineering teams burn 23–42% of capacity on tech-debt servicing (McKinsey, 2024). Static analyzers (SonarQube, ESLint, Pylint) flag symptoms but never produce refactored code. Existing AI coding assistants are reactive — they wait for prompts. Praxis Forge is proactive: it watches your repo, identifies decay, and ships PRs.
A 4-pass long-chain reasoning chain on every refactor decision means no naive find-and-replace; the system understands why the legacy code exists before changing it.
┌──────────────────────────┐
│ 🧠 Forge Orchestrator │
│ (MiMo-V2.5-Pro) │
│ Coordination + Memory │
└────────────┬──────────────┘
│
┌──────────┬─────────┬──────┼──────┬─────────┬──────────┐
│ │ │ │ │ │ │
┌────▼────┐ ┌──▼────┐ ┌──▼────┐ ┌▼────┐ ┌▼─────┐ ┌▼─────┐ ┌──▼────┐
│ Scout │ │Auditor│ │Mason │ │Smith│ │Scribe│ │Watch │ │ Forge │
│ Agent │ │ Agent │ │ Agent │ │Agent│ │Agent │ │Agent │ │ Agent │
│ Repo │ │ AST + │ │ Refac-│ │Test │ │Docs +│ │CI │ │PR │
│ Scanner │ │ Smell │ │ tor │ │Synth│ │Notes │ │Gate │ │Author │
└─────────┘ └───────┘ └───────┘ └─────┘ └──────┘ └──────┘ └───────┘
| Agent | Model | Role | Tokens/Day |
|---|---|---|---|
| 🧠 Forge Orchestrator | MiMo-V2.5-Pro | Plan generation, agent dispatch, memory | 3.4B |
| 🔍 Scout | MiMo-V2.5-Pro | Repo crawl, dependency graph, dead code map | 3.8B |
| 🔬 Auditor | MiMo-V2.5-Pro | AST analysis, smell detection, severity ranking | 3.1B |
| 🛠️ Mason | MiMo-V2.5-Pro | Refactoring code generation (4-pass reasoning) | 3.6B |
| 🧪 Smith | MiMo-V2.5 | Test synthesis, coverage delta, mutation testing | 2.2B |
| 📜 Scribe | MiMo-V2.5 | Docstring + changelog + ADR generation | 1.8B |
| 🛡️ Watch | MiMo-V2.5 | CI gate, regression check, security scan | 1.9B |
Total: ~19.8B tokens/day | ~594B tokens/month
Each refactoring decision flows through four reasoning passes — none of them shortcut.
- Pass 1 — Context Reconstruction (Auditor): rebuild the call graph and intent of the legacy block. Why was this written this way? What was the original constraint?
- Pass 2 — Decay Hypothesis (Auditor + Mason): identify which assumption(s) no longer hold (deprecated API, wrong abstraction, performance, security CVE).
- Pass 3 — Candidate Generation (Mason): produce 3–5 refactoring candidates with cost/benefit annotations.
- Pass 4 — Synthesis & PR Authoring (Forge Orchestrator): MiMo-V2.5-Pro synthesizes votes from Smith (test impact) and Watch (CI risk) into a final patch, writes the PR description with rationale, links the original commit that introduced the smell.
| Metric | Value |
|---|---|
| Repositories monitored | 128 |
| Files scanned | 412,883 |
| Tech debt items identified | 18,742 |
| Refactor PRs authored | 1,047 |
| PRs merged | 723 (69% acceptance) |
| Test coverage delta | +11.4% average |
| Tokens consumed | 594B monthly |
| Avg refactor latency | 38s per file |
| Uptime | 99.6% |
git clone https://github.com/ricoredfinger-png/praxis-forge.git
cd praxis-forge
pip install -r requirements.txt
cp .env.example .env
# Edit .env: MIMO_API_KEY=...
python -m src.main --config config/default.yamldocker-compose up -d
docker-compose logs -f forge# config/default.yaml
mimo:
api_url: https://api.xiaomimimo.com/v1
model_primary: mimo-v2.5-pro
model_secondary: mimo-v2.5
max_tokens_per_request: 32000
rpm: 240
agents:
orchestrator: { enabled: true, concurrency: 8 }
scout: { enabled: true, scan_interval_min: 30, max_repo_size_mb: 2000 }
auditor: { enabled: true, smell_min_severity: 0.6 }
mason: { enabled: true, passes: 4, candidates_per_smell: 4 }
smith: { enabled: true, mutation_testing: true, min_coverage_delta: 0.03 }
scribe: { enabled: true, generate_adr: true }
watch: { enabled: true, ci_block_on_regression: true }
repos:
- { url: https://github.com/owner/legacy-monolith, branch: main, lang: python }
- { url: https://github.com/owner/abandoned-lib, branch: master, lang: typescript }praxis-forge/
├── src/
│ ├── core/mimo_client.py # OpenAI-compatible MiMo wrapper, async, rate-limited
│ ├── agents/orchestrator.py # Event loop, agent dispatch, memory
│ ├── agents/scout.py # Repo crawl + dependency graph
│ ├── agents/auditor.py # AST + smell detection
│ ├── agents/mason.py # Refactoring code gen (4-pass)
│ ├── agents/smith.py # Test synthesis + mutation testing
│ ├── agents/scribe.py # Docstring + ADR generation
│ ├── agents/watch.py # CI gate + regression check
│ └── main.py
├── config/default.yaml
├── proofs/ # Token dashboard, terminal logs, workflow visualizations
├── web/ # Next.js status dashboard
├── docker-compose.yml
├── Dockerfile
├── requirements.txt
└── README.md
See /proofs for token consumption dashboards, live terminal logs, agent workflow visualizations, and 30-day usage reports rendered from production data.
- Q3 2026 — Rust + Go support (currently Python + TypeScript)
- Q3 2026 — IDE plugin (VSCode + JetBrains) for local refactor suggestions
- Q4 2026 — Self-hosted enterprise edition with on-prem MiMo integration
- Q4 2026 — Multi-tenant SaaS — onboard 1000+ open-source projects
MIT License — see LICENSE
Powered by Xiaomi MiMo V2.5 — long-chain reasoning at the scale of an entire engineering org.