---
title: "Historial de versiones"
description: "El registro de revisiones de una nota: instantáneas deduplicadas por contenido, procedencia de las ediciones y restauración de cualquier versión."
---

# Historial de versiones

Cada nota lleva su propio registro de revisiones: el historial de todos los estados por los que ha pasado. Esto es versionado a nivel de aplicación, no una capa git sobre una carpeta: el registro vive en la base de datos de metadatos (metadata DB) y va acumulando los estados que pasaron por Notarium o que detectó la sincronización de archivos. El propio archivo `.md` sigue siendo la fuente de la verdad; el registro lo complementa, no lo sustituye.

## Una revisión es una instantánea

Cada revisión guarda el estado completo de la nota en el momento de la edición: título, etiquetas, slug y cuerpo normalizado, y no un diff línea por línea. Los diffs para comparar versiones se calculan sobre la marcha, porque son recuperables a partir de las instantáneas.

El cuerpo de cada revisión se direcciona por contenido (content-addressed, sha-256), de modo que el contenido idéntico se almacena una sola vez. Restaurar una versión, los ciclos de edición de un agente y los estados repetidos no generan copias de más: la deduplicación se basa en el propio contenido.

El registro se indexa por el identificador interno de la nota (`notarium-id`), no por su ruta de archivo. Por eso el historial sobrevive al mover la nota entre carpetas y al renombrarla: sigue siendo la misma nota con el mismo historial.

## Procedencia: quién editó y cómo

Cada revisión está firmada: puedes ver de dónde vino un cambio. Una revisión tiene un tipo y un principal que la creó:

| Tipo de revisión | Qué significa |
|---|---|
| `write` | Un guardado a través de Notarium (persona o agente) |
| `external` | Un estado detectado por la sincronización de archivos directamente en disco |
| `restore` | Una reversión a una versión anterior (conserva una referencia al origen) |
| `delete` | Tombstone: el último estado de una nota eliminada |

El autor queda registrado como un usuario concreto, el token personal de un agente o la interfaz; las ediciones externas no tienen autor, no hay a quién atribuirlas. Así el historial muestra exactamente qué editó una persona y qué hizo un agente de IA. Para saber más sobre la separación entre ediciones humanas y de agentes, consulta [Personas y agentes](/docs/concepts/human-and-agents/).

> [!note] Granularidad de las ediciones externas
> Las ediciones hechas directamente en el archivo (sin pasar por Notarium) el registro las ve con la precisión de un ciclo de sincronización: varios cambios entre sondeos se colapsan en un único estado observado. Las ediciones a través del propio Notarium se registran con exactitud.

Una revisión también incluye los recuentos de caracteres añadidos y eliminados: el "costo" de la edición respecto a la versión anterior.

## Ver, comparar y restaurar

El historial de una nota está disponible desde el modo de lectura: la pestaña **History** en el panel lateral muestra una línea de tiempo de versiones con quién hizo la edición, los recuentos `+N −M` y la fecha. Al seleccionar una revisión, esta se abre en lugar del texto actual, con un conmutador entre Changes (un diff a nivel de palabra que resalta las inserciones y las eliminaciones) y Content (el contenido en sí).

![La pestaña History: revisiones con su autor y sus recuentos; la v3 la hizo un agente](/media/app-history-light.webp)

Para revertir, usa el botón **Restore this version**. La restauración toma el cuerpo del registro y lo escribe como una nueva edición protegida por una comprobación optimista de versión: si la nota cambió mientras tanto, obtienes un conflicto (409), y nada se sobrescribe en silencio.

## Almacenamiento y eliminación

Por defecto el historial se conserva por completo: Notarium no poda las revisiones automáticamente. Puedes borrar por completo el historial de una nota a mano, vaciándola desde la [Papelera](/docs/guides/trash/): eliminar una nota crea un tombstone con su último estado (que se puede restaurar), y la purga final borra también el historial.

> [!note] Límites del registro
> El historial de versiones requiere la base de datos de metadatos. Sin la base de datos de metadatos, el historial solo vive mientras dura el proceso. No hay poda automática programada de revisiones antiguas: conservamos el historial completo.

Temas relacionados: [File-first](/docs/concepts/file-first/) — el archivo como fuente de la verdad, [Papelera](/docs/guides/trash/) — eliminación y restauración, [Modelo de acceso](/docs/concepts/access-model/) — quién puede revertir versiones.
