NotariumDocumentación
Versión de la documentación: latest
ES

Espacios y proyectos

Notarium traza una línea entre dos unidades de organización: el espacio, una base de conocimiento aislada y un límite de seguridad, y el proyecto, una carpeta etiquetada dentro de un espacio. Son cosas distintas con funciones distintas: el espacio aísla, el proyecto organiza.

El espacio: la unidad de aislamiento

Un espacio es una base de conocimiento autónoma: tiene su propio índice, grafo, búsqueda, árbol, registro de historial y su propio conjunto de miembros. Los espacios no se solapan: las notas, la búsqueda y los enlaces de uno no son visibles desde otro. Un espacio cumple dos papeles a la vez: organización («personal» / «trabajo» / «archivo») y límite de seguridad: es a nivel de espacio donde se decide quién ve qué.

  • Cada espacio lo atiende exactamente una instancia del motor: el aislamiento nace de la propia arquitectura.
  • La identidad de un espacio es un space_id interno y estable; el slug (apto para URL: letras latinas minúsculas, dígitos, guiones y guiones bajos — [a-z0-9_-]) es una dirección renombrable y el identificador en la URL, mientras que displayName es una etiqueta legible para personas. Renombrar un slug es seguro: el nombre antiguo pasa al historial de alias y sigue resolviéndose (/s/<antiguo> redirige al actual).
  • Direccionamiento: /s/<slug> en la interfaz y /api/s/<slug>/… en REST.

Para más detalles sobre roles y privacidad, consulta Modelo de acceso.

El espacio personal

Todo usuario tiene garantizado un espacio personal, su hogar por defecto:

  • se crea al aprovisionar la cuenta y no se puede eliminar;
  • sirve como página de inicio por defecto y guarda la memoria privada de los agentes sobre ti y tu perfil;
  • es un espacio de trabajo de pleno derecho: puedes empezar a tomar notas y a etiquetar proyectos de inmediato, sin necesidad de configurar nada por separado.
No puedes invitar a un segundo miembro a un espacio personal

Esta es la única diferencia entre un espacio personal y uno normal. Otro miembro con acceso de lectura vería tu memoria privada y tus notas personales, así que las invitaciones a un espacio personal están prohibidas en el servidor, no solo ocultas en la interfaz.

El proyecto: una carpeta etiquetada

Un proyecto es una entidad ligera y opcional: un subárbol de carpeta corriente dentro de un espacio que ha sido etiquetado como proyecto. El contenido no tiene por qué vivir en proyectos: una carpeta sin etiquetar sigue siendo solo una carpeta.

La etiqueta es un dot-file .notariummeta en la raíz de la carpeta (JSON con un id estable). Viaja junto con la carpeta en cualquier traslado, incluido uno externo (git, un gestor de archivos): la identidad de un proyecto está anclada en la propia carpeta, no solo en la base de datos.

myspace/
├─ research/
│  └─ .notariummeta      ← carpeta etiquetada = proyecto
├─ inbox/                ← carpeta simple (no es un proyecto)
└─ ...
  • El direccionamiento es un handle (space, slug), según el modelo group/project de GitLab. El slug de un proyecto es único dentro de un espacio; los proyectos con el mismo nombre en distintos espacios se distinguen por el campo space. El proyecto raíz se reduce a solo <space> (por ejemplo, main, no main/main).
  • El slug de un proyecto es una forma transliterada en kebab-case de displayName o del último segmento de la ruta (no de la ruta completa).
  • Etiquetar una carpeta, quitar la etiqueta o crear un «New project» son acciones humanas (el permiso space:write). Un agente no crea contenedores: es dueño del contenido, la persona es dueña de la estructura.
  • Crear un espacio etiqueta automáticamente su raíz como proyecto, de modo que el agente puede escribir en <space> de inmediato, sin etiquetado manual.

Un proyecto es un alcance y una dirección, pero no un límite de seguridad: la decisión de acceso siempre recae en la membresía del espacio. Para saber cómo un agente direcciona proyectos, consulta Herramientas de intención.

Requisitos y límites

Los proyectos se apoyan en la base de datos de metadatos y en el almacenamiento local de etiquetas: sin ellos no se puede abrir un proyecto.