Auditoría Punto Cero — CreaRack Pro v1.0.51
Auditoría Punto Cero — CreaRack Pro v1.0.51
Fecha: 04-04-2026
Método: 5 agentes Opus en paralelo (tests, backend, frontend, infra, docs)
Objetivo: Establecer línea base limpia tras migración de directorio
Resumen Ejecutivo
| Fase | Estado | Hallazgos Críticos |
|---|
| Tests | ✅ 33/33 pasan | DB local vacía (necesita migrate) |
| Backend | ⚠️ 6 archivos muertos | ~250 LOC eliminables |
| Frontend | ⚠️ 1 archivo muerto + CSS basura | ~470 LOC eliminables |
| Infra | ⚠️ 4 problemas | PG version mismatch, ffmpeg unpinned |
| Docs | ⚠️ Desincronizados | Endpoints, modelos, Valkey version |
Fase 1 — Tests
- 33/33 tests pasan (21s, 4 módulos: auth, blueprints, health, racks)
- 551 deprecation warnings de scrapli y google-genai (cosmético)
- 6 Django deploy checks: esperados en dev (DEBUG=True, no HTTPS)
- 144 migraciones sin aplicar: DB local vacía —
docker compose exec web python manage.py migrate
Fase 2 — Backend Dead Code
CRÍTICO (eliminar)
| Archivo | LOC | Razón |
|---|
monitoring/services/ai_guardrails.py | ~100 | Nunca importado. Guardrail CNS sin consumidores |
monitoring/services/command_validation.py | ~80 | FALSO POSITIVO: re-exportado via insight_service.py → usado por insight_execution.py. Restaurado. |
core/decorators.py | ~50 | admin_required/permission_required nunca usados. Se usa has_permission() directamente |
terminal/tests.py | ~3 | Stub vacío. Tests reales en terminal/tests/ |
tools/db/backup.py, import_backup.py, db_backup.py | ~150 | Supersedidos por core/services/backup_service.py |
tools/md2html.py | ~30 | Script standalone nunca referenciado |
WARNING (revisar)
| Item | Notas |
|---|
monitoring/management/commands/aggregate_metrics.py | Sin cron/Huey wiring. Depende de MetricSample (PostgreSQL, pre-VictoriaMetrics) |
monitoring/management/commands/cleanup_metrics.py | Mismo caso — sin automation |
monitoring/management/commands/propagate_fast_poll_oids.py | One-shot migration, probablemente ya ejecutado |
racks/schemas.py | Solo usado por tests de paridad, no por endpoints |
is_private_ip duplicado | monitoring/api/common.py vs network/services/device_config.py (firmas diferentes) |
Fase 3 — Frontend Dead Code
CRÍTICO (eliminar)
| Archivo | LOC | Razón |
|---|
static/js/blueprints/AutoPlansAdapter.js | 272 | Nunca importado ni referenciado en ningún template/JS |
WARNING
| Problema | Alcance | Detalle |
|---|
Raw fetch() bypassing ApiService | 23 calls en 13 archivos | Peor: PropertiesPanelEvents.js (5), import_export.js (4), dashboard_widgets.js (3) |
| Dead CSS classes | ~58 clases en 4 archivos | observatory.css (39), editor.css (10), signage.css (7), wireless.css (2) |
console.log sin Logger.js | 75 en 21 archivos | Peor: SignageScheduleManager.js (12), ssh_integration.js (11) |
| JS files >1000 LOC | 9 archivos | SignageContentManager.js (1336), SignageDetail.js (1300), observatory.js (1230) |
Fase 4 — Docker / Infraestructura
CRÍTICO
| # | Problema | Detalle | Acción |
|---|
| 1 | PG version mismatch | ✅ Resuelto 04-04-2026: Dev+Prod alineados a postgres:18-alpine | Migración pg_dump/restore completada |
| 2 | ffmpeg unpinned | latest tag = builds no reproducibles | Pinear release específica |
| 3 | .env tiene Gemini API key | No en git (.gitignore OK) pero expuesta en máquina | Verificar/rotar si necesario |
| 4 | compose.yml hardcoded DB creds | dev_password_123 en source control | Usar ${POSTGRES_PASSWORD:-dev_password_123} |
WARNING
| # | Problema | Detalle |
|---|
| 5 | Dev Dockerfile sin USER | Prod tiene appuser, dev corre como root |
| 6 | Dev Dockerfile sin --no-install-recommends | Imagen dev inflada vs prod |
| 7 | Dev sin libvisio-tools, libreoffice-draw, librsvg2-bin | EMF→PNG falla en dev |
| 8 | Dev sin Huey worker | Tareas async (backups, transcode) no ejecutan en dev |
| 9 | Valkey 7.2 en compose, CLAUDE.md dice 8.x | Docs desincronizados |
| 10 | VictoriaMetrics sin networks: explícito | En compose.observability.yml |
| 11 | Dev expone puertos DB/cache al host | 5432 y 6379 publicados |
| 12 | pip install sin --no-cache-dir en dev | +50-100MB imagen |
| 13 | gcc permanece en imagen final | +100MB (solo necesario para compilar) |
INFO
- No hay paquetes prohibidos (Celery, NAPALM, Netmiko, DRF, TimescaleDB) ✅
- Vite config consistente ✅
- Healthcheck
/alive consistente dev/prod ✅
groupdocs-conversion-cloud==24.8.0 — verificar si aún se usa o fue reemplazado por LibreOffice
Fase 5 — Documentación
MISMATCH
| Dato | CLAUDE.md dice | Real | Delta |
|---|
| Endpoints | 462 | ~509 decorators | +47 (algunos pueden ser internos) |
| Modelos | 42 (en DATABASE_ARCHITECTURE.md) | 40 | -2 |
| Valkey | 8.x | 7.2 (compose) | Docs adelantados |
| INDEX.md versión | v1.0.49 | v1.0.51 (base.py) | Desactualizado |
LIMPIEZA REALIZADA
| Item | Estado |
|---|
Contenedor crearack_grafana huérfano | ✅ Eliminado |
Proyecto crearack_pro_app_django (viejo) | ✅ Eliminado (1 container + 2 redes) |
| 10 volúmenes huérfanos (grafana, netdata, worktrees) | ✅ Eliminados |
Worktree great-diffie | ✅ Eliminado |
Branch claude/great-diffie | ⏳ Pendiente eliminación manual |
Plan de Acción Recomendado
Prioridad Alta (hacer ahora)
- Aplicar migraciones dev:
docker compose exec web python manage.py migrate
- Eliminar archivos muertos backend (6 archivos, ~250 LOC)
- Eliminar
AutoPlansAdapter.js (272 LOC)
- Alinear PostgreSQL: decidir 16 o 17 para dev y prod
- Pinear ffmpeg a release tag específica en Dockerfiles
- Sincronizar CLAUDE.md: corregir conteos endpoints/modelos, Valkey version
- Actualizar INDEX.md: versión v1.0.49 → v1.0.51
- Migrar 23 raw fetch() → ApiService (13 archivos)
- Limpiar ~58 dead CSS classes (4 archivos)
- Reemplazar 75 console.log → Logger.js (21 archivos)
- Añadir Huey worker al dev compose
- Paridad dev Dockerfile (USER, —no-install-recommends, libvisio-tools)
- Verificar
groupdocs-conversion-cloud — ¿aún necesario?
Prioridad Baja (backlog)
- Refactorizar 9 JS files >1000 LOC (mayor: SignageContentManager 1336)
- Eliminar gcc de imagen final (multi-stage build)
- VictoriaMetrics networks: explícito en compose.observability.yml
- Branch huérfana:
git branch -d claude/great-diffie
Próximo paso: Con tu aprobación, ejecuto las acciones de Prioridad Alta (items 1-7) en esta sesión.
Véase también
- [[crearack-tech—reports—auditoria-codigo-04-03-2026]] — auditoría de código v1.0.25
- [[crearack-tech—reports—audit-abril-17-2026]] — auditoría exhaustiva abril 2026
- [[crearack-tech—reports—infrastructure-robustness-audit-04-04-2026]] — auditoría de robustez infra
- [[crearack-tech—reports—security-audit-04-04-2026]] — auditoría de seguridad crearack.com
- [[crearack-tech—backend—refactoring-guide]] — guía de refactoring
- [[crearack-tech—architecture—performance-optimization]] — plan de optimización de rendimiento
- [[feature—refactor—audit-abril-2026]] — feature de refactor post-auditoría