Communication Frontend — Validation Report
Date: 2026-07-26
Scope: Torbat Communication frontend module
Automated checks
| Check |
Result |
Notes |
TypeScript (npm run typecheck) |
Pass |
Zero errors |
Production build (npm run build) |
Blocked |
Webpack cache ENOENT on environment; clean rebuild recommended |
| Lint |
Not run |
— |
Architecture validation
| Rule |
Status |
Business code in frontend/modules/communication/ |
Pass |
| App Router thin (page/layout/loading/error only) |
Pass — 46 routes |
BFF at /api/communication/* → :8005 |
Pass |
| Shared DS reuse |
Pass |
| No mock SMS data in active pages |
Pass |
SMS integration validation
| Screen |
API connected |
| Providers CRUD |
/api/v1/providers |
| Senders |
/api/v1/providers/senders |
| Templates |
/api/v1/templates |
| Recipients / address books |
/api/v1/contacts/manual |
| Contact sources |
/api/v1/contacts/sources |
| Send / campaigns |
/api/v1/messages/send |
| Message history / delivery reports |
/api/v1/messages, timeline |
| Queue / DLQ |
queue process + dead-letters |
| OTP |
/api/v1/otp/* |
| Monitoring / analytics / reports |
/api/v1/monitoring/* |
| Health / capabilities |
/health, /capabilities |
UX states
| State |
SMS pages |
| Loading |
loading.tsx + PageLoader |
| Empty |
EmptyState in tables |
| Error |
error.tsx + PageError |
| Permission |
PermissionDeniedState |
| Success |
toast on mutations |
Follow-up
- Run
Remove-Item -Recurse .next; npm run build locally
- Add
validate:communication-routes script (optional)
- Wire home dashboard link to
/communication