Sobre el proyecto

Atrium es la segunda capa de un sistema de memoria de tres capas, que proporciona recuperación derivada y desechable sobre un archivo canónico de conversaciones. No posee los datos fuente; en cambio, construye un índice que puede reconstruirse a partir del archivo canónico y notas curadas. El diseño enfatiza que el índice es desechable y que las máquinas sincronizan el archivo, no el índice, asegurando convergencia sin copias. Las características clave incluyen: - **Ingesta**: Indexa archivos de conversaciones (JSONL) y árboles de notas curadas. - **Búsqueda**: Búsqueda adaptativa que fusiona carriles léxicos (palabras completas y subcadenas) y densos (semánticos), con opciones para usar cada carril por separado. El carril denso incrusta solo notas curadas y síntesis de sesiones, no el corpus crudo. - **Grabación de sesiones**: Un gancho de parada de Claude Code (`stop-record-episode.sh`) que solicita al agente grabar un episodio de sesión cuando se cumplen umbrales, usando `atrium record-session` para validar, redactar y almacenar el registro. - **Recuperación de contexto**: Un gancho `UserPromptSubmit` (`user-prompt-context.sh`) que inyecta evidencia relevante en los prompts. El comando `atrium context` (también disponible vía MCP) devuelve evidencia estructurada, limitada al proyecto y notas curadas, con presupuestos acotados y verificaciones de seguridad. - **Gestión de estado**: El estado se almacena en un directorio dedicado resuelto desde variables de entorno o configuración, manteniendo los datos derivados separados y nunca sincronizados. - **Desarrollo**: Pruebas y linting mediante `uv` y `pytest`/`ruff`. El README incluye ejemplos de uso, configuración de ganchos y detalles sobre la prueba de aceptación del protocolo. También explica la razón de mantener los carriles de búsqueda separados y la importancia de re-medir decisiones documentadas en `AGENTS.md`.