codigo0/docs/AUDITORIA_TECNICA_LIMPIEZA_MARKDOWN.md

553 lines
16 KiB
Markdown
Raw Normal View History

2026-01-19 08:10:16 +00:00
# 🔍 AUDITORÍA TÉCNICA - LIMPIEZA DE ARCHIVOS MARKDOWN
## Proyecto Sanitario Crítico PWA TES
**Fecha:** 2025-01-05
**Auditor:** Sistema de Auditoría Técnica Senior
**Objetivo:** Análisis previo a limpieza controlada - SIN MODIFICACIONES
**Estado:** ✅ ANÁLISIS COMPLETO - LISTO PARA DECISIONES
---
## ⚠️ METODOLOGÍA
Este informe es **SOLO DE ANÁLISIS**. No se ha modificado, movido, renombrado ni borrado ningún archivo.
---
## 1⃣ VERIFICACIÓN DESDE EL CÓDIGO
### 1.1 Componentes que Cargan Archivos Markdown
#### Componente Principal: `MarkdownViewer`
**Ubicación:** `src/components/content/MarkdownViewer.tsx`
**Mecanismo de carga:**
- Usa `fetch()` para cargar archivos dinámicamente
- Las rutas se normalizan para empezar con `/`
- Carga desde `public/` (Vite solo sirve desde `public/`)
**Código relevante:**
```typescript
// Línea 54-61
const normalizedPath = filePath.startsWith('/') ? filePath : `/${filePath}`;
fetch(normalizedPath)
.then((res) => {
if (!res.ok) {
throw new Error(`Error ${res.status}: ${res.statusText}`);
}
return res.text();
})
```
**Rutas que carga:**
-`/manual/BLOQUE_X/archivo.md``public/manual/BLOQUE_X/archivo.md`
-`/docs/consolidado/SECCION_XX_*.md``public/docs/consolidado/SECCION_XX_*.md`
---
#### Componente Específico: `GuideMarkdownViewer`
**Ubicación:** `src/components/guide/GuideMarkdownViewer.tsx`
**Propósito:** Wrapper específico para Guías de Refuerzo
**Rutas que carga:**
-`/docs/consolidado/SECCION_XX_*.md` (solo guías formativas)
**Uso:**
- Usado por `GuideViewer` (`src/views/formativo/GuideViewer.tsx`)
- Carga secciones de guías de refuerzo
---
#### Componente: `ManualViewer`
**Ubicación:** `src/pages/ManualViewer.tsx`
**Propósito:** Visualizador del manual operativo completo
**Rutas que carga:**
-`/manual/BLOQUE_X/archivo.md` (desde `manual-index.ts`)
**Mecanismo:**
- Lee rutas desde `src/data/manual-index.ts`
- Usa `MarkdownViewer` para renderizar
---
### 1.2 Índices de Datos que Referencian Archivos Markdown
#### `src/data/manual-index.ts`
**Tipo:** Índice del Manual Operativo
**Rutas referenciadas:**
- Formato: `/manual/BLOQUE_X/archivo.md`
- Total: 92+ capítulos
- Todos apuntan a `public/manual/`
**Ejemplo:**
```typescript
rutaArchivo: "/manual/BLOQUE_0_FUNDAMENTOS/BLOQUE_00_0_FUNDAMENTOS_EMERGENCIAS.md"
```
---
#### `src/data/guides-index.ts`
**Tipo:** Índice de Guías de Refuerzo (Formativas)
**Rutas referenciadas:**
- Formato: `/docs/consolidado/SECCION_XX_*.md`
- Total: 16 rutas únicas (2 guías × 8 secciones)
- Todas apuntan a `public/docs/consolidado/`
**Ejemplo:**
```typescript
ruta: "/docs/consolidado/SECCION_01_ABCDE_OPERATIVO.md"
```
---
### 1.3 Resumen de Rutas Usadas por la App
| Ruta en Código | Resuelve a | Tipo | Componente |
|----------------|------------|------|------------|
| `/manual/BLOQUE_X/*.md` | `public/manual/BLOQUE_X/*.md` | Manual Operativo | `ManualViewer` |
| `/docs/consolidado/SECCION_XX_*.md` | `public/docs/consolidado/SECCION_XX_*.md` | Guías Formativas | `GuideViewer` |
**⚠️ CRÍTICO:** La app SOLO carga desde `public/`. Vite no sirve archivos fuera de `public/` en desarrollo ni producción.
---
## 2⃣ ANÁLISIS DE DUPLICADOS
### 2.1 Duplicados Confirmados
#### Carpeta: `public/docs/consolidado/`
**Estado:** ✅ **DUPLICADOS EXACTOS** de `docs/consolidado/`
**Archivos duplicados:**
- 80 archivos `SECCION_*.md`
- Todos son idénticos (verificado con `diff`)
**Verificación realizada:**
```bash
# Muestra de verificación
✅ SECCION_08_DESA_ADULTO.md: idéntico
✅ SECCION_03_RCP_PEDIATRICA.md: idéntico
✅ SECCION_01_ABCDE_OPERATIVO.md: idéntico
# ... (todos los 80 archivos son idénticos)
```
---
### 2.2 Naturaleza de `public/docs/consolidado/`
**Análisis:**
**a) ¿Usado directamente por la app?**
-**SÍ** - La app carga desde `/docs/consolidado/` que resuelve a `public/docs/consolidado/`
-**NECESARIO** - Vite solo sirve desde `public/`
**b) ¿Copia manual?**
-**SÍ** - Actualmente se copia manualmente o con script
- ✅ Script existente: `scripts/copiar-guias-markdown.sh`
**c) ¿Carpeta legacy?**
-**NO** - Es necesaria para el funcionamiento actual
**d) ¿Candidata a ser generada en build?**
-**SÍ** - Idealmente debería generarse automáticamente en build
- ⚠️ **REQUIERE:** Configurar Vite o script pre-build para copiar desde `docs/consolidado/`
---
### 2.3 Fuente Única de Verdad
**Fuente única confirmada:**
- `docs/consolidado/SECCION_*.md` (80 archivos)
- `docs/consolidado/*.md` (23 archivos técnicos, NO duplicados)
**Copia generada:**
- `public/docs/consolidado/SECCION_*.md` (80 archivos, generados por script)
**Estado actual:**
- ✅ Fuente única definida: `docs/consolidado/`
- ✅ Script de copia funcional: `scripts/copiar-guias-markdown.sh`
- ⚠️ Script NO integrado en build (requiere ejecución manual)
---
## 3⃣ ARCHIVOS VACÍOS
### 3.1 Archivos con Tamaño 0 Bytes
**Archivo detectado:**
```
docs/consolidado/ESQUEMA_GUIA_REFUERZO.md
Tamaño: 0 bytes
Fecha: 2025-12-23
```
**Verificación en código:**
-**NO referenciado** en `src/`
-**NO usado** por la aplicación
- ⚠️ **Estado:** Archivo vacío, posible borrador o placeholder
**Recomendación:**
- Si es borrador: Completar o eliminar
- Si es placeholder: Completar o eliminar
- Si es histórico: Mover a `docs/_archivo/`
---
## 4⃣ ARCHIVOS HISTÓRICOS
### 4.1 Criterios de Identificación
Archivos que cumplen criterios de "histórico":
1. Resúmenes de fases cerradas
2. Soluciones técnicas ya implementadas
3. Decisiones ya ejecutadas
4. Documentación de problemas resueltos
---
### 4.2 Archivos Históricos Identificados
#### Grupo A: Resúmenes de Fases Completadas (4 archivos)
| Archivo | Tamaño | Tipo | Estado Probable |
|---------|--------|------|-----------------|
| `docs/RESUMEN_FASE_1_2_3.md` | 5.3 KB | Resumen fase | ⚠️ Histórico |
| `docs/RESUMEN_PASO_2_COMPLETADO.md` | 4.3 KB | Resumen paso | ⚠️ Histórico |
| `docs/SCORM_FASE_1_COMPLETADA.md` | 2.3 KB | Estado SCORM | ⚠️ Histórico |
| `docs/consolidado/RESUMEN_DEPLOY_8607.md` | 3.6 KB | Resumen deploy | ⚠️ Histórico |
**Análisis:**
- ✅ No referenciados en código
- ✅ Documentan fases ya completadas
- ⚠️ Pueden ser útiles para referencia histórica
**Recomendación:** Mover a `docs/_archivo/` si no se consultan regularmente
---
#### Grupo B: Soluciones Técnicas Implementadas (5 archivos)
| Archivo | Tamaño | Tipo | Estado Probable |
|---------|--------|------|-----------------|
| `docs/LIMPIAR_CACHE_DEFINITIVO.md` | 5.3 KB | Solución cache | ⚠️ Histórico |
| `docs/LIMPIAR_CACHE_NAVEGADOR.md` | 4.3 KB | Solución cache | ⚠️ Histórico |
| `docs/LIMPIAR_CACHE_URGENTE.md` | 3.8 KB | Solución cache | ⚠️ Histórico |
| `docs/LIMPIEZA_SW_DESARROLLO.md` | 2.1 KB | Solución SW | ⚠️ Histórico |
| `docs/SOLUCION_SW_DESARROLLO.md` | 2.7 KB | Solución SW | ⚠️ Histórico |
| `docs/SOLUCION_DEFINITIVA_USELAYOUTEFFECT.md` | 5.9 KB | Solución React | ⚠️ Histórico |
| `docs/SOLUCION_DOCKER_VENDOR_OTHER.md` | 3.9 KB | Solución Docker | ⚠️ Histórico |
**Análisis:**
- ✅ No referenciados en código
- ✅ Documentan problemas ya resueltos
- ⚠️ Pueden ser útiles si los problemas resurgen
**Recomendación:** Mover a `docs/_archivo/` si los problemas están definitivamente resueltos
---
#### Grupo C: Decisiones y Recomendaciones Implementadas (3 archivos)
| Archivo | Tamaño | Tipo | Estado Probable |
|---------|--------|------|-----------------|
| `docs/DECISION_SIGUIENTE_PASO_CHECKLIST.md` | 6.1 KB | Decisión | ⚠️ Histórico |
| `docs/RECOMENDACION_SIGUIENTE_PASO_POST_CHECKLISTS.md` | 5.9 KB | Recomendación | ⚠️ Histórico |
| `docs/MEJORAS_FUTURAS_CHECKLIST_RCP.md` | 2.4 KB | Mejoras futuras | ⚠️ Histórico |
**Análisis:**
- ✅ No referenciados en código
- ✅ Documentan decisiones ya tomadas/implementadas
- ⚠️ Pueden ser útiles para contexto histórico
**Recomendación:** Mover a `docs/_archivo/` si las decisiones ya están implementadas
---
### 4.3 Resumen de Archivos Históricos
**Total identificados:** 12 archivos
**Distribución:**
- Resúmenes de fases: 4 archivos
- Soluciones técnicas: 7 archivos
- Decisiones implementadas: 3 archivos
**⚠️ IMPORTANTE:** Estos archivos NO deben borrarse. Solo moverse a `docs/_archivo/` si se confirma que son históricos.
---
## 5⃣ SEGURIDAD - CARPETAS CRÍTICAS
### 5.1 Carpetas que NO DEBEN TOCARSE
#### 🔴 CRÍTICO - Manual Operativo
**Carpeta:** `public/manual/`
**Contenido:**
- 92 archivos Markdown del manual operativo completo
- Protocolos críticos para uso en emergencias
- Contenido clínico validado
**Riesgo si se toca:**
-**ROMPE LA APP** - La app carga desde aquí
-**PÉRDIDA DE CONTENIDO CLÍNICO** - Protocolos operativos críticos
-**AFECTA PRODUCCIÓN** - Usado en escena real
**Estado:** ✅ **NO TOCAR BAJO NINGÚN CONCEPTO**
---
#### 🔴 CRÍTICO - Guías Formativas (Copia)
**Carpeta:** `public/docs/consolidado/`
**Contenido:**
- 80 archivos `SECCION_*.md` (guías formativas)
- 1 archivo `README.md`
**Riesgo si se toca:**
-**ROMPE LA APP** - La app carga desde aquí
-**PÉRDIDA DE CONTENIDO FORMATIVO** - Guías educativas activas
- ⚠️ **PERO:** Los archivos `SECCION_*.md` pueden regenerarse desde `docs/consolidado/`
**Estado:** ⚠️ **NO TOCAR** (excepto regeneración automática desde fuente)
---
#### 🟡 IMPORTANTE - Fuente de Guías Formativas
**Carpeta:** `docs/consolidado/`
**Contenido:**
- 80 archivos `SECCION_*.md` (fuente única)
- 23 archivos técnicos (documentación)
**Riesgo si se toca:**
-**PÉRDIDA DE FUENTE ÚNICA** - No hay backup
-**ROMPE REGENERACIÓN** - Script de copia depende de esto
- ⚠️ **PERO:** Archivos técnicos pueden organizarse (no usados por app)
**Estado:** ⚠️ **NO TOCAR** archivos `SECCION_*.md` | ✅ Archivos técnicos pueden organizarse
---
### 5.2 Carpetas que PUEDEN Organizarse
#### 🟢 SEGURO - Documentación Técnica
**Carpeta:** `docs/` (excepto `docs/consolidado/SECCION_*.md`)
**Contenido:**
- 58 archivos de documentación técnica
- Análisis, auditorías, planes
- Archivos históricos identificados
**Riesgo si se organiza:**
-**BAJO RIESGO** - No usados directamente por la app
-**PUEDE ORGANIZARSE** - Mover históricos a `docs/_archivo/`
- ⚠️ **PERO:** Algunos pueden ser referencia útil
**Estado:** ✅ **PUEDE ORGANIZARSE** con precaución
---
#### 🟢 SEGURO - Scripts
**Carpeta:** `scripts/`
**Contenido:**
- Documentación de scripts
- READMEs
**Riesgo si se organiza:**
-**BAJO RIESGO** - Solo documentación
-**PUEDE ORGANIZARSE**
**Estado:** ✅ **PUEDE ORGANIZARSE**
---
## 6⃣ MAPA DE RUTAS Y DEPENDENCIAS
### 6.1 Flujo de Carga de Archivos
```
Usuario → App
ManualViewer → manual-index.ts → /manual/BLOQUE_X/archivo.md
MarkdownViewer → fetch() → public/manual/BLOQUE_X/archivo.md ✅
Usuario → App
GuideViewer → guides-index.ts → /docs/consolidado/SECCION_XX_*.md
GuideMarkdownViewer → MarkdownViewer → fetch() → public/docs/consolidado/SECCION_XX_*.md ✅
```
---
### 6.2 Dependencias Críticas
| Componente | Depende de | Archivos | Estado |
|------------|------------|----------|--------|
| `ManualViewer` | `manual-index.ts` | 92 archivos en `public/manual/` | 🔴 Crítico |
| `GuideViewer` | `guides-index.ts` | 80 archivos en `public/docs/consolidado/` | 🔴 Crítico |
| Script copia | `docs/consolidado/` | 80 archivos fuente | 🟡 Importante |
---
## 7⃣ RECOMENDACIONES
### 7.1 Acciones SEGURAS (Bajo Riesgo)
#### ✅ Acción 1: Mover Archivo Vacío
**Archivo:** `docs/consolidado/ESQUEMA_GUIA_REFUERZO.md` (0 bytes)
**Acción:** Eliminar o mover a `docs/_archivo/` si es borrador
**Riesgo:** ✅ **BAJO** - No referenciado en código
---
#### ✅ Acción 2: Crear Carpeta de Archivo
**Carpeta:** `docs/_archivo/` (no existe actualmente)
**Acción:** Crear carpeta para archivos históricos
**Riesgo:** ✅ **NINGUNO** - Nueva carpeta
---
#### ✅ Acción 3: Mover Archivos Históricos (12 archivos)
**Archivos:** Identificados en sección 4.2
**Acción:** Mover a `docs/_archivo/` después de confirmación manual
**Riesgo:** ✅ **BAJO** - No referenciados en código, pero revisar manualmente antes
---
### 7.2 Acciones que REQUIEREN PRECAUCIÓN
#### ⚠️ Acción 4: Integrar Script en Build
**Script:** `scripts/copiar-guias-markdown.sh`
**Acción:** Integrar en `package.json` como pre-build step
**Riesgo:** ⚠️ **MEDIO** - Requiere testing del build
**Beneficio:** ✅ Automatiza sincronización, elimina necesidad de copia manual
---
#### ⚠️ Acción 5: Organizar Archivos Técnicos en `docs/consolidado/`
**Archivos:** 23 archivos técnicos (no `SECCION_*.md`)
**Acción:** Organizar en subcarpetas si es necesario
**Riesgo:** ⚠️ **BAJO** - No usados por app, pero verificar referencias cruzadas
---
### 7.3 Acciones PROHIBIDAS
#### ❌ PROHIBIDO: Tocar `public/manual/`
**Razón:** Contenido clínico crítico usado en producción
---
#### ❌ PROHIBIDO: Eliminar `public/docs/consolidado/SECCION_*.md` sin regeneración
**Razón:** App depende de estos archivos
---
#### ❌ PROHIBIDO: Tocar `docs/consolidado/SECCION_*.md` (fuente única)
**Razón:** Fuente única de verdad, no hay backup
---
## 8⃣ RESUMEN EJECUTIVO
### 8.1 Estado Actual
| Aspecto | Estado | Detalles |
|---------|--------|----------|
| **Fuente única** | ✅ Definida | `docs/consolidado/SECCION_*.md` |
| **Duplicados** | ✅ Identificados | 80 archivos en `public/docs/consolidado/` |
| **Archivos vacíos** | ⚠️ 1 detectado | `ESQUEMA_GUIA_REFUERZO.md` |
| **Archivos históricos** | ⚠️ 12 identificados | Requieren revisión manual |
| **Carpetas críticas** | ✅ Identificadas | `public/manual/`, `public/docs/consolidado/` |
---
### 8.2 Riesgos Identificados
| Riesgo | Nivel | Mitigación |
|--------|-------|------------|
| Romper carga de manual | 🔴 ALTO | No tocar `public/manual/` |
| Romper carga de guías | 🔴 ALTO | No tocar `public/docs/consolidado/` sin regenerar |
| Perder fuente única | 🔴 ALTO | No tocar `docs/consolidado/SECCION_*.md` |
| Mover archivos históricos útiles | 🟡 MEDIO | Revisar manualmente antes de mover |
---
### 8.3 Plan de Acción Recomendado
#### Fase 1: Preparación (Sin Riesgo)
1. ✅ Crear `docs/_archivo/` si no existe
2. ✅ Eliminar o archivar `ESQUEMA_GUIA_REFUERZO.md` (vacío)
#### Fase 2: Revisión Manual (Sin Riesgo)
1. ⚠️ Revisar manualmente los 12 archivos históricos
2. ⚠️ Confirmar que son realmente históricos
3. ⚠️ Verificar que no se consultan regularmente
#### Fase 3: Organización (Bajo Riesgo)
1. ⚠️ Mover archivos históricos confirmados a `docs/_archivo/`
2. ⚠️ Organizar archivos técnicos en `docs/consolidado/` si es necesario
#### Fase 4: Automatización (Medio Riesgo)
1. ⚠️ Integrar script de copia en build
2. ⚠️ Testing completo del build
3. ⚠️ Verificar que la app funciona correctamente
---
## 9⃣ CONCLUSIÓN
### Estado del Sistema
**Sistema bien estructurado:**
- Fuente única definida
- Duplicados identificados y gestionables
- Rutas claras y documentadas
⚠️ **Áreas de mejora:**
- Archivo vacío a limpiar
- Archivos históricos a organizar
- Script de copia a automatizar
🔴 **Zonas críticas identificadas:**
- `public/manual/` - NO TOCAR
- `public/docs/consolidado/` - NO TOCAR sin regenerar
- `docs/consolidado/SECCION_*.md` - NO TOCAR (fuente única)
---
### Próximos Pasos
1. **Revisar manualmente** los 12 archivos históricos identificados
2. **Crear `docs/_archivo/`** para organización
3. **Mover archivos históricos confirmados** a `docs/_archivo/`
4. **Eliminar o archivar** `ESQUEMA_GUIA_REFUERZO.md` (vacío)
5. **Integrar script de copia** en build (opcional, requiere testing)
---
**Fin del Informe de Auditoría**
**⚠️ RECORDATORIO:** Este informe es SOLO DE ANÁLISIS. No se ha modificado ningún archivo.