PRD-002: Admin Modernization
Status: Completed Date: 2026-05-20
Summary
The micboard/admin/dashboard.py monolith (2,431 lines, ~50+ HTMX views) was fully decomposed into
reachable per-domain admin modules. The final three legacy dashboard views and the unregistered
gap-analysis admin were removed on 2026-07-14 after a route audit confirmed neither was reachable.
What Was Done
The monolithic dashboard.py views were extracted into existing per-domain admin modules under micboard/admin/:
| Extracted Concern | Destination Module | Status |
|---|---|---|
| Chassis management | receivers.py |
Done |
| Wireless unit CRUD | channels.py |
Done |
| Discovery queue approval | discovery_admin.py |
Done |
| Charger display | chargers.py |
Done |
| Manufacturer configuration | configuration.py |
Done |
| Monitoring & alerts | monitoring.py |
Done |
| Settings | settings.py |
Done |
| Gap analysis | Removed | Unregistered and unreachable |
| Admin URL config | Per-module get_urls() |
Done |
Remaining Technical Debt
Two admin modules slightly exceed the 400-line guideline:
configuration.py(wasconfiguration_and_logging.py, ~542 → ~240 lines)receivers.py(~432 lines)
Success Metrics
dashboard.py: 2,431 lines → removed after all reachable views moved to domain modules- All per-domain admin modules ≤542 lines (⬇️ trending toward ≤400)
- No
admin_urls.pyneeded — URLs are per-module viaget_urls() uv run ruff check .anduv run pytestpass
References
- ADR-003: Admin Dashboard Modularization (completed)
