Fase 0: Fundação Construída
+2026-02-14
+O primeiro marco do projeto Tesseras está completo. A Fase 0 estabelece a +fundação sobre a qual cada componente futuro será construído: tipos de domínio, +criptografia, armazenamento e uma interface de linha de comando funcional.
+O que foi construído
+tesseras-core — A camada de domínio define o formato tessera: ContentHash
+(BLAKE3, 32 bytes), NodeId (Kademlia, 20 bytes), tipos de memória (Moment,
+Reflection, Daily, Relation, Object), modos de visibilidade (Private, Circle,
+Public, PublicAfterDeath, Sealed) e um formato de manifesto em texto plano que
+pode ser interpretado por qualquer linguagem de programação pelos próximos mil
+anos. A camada de serviço (TesseraService) gerencia operações de criação,
+verificação, exportação e listagem através de port traits, seguindo arquitetura
+hexagonal.
tesseras-crypto — Geração de chaves Ed25519, assinatura e verificação. Um +framework de assinatura dual (Ed25519 + placeholder ML-DSA) pronto para migração +pós-quântica. Hashing de conteúdo com BLAKE3. Codificação de apagamento +Reed-Solomon atrás de uma feature flag para futura replicação.
+tesseras-storage — Índice SQLite via rusqlite com migrações em SQL puro.
+Blob store no sistema de arquivos com layout endereçável por conteúdo
+(blobs/<tessera_hash>/<memory_hash>/<filename>). Persistência de chaves de
+identidade em disco.
tesseras-cli — Um binário tesseras funcional com cinco comandos:
-
+
init— gera identidade Ed25519, cria banco de dados SQLite
+create <dir>— varre um diretório por arquivos de mídia, cria uma tessera +assinada
+verify <hash>— verifica assinatura e integridade dos arquivos
+export <hash> <dest>— escreve um diretório tessera autocontido
+list— mostra uma tabela das tesseras armazenadas
+
Testes — 67+ testes em todo o workspace: testes unitários em cada módulo, +testes baseados em propriedades (proptest) para roundtrips hex e serialização de +manifesto, testes de integração cobrindo o ciclo completo de +criação-verificação-exportação incluindo detecção de arquivos adulterados e +assinaturas inválidas. Zero avisos do clippy.
+Decisões de arquitetura
+-
+
- Arquitetura hexagonal: operações criptográficas são injetadas via trait
+objects (
Box<dyn Hasher>,Box<dyn ManifestSigner>, +Box<dyn ManifestVerifier>), mantendo o crate core livre de dependências +criptográficas concretas.
+ - Feature flags: a feature
serviceno tesseras-core controla a camada de +aplicação assíncrona. As featuresclassicaleerasureno tesseras-crypto +controlam quais algoritmos são compilados.
+ - Manifesto em texto plano: interpretável sem qualquer biblioteca de formato
+binário, com prefixos de hash explícitos
blake3:e layout legível por +humanos.
+
O que vem a seguir
+A Fase 0 é a fundação local. O caminho adiante:
+-
+
- Fase 1: Rede — Transporte QUIC (quinn), DHT Kademlia para descoberta de +pares, travessia de NAT +
- Fase 2: Replicação — Codificação de apagamento Reed-Solomon pela rede, +loops de reparo, reciprocidade bilateral (sem blockchain, sem tokens) +
- Fase 3: Clientes — App Flutter mobile/desktop via flutter_rust_bridge, API +GraphQL, nó WASM no navegador +
- Fase 4: Endurecimento — Assinaturas pós-quânticas ML-DSA, empacotamento +para Alpine/Arch/Debian/FreeBSD/OpenBSD, CI no SourceHut +
O formato tessera é estável. Tudo construído a partir daqui se conecta e estende +o que existe hoje.
+ +