# Arquitectura del sistema v2

## Propósito

El sistema v2 reúne la estrategia de la Facultad de Medicina UdeC en HTML estático y portable. Debe funcionar al abrir `site/index.html` directamente con `file://`, sin servidor, base de datos, autenticación ni conexión a internet.

## Navegación

La navegación global es:

`Inicio | Metodología | CMI | OKRs | Portafolio | Datos`

Las páginas de `site/` enlazan el CMI mediante `../dashboard/cmi_facmed.html`. El dashboard enlaza de regreso mediante `../site/`. Sus pestañas internas siguen siendo independientes de la navegación global.

## Módulos

| Módulo | Archivo | Función |
|---|---|---|
| Inicio | `site/index.html` | Presentación, descarga de la estrategia y accesos |
| Metodología | `site/metodologia.html` | Modelo dual de reportería estratégica y seguimiento ágil asistido por IA |
| CMI | `dashboard/cmi_facmed.html` | Indicadores BSC, gráficos y carga manual del Excel técnico |
| OKRs | `site/okrs.html` | Seis objetivos estratégicos y resultados clave |
| Portafolio | `site/portafolio.html` | Iniciativas, responsables, estado, avance y fechas |
| Datos | `site/datos.html` | Descargas, fuentes, reportes y actualización |

## Fuentes de datos

El sistema mantiene dos flujos independientes:

1. El CMI se genera desde `data/indicators.json` y conserva `data/CMI_FacMed_datos.xlsx` para carga manual en el navegador.
2. OKRs y Portafolio se generan desde `data/Sistema_FacMed_v2.xlsx`.

El Excel v2 contiene:

- `Configuracion`: `clave`, `valor`.
- `OKRs`: `id`, `objetivo`, `resultado_clave`, `responsable`, `avance`, `estado`, `fecha_corte`, `nota`.
- `Portafolio`: `id`, `iniciativa`, `descripcion`, `responsable`, `area`, `estado`, `avance`, `fecha_inicio`, `fecha_fin`, `nota`, `modo`, `etapa`. `modo` admite Exploración o Explotación; vacío significa “Por clasificar”.

Estados permitidos: `No iniciado`, `En curso`, `En riesgo`, `Completado`, `Pausado`. El avance se expresa entre 0 y 100. Los campos sin información pueden quedar vacíos y se presentan como pendientes, sin inferir estados.

## Generación

`npm run build` ejecuta un único proceso:

1. Reconstruye `dashboard/cmi_facmed.html` desde el template y los indicadores.
2. Lee `data/Sistema_FacMed_v2.xlsx`.
3. Genera `site/index.html`, `site/metodologia.html`, `site/okrs.html`, `site/portafolio.html`, `site/datos.html` y los estilos locales.

Los datos quedan incrustados en cada HTML. No se usa `fetch()` ni recursos remotos obligatorios.

## Portabilidad

La unidad de distribución es la carpeta completa del proyecto o su ZIP. Las rutas son relativas y deben conservar la estructura de directorios. Los enlaces de descarga apuntan a archivos incluidos en el repositorio.

## Criterios de validación

- Apertura directa mediante `file://`.
- Recorrido completo de la navegación global.
- Navegación interna del CMI operativa.
- Descargas sin enlaces rotos.
- Visualización legible en escritorio y móvil.
- Regeneración desde el Excel v2.
