# Reglas Técnicas y de Operación — Help Desk ## 1. Regla de Seguridad Crítica en Infraestructura (MCP) - **Alcance:** Todas las operaciones con el servidor MCP de Infraestructura (`192.168.10.160:3006`). - **Restricción:** El servidor MCP tiene bloqueada toda operación de eliminación de registros. La eliminación de cualquier servicio, hardware o registro SOLO puede realizarse desde la interfaz web bajo supervisión humana explícita. - **Motivo:** Evitar borrados accidentales de elementos compartidos del ecosistema por parte de agentes autónomos. ## 2. Aislamiento Multi-Tenant Estricto - **Alcance:** Modelos y consultas SQL a la base de datos (`models/*.js`). - **Restricción:** Toda consulta, creación o actualización de tickets, departamentos o usuarios que pertenezcan a un tenant DEBE incluir la cláusula `WHERE company_id = ?` correspondiente a la sesión activa (`req.session.user.company_id`). - **Motivo:** Garantizar la confidencialidad y aislamiento de datos entre empresas. ## 3. Manejo de Secretos y Repositorios - **Alcance:** Archivo `.env` y configuración local. - **Restricción:** Nunca comitear credenciales, passwords de base de datos ni `SESSION_SECRET` a Git. El archivo `.env` debe permanecer en `.gitignore`. Para repositorios se mantiene `.env.example` sin valores sensibles. - **Motivo:** Seguridad de la red interna y cumplimiento de buenas prácticas. ## 4. Rutina de Actualización Documental - **Alcance:** Mantenimiento y evolución del proyecto. - **Restricción:** Al solicitar "actualizar proyecto", se debe revisar y sincronizar `agents.md`, `.agente/proyecto_estructura.md`, `.agente/proyecto_memoria.md`, `.agente/proyecto_errores.md`, `.agente/objetivos.md`, `.agente/tareas.md`, `README.md` y la ficha en el MCP de Infraestructura. - **Motivo:** Preservar la fuente de verdad técnica y la coherencia en todo el ecosistema. ## 5. Integridad del Módulo FSM (Field Service Management) - **Alcance:** Creación, despacho y sincronización de visitas técnicas en terreno. - **Restricción:** Toda visita técnica presencial debe generarse a través de `tareasHubService.js` hacia `tareas.telcotronics.com` con `origen: 'HELP_DESK'` y `origen_externo_id = ticket.id`. El registro local en `ticket_visitas` debe conservar el `external_id` y su `historial_json` en caché. No modificar estados a `completada` sin validación del Hub o de la firma/evidencia en campo. - **Motivo:** Garantizar la trazabilidad legal y técnica entre la mesa de ayuda y las operaciones de campo. ## 6. Identidad de Agente y Comunicaciones - **Alcance:** Archivo `id_agente.md` y conexión a `sigma-robot` / MCP de Chat. - **Restricción:** Mantener la identidad en `pendiente` hasta confirmación formal en `sigma-robot`. Nunca inventar identificadores, nombres ni tokens locales. Nunca incluir secretos o credenciales en `id_agente.md`. - **Motivo:** Cumplimiento del estándar centralizado de agentes del ecosistema Telcotronics. ## 7. Despliegue y Orquestación con SIAX Monitor - **Alcance:** Despliegues de la aplicación a producción (`desplegar.sh`, `servers.conf`). - **Restricción:** El despliegue debe utilizar `servers.conf` (copiado desde `servers.conf.example`, nunca commiteado). No utilizar `sudo` interactivo ni contraseñas fijas en el servidor; el ciclo de vida, reinicio y auditoría de salud debe coordinarse a través de la API REST de **SIAX Monitor** en `http://$HOST:8080` (`POST /api/apps/HELPDESK/restart` y `GET /api/apps/HELPDESK/status`). - **Motivo:** Cumplimiento de la política oficial de despliegue del ecosistema Telcotronics (Prompt 8 y Feedback #25). ## 8. Estrategia Multicanal de Autenticación - **Alcance:** Autenticación de usuarios, modelos de acceso y vistas de login (`/login`, `/auth/google`, `/auth/facebook`, `User.js`, `views/auth/login.ejs`). - **Restricción:** 1. **Clientes de la Plataforma:** Autentican contra la API central `API-SIGMA-WEBCONTROL` (`http://192.168.10.160:3002/api/auth/login` con fallback a `https://api.siax-system.net/api/auth/login`), aprovisionándose automáticamente con rol `client`. 2. **Nuevos Clientes:** Autenticación social federada vía Google OAuth (GIS tokeninfo) y Facebook OAuth (Graph API), aprovisionándose como clientes. 3. **Personal Técnico y Staff:** Acceso local sobre MariaDB `help_desk.users` reservado exclusivamente para roles operativos (`superadmin`, `admin`, `agent`). Queda prohibido el ingreso de clientes por la consola técnica. 4. **Seguridad de Credenciales:** La tabla `users` soporta contraseñas opcionales (`NULL`) para cuentas federadas, rastreando `provider`, `provider_id` y `avatar_url`. - **Motivo:** Integración sin fisuras con el ecosistema de cuentas SIGMA WebControl y simplificación de onboarding para clientes externos.