# BACKUP_AND_RECOVERY.md — Respaldo y Recuperación del Organismo 4GatosCoin

Este documento define los procedimientos oficiales para respaldar, restaurar y recuperar el organismo 4GatosCoin ante fallos, corrupción de datos, errores de despliegue o anomalías graves.

Es el sistema de resurrección del organismo.

---

# 1. Objetivos del Sistema de Backup

- proteger datos críticos  
- garantizar continuidad del organismo  
- permitir restauración rápida  
- evitar pérdida de narrativa  
- evitar corrupción del estado global  
- permitir rollback seguro  
- mantener coherencia entre órganos  

---

# 2. Qué se Debe Respaldar

| Componente | Descripción |
|------------|-------------|
| Base de datos | MongoDB completo |
| Estado Global | OrganismoGlobal snapshot |
| Memoria | ecos, rituales, anomalías |
| Territorio | zonas, dominancia |
| Energía | energía total y por zona |
| Avatar | niveles, rachas, narrativa personal |
| Semillas | rarezas, distribución |
| Logs | trazabilidad completa |
| Configuración | reglas de temporada, puntos, energía |
| Panel DevWeb3 | configuración interna |
| OTT | estado visual |

---

# 3. Tipos de Backups

## 3.1. Backup Completo
Incluye:

- base de datos  
- estado global  
- memoria  
- territorio  
- narrativa  
- OTT  

Frecuencia recomendada:

```
cada 24 horas
```

---

## 3.2. Backup Incremental
Incluye:

- cambios desde el último backup  
- logs  
- narrativa  
- energía  
- semillas  

Frecuencia recomendada:

```
cada 1 hora
```

---

## 3.3. Backup de Emergencia
Se ejecuta cuando:

- falla un despliegue  
- falla una migración  
- falla un ritual  
- falla un ciclo  
- falla una temporada  

---

# 4. Ubicación de Backups

```
backups/
  daily/
  hourly/
  emergency/
  snapshots/
```

---

# 5. Snapshots del Estado Global

Los snapshots viven en:

```
snapshots/globalState/
```

Ejemplo:

```json
{
  "energia": 1200,
  "territorio": { "norte": 12, "sur": 8 },
  "ciclos": 12,
  "temporada": 3,
  "heartbeat": 88,
  "timestamp": 1700000000
}
```

---

# 6. Flujo de Recuperación

```
Fallo → Detección → Aislamiento → Restauración → Validación → Normalización
```

### 6.1. Fallo
Puede ser:

- corrupción de datos  
- despliegue fallido  
- migración fallida  
- anomalía grave  
- pérdida de sincronización  

### 6.2. Detección
El failsafe detecta el fallo.

### 6.3. Aislamiento
Se congela el órgano afectado.

### 6.4. Restauración
Se elige un snapshot:

- último estable  
- último completo  
- último incremental  
- último de emergencia  

### 6.5. Validación
Validar:

- energía  
- territorio  
- narrativa  
- OTT  
- panel DevWeb3  

### 6.6. Normalización
El organismo vuelve a su ritmo normal.

---

# 7. Procedimientos de Recuperación

## 7.1. Recuperar Estado Global

1. detener organismo  
2. cargar snapshot  
3. restaurar energía  
4. restaurar territorio  
5. restaurar ciclos  
6. restaurar temporada  
7. restaurar latido  
8. validar narrativa  
9. reiniciar organismo  

---

## 7.2. Recuperar Base de Datos

1. detener conexiones  
2. restaurar backup  
3. reconstruir índices  
4. validar modelos  
5. reiniciar backend  

---

## 7.3. Recuperar Territorio

1. restaurar snapshot territorial  
2. validar dominancia  
3. validar energía por zona  
4. validar narrativa territorial  

---

## 7.4. Recuperar Narrativa

1. restaurar ecos  
2. restaurar silencios  
3. restaurar anomalías  
4. regenerar narrativa profunda  

---

## 7.5. Recuperar Rituales

1. desactivar rituales activos  
2. restaurar estado previo  
3. validar energía  
4. validar memoria  
5. validar OTT  

---

# 8. Rollback de Despliegue

Si un despliegue falla:

1. activar modo seguro  
2. restaurar backup de emergencia  
3. revertir código a versión estable  
4. validar panel  
5. validar OTT  
6. validar estado global  
7. reactivar organismo  

---

# 9. Rollback de Migración

Si una migración falla:

1. detener migración  
2. restaurar backup previo  
3. revertir modelos  
4. revertir endpoints  
5. validar narrativa  
6. validar estado global  
7. reintentar migración en sandbox  

---

# 10. Panel DevWeb3 de Backups

Ubicación:

```
app/devweb3/backups/
```

Permite:

- ver backups  
- restaurar backups  
- crear backups manuales  
- ver snapshots  
- activar modo recuperación  

---

# 11. Roadmap del Sistema de Backup

- backups narrativos avanzados  
- backups territoriales dinámicos  
- backups de avatar visual  
- backups de temporadas vivas  
- backups automáticos por evento  
- recuperación predictiva (IA)  

---

# 12. Licencia
Proyecto interno.  
Acceso restringido a desarrolladores autorizados.
