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_idinterno 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 quedisplayNamees 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.
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 modelogroup/projectde 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 campospace. El proyecto raíz se reduce a solo<space>(por ejemplo,main, nomain/main). - El slug de un proyecto es una forma transliterada en kebab-case de
displayNameo 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.
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.