Scrinalia¶
O Scrinalia cataloga e gerencia descrições arquivísticas (metadados ISAD(G)). Ele ingere registros de uma origem, limpa e estrutura esses registros, enriquece o acervo com IA (reconhecimento de entidades nomeadas, classificação de tipologia por zero-shot, macro categorias de assunto, embeddings) e coloca todo resultado sob revisão humana: a máquina propõe, o arquivista decide, e a decisão fica registrada.
Quem instala é a instituição. Não existe serviço hospedado por trás: o banco de dados, o armazenamento de objetos e o modelo de linguagem rodam onde o acervo está, e o sistema funciona offline (ADR 0005).
Como as peças se encaixam¶
Três camadas, cada uma um domínio em src/scrinalia/domains/:
| Camada | O que guarda |
|---|---|
ingestion |
a fila de coleta: o que foi encontrado na origem e o que falta ler |
staging |
o registro interpretado, limpo e estruturado — antes de qualquer decisão de IA ou humana |
archive |
a descrição final: campos ISAD(G), enriquecimento de IA, situação de revisão e difusão |
Um quarto domínio, identity, não é camada desse pipeline: ele é dono das contas, das sessões e do
mapa de papéis (ADR 0009).
O arquivista trabalha numa SPA em React servida pela própria API, então a implantação é uma origem só e não há regra de CORS para errar (ADR 0003). Toda tela lê e escreve pelo cliente gerado do contrato OpenAPI, que é commitado e cuja defasagem quebra o build.
Guias¶
| Guia | Leia para |
|---|---|
| Instalação e implantação | instalar o sistema, configurá-lo, colocá-lo atrás de HTTPS e fazer backup |
| Operação | rodar e reprocessar os workers, ler o painel, o ledger de execuções e os grupos de falha |
| Curadoria | saber o que cada tela decide e quais decisões não têm volta |
| Modelo de dados | entender o que as tabelas significam, os carimbos de idempotência e os ledgers |
O caminho mais curto de um clone novo até o sistema rodando está no
README.md. As convenções e as
armadilhas de arquitetura estão no
AGENTS.md, e o trabalho que falta nas
issues abertas e nos seus milestones.
Decisões e situação¶
As decisões de arquitetura explicam por que o sistema é como é, incluindo as alternativas que foram medidas e descartadas. O Scrinalia está na 1.7: o pipeline, os workers de IA, a governança da revisão, a autenticação e a superfície de curadoria estão completos, e a superfície de difusão pública existe sem site na frente dela ainda. As issues abertas carregam o trabalho que falta, os limites aceitos de propósito estão no guia de operação, e o registro da documentação registra o que foi revisado e quando.
Licença¶
AGPL-3.0-only, mais um termo adicional do §7(b) dessa licença exigindo que a atribuição de autoria
seja preservada. Uma versão modificada oferecida por rede precisa publicar o seu código-fonte. A
decisão e as suas consequências estão no ADR 0006.