# 🎯 Cómo funciona realmente Taskr

## 3.4 Notas - El sistema de memoria de tu IA

### Qué son realmente las notas

Las notas no son solo texto al azar; son memorias estructuradas que ayudan a tu IA a entender qué sucedió antes. Piénsalas como:
- **Notas adhesivas** en páginas importantes
- **Notas al margen** en un libro de texto
- Entradas en un **cuaderno de laboratorio** para experimentos

### Los cinco tipos de notas

**FILE_LIST** 📁
- "He cambiado estos 5 archivos"
- Enumera qué se modificó y por qué
- Ayuda a rastrear el alcance de los cambios

**PROGRESS** 📈
- "¡He terminado el sistema de inicio de sesión!"
- Hitos y logros importantes
- Solo para grandes victorias, no para cada pequeña tarea

**CONTEXT** 📚
- "Estamos usando tokens JWT porque..."
- Información de trasfondo y decisiones
- El "por qué" detrás de las elecciones

**FINDING** 🔍
- "He encontrado un error en la validación"
- "La API devuelve los datos de forma diferente a la esperada"
- Descubrimientos, problemas y soluciones

**OTHER** 📝
- Todo lo demás
- Observaciones generales
- Categoría de último recurso

### Cómo se conectan las notas con las tareas

Cada nota puede "adjuntarse" a una tarea usando `task_id`. Esto crea una línea de tiempo:

```
Tarea 1.2: "Crear formulario de inicio de sesión"
  └─ NOTA (FILE_LIST): Modificados login.tsx, auth.css
  └─ NOTA (FINDING): La librería de formularios tiene validación integrada
  └─ NOTA (PROGRESS): Formulario de inicio de sesión completado y funcionando
```

¡Los futuros agentes pueden ver exactamente qué sucedió durante cada tarea!

### IDs de Notas

Cada nota recibe un ID único como `NT_ABC123XYZ...` (NT = Note). Verás estos en la esquina de las tarjetas de notas en la interfaz web. Puedes referenciarlas como: "Como se mencionó en la nota NT_ABC123..."

### Implementación de la base de datos

Las notas se almacenan en la tabla `notes` con:
- Tipado fuerte a través de un enum de PostgreSQL para los tipos de notas
- Indexación de búsqueda de texto completo para la función search_notes
- Borrado lógico (campo deleted_at) para preservar el historial
- Asociación de tareas a través de una relación de clave foránea

---
