codigo0/docs/AUDITORIA_TECNICA_LIMPIEZA_MARKDOWN.md

553 lines
16 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 🔍 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.