NotariumDocumentação
Versão da documentação: latest
PT

Espaços e projetos

O Notarium traça uma linha entre duas unidades de organização: o espaço — uma base de conhecimento isolada e um limite de segurança — e o projeto — uma pasta marcada dentro de um espaço. São coisas diferentes, com funções diferentes: o espaço isola, o projeto organiza.

O espaço — a unidade de isolamento

Um espaço é uma base de conhecimento autossuficiente: tem o próprio índice, grafo, busca, árvore, registro de histórico e o próprio conjunto de membros. Espaços não se sobrepõem: as notas, a busca e os links de um não são visíveis a partir de outro. Um espaço cumpre dois papéis de uma só vez — organização ("pessoal" / "trabalho" / "arquivo") e limite de segurança: é no nível do espaço que se decide quem vê o quê.

  • Cada espaço é atendido por exatamente uma instância do motor — o isolamento vem da própria arquitetura.
  • A identidade de um espaço é um space_id interno estável; o slug (URL-safe: letras latinas minúsculas, dígitos, hífens e sublinhados — [a-z0-9_-]) é um endereço renomeável e o handle na URL, enquanto o displayName é um rótulo legível por humanos. Renomear um slug é seguro: o nome antigo passa para o histórico de aliases e continua resolvendo (/s/<old> redireciona para o atual).
  • Endereçamento: /s/<slug> na interface e /api/s/<slug>/… no REST.

Para mais detalhes sobre papéis e privacidade, veja Modelo de acesso.

O espaço pessoal

Todo usuário tem, garantidamente, um espaço pessoal — sua casa padrão:

  • ele é criado quando a conta é provisionada e não pode ser excluído;
  • serve como página inicial padrão e guarda a memória privada dos agentes sobre você e o seu perfil;
  • é um ambiente de trabalho completo: você pode começar a fazer notas e a marcar projetos de imediato, sem precisar configurar nada à parte.
Você não pode convidar um segundo membro para um espaço pessoal

Essa é a única forma em que um espaço pessoal difere de um comum. Outro membro com acesso de leitura veria a sua memória privada e as suas notas pessoais — por isso convites para um espaço pessoal são proibidos no servidor, não apenas ocultados na interface.

O projeto — uma pasta marcada

Um projeto é uma entidade leve e opcional: uma subárvore de pastas comum dentro de um espaço, marcada como projeto. O conteúdo não precisa morar em projetos — uma pasta sem marca continua sendo apenas uma pasta.

A marca é um dot-file .notariummeta na raiz da pasta (JSON com um id estável). Ele viaja junto com a pasta em qualquer movimentação, inclusive uma externa (git, um gerenciador de arquivos) — a identidade de um projeto está ancorada na própria pasta, não apenas no banco de dados.

myspace/
├─ research/
│  └─ .notariummeta      ← pasta marcada = projeto
├─ inbox/                ← pasta comum (não é projeto)
└─ ...
  • O endereçamento é um handle (space, slug), no modelo group/project do GitLab. O slug de um projeto é único dentro de um espaço; projetos de mesmo nome em espaços diferentes são distinguidos pelo campo space. O projeto raiz se reduz a apenas <space> (por exemplo, main, e não main/main).
  • O slug de um projeto é a forma transliterada em kebab-case do displayName ou do último segmento do caminho (não do caminho inteiro).
  • Marcar uma pasta, remover a marca ou criar um "New project" são ações humanas (a permissão space:write). Um agente não cria contêineres: ele é dono do conteúdo, o humano é dono da estrutura.
  • Criar um espaço marca automaticamente a sua raiz como projeto — assim o agente já pode escrever em <space> de imediato, sem marcação manual.

Um projeto é um escopo e um endereço, mas não um limite de segurança: a decisão de acesso sempre cabe à participação no espaço. Para saber como um agente endereça projetos, veja Ferramentas de intenção.

Requisitos e limites

Projetos dependem do banco de metadados e do armazenamento local de marcas — sem eles, um projeto não pode ser aberto.