diff options
Diffstat (limited to 'pt-br/news/phase0-foundation/index.html')
| -rw-r--r-- | pt-br/news/phase0-foundation/index.html | 130 |
1 files changed, 130 insertions, 0 deletions
diff --git a/pt-br/news/phase0-foundation/index.html b/pt-br/news/phase0-foundation/index.html new file mode 100644 index 0000000..ab4b679 --- /dev/null +++ b/pt-br/news/phase0-foundation/index.html @@ -0,0 +1,130 @@ +<!DOCTYPE html> +<html lang="pt-br"> +<head> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title>Fase 0: Fundação Construída — Tesseras</title> + <meta name="description" content="Os crates fundamentais do Tesseras estão prontos — tipos de domínio, primitivas criptográficas, armazenamento SQLite e uma CLI funcional."> + <!-- Open Graph --> + <meta property="og:type" content="article"> + <meta property="og:title" content="Fase 0: Fundação Construída"> + <meta property="og:description" content="Os crates fundamentais do Tesseras estão prontos — tipos de domínio, primitivas criptográficas, armazenamento SQLite e uma CLI funcional."> + <meta property="og:image" content="https://tesseras.net/images/social.jpg"> + <meta property="og:image:width" content="1200"> + <meta property="og:image:height" content="630"> + <meta property="og:site_name" content="Tesseras"> + <!-- Twitter Card --> + <meta name="twitter:card" content="summary_large_image"> + <meta name="twitter:title" content="Fase 0: Fundação Construída"> + <meta name="twitter:description" content="Os crates fundamentais do Tesseras estão prontos — tipos de domínio, primitivas criptográficas, armazenamento SQLite e uma CLI funcional."> + <meta name="twitter:image" content="https://tesseras.net/images/social.jpg"> + <link rel="stylesheet" href="https://tesseras.net/style.css?h=21f0f32121928ee5c690"> + + + <link rel="alternate" type="application/atom+xml" title="Tesseras" href="https://tesseras.net/atom.xml"> + + + <link rel="icon" type="image/png" sizes="32x32" href="https://tesseras.net/images/favicon.png?h=be4e123a23393b1a027d"> + +</head> +<body> + <header> + <h1> + <a href="https://tesseras.net/pt-br/"> + <img src="https://tesseras.net/images/logo-64.png?h=c1b8d0c4c5f93b49d40b" alt="Tesseras" width="40" height="40" class="logo"> + Tesseras + </a> + </h1> + <nav> + + <a href="https://tesseras.net/pt-br/about/">Sobre</a> + <a href="https://tesseras.net/pt-br/news/">Notícias</a> + <a href="https://tesseras.net/pt-br/releases/">Lançamentos</a> + <a href="https://tesseras.net/pt-br/faq/">FAQ</a> + <a href="https://tesseras.net/pt-br/subscriptions/">Inscrições</a> + <a href="https://tesseras.net/pt-br/contact/">Contato</a> + + </nav> + <nav class="lang-switch"> + + <a href="https://tesseras.net/news/phase0-foundation/">English</a> | <strong>Português</strong> + + </nav> + </header> + + <main> + +<article> + <h2>Fase 0: Fundação Construída</h2> + <p class="news-date">2026-02-14</p> + <p>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.</p> +<h2 id="o-que-foi-construido">O que foi construído</h2> +<p><strong>tesseras-core</strong> — A camada de domínio define o formato tessera: <code>ContentHash</code> +(BLAKE3, 32 bytes), <code>NodeId</code> (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 (<code>TesseraService</code>) gerencia operações de criação, +verificação, exportação e listagem através de port traits, seguindo arquitetura +hexagonal.</p> +<p><strong>tesseras-crypto</strong> — 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.</p> +<p><strong>tesseras-storage</strong> — Índice SQLite via rusqlite com migrações em SQL puro. +Blob store no sistema de arquivos com layout endereçável por conteúdo +(<code>blobs/<tessera_hash>/<memory_hash>/<filename></code>). Persistência de chaves de +identidade em disco.</p> +<p><strong>tesseras-cli</strong> — Um binário <code>tesseras</code> funcional com cinco comandos:</p> +<ul> +<li><code>init</code> — gera identidade Ed25519, cria banco de dados SQLite</li> +<li><code>create <dir></code> — varre um diretório por arquivos de mídia, cria uma tessera +assinada</li> +<li><code>verify <hash></code> — verifica assinatura e integridade dos arquivos</li> +<li><code>export <hash> <dest></code> — escreve um diretório tessera autocontido</li> +<li><code>list</code> — mostra uma tabela das tesseras armazenadas</li> +</ul> +<p><strong>Testes</strong> — 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.</p> +<h2 id="decisoes-de-arquitetura">Decisões de arquitetura</h2> +<ul> +<li><strong>Arquitetura hexagonal</strong>: operações criptográficas são injetadas via trait +objects (<code>Box<dyn Hasher></code>, <code>Box<dyn ManifestSigner></code>, +<code>Box<dyn ManifestVerifier></code>), mantendo o crate core livre de dependências +criptográficas concretas.</li> +<li><strong>Feature flags</strong>: a feature <code>service</code> no tesseras-core controla a camada de +aplicação assíncrona. As features <code>classical</code> e <code>erasure</code> no tesseras-crypto +controlam quais algoritmos são compilados.</li> +<li><strong>Manifesto em texto plano</strong>: interpretável sem qualquer biblioteca de formato +binário, com prefixos de hash explícitos <code>blake3:</code> e layout legível por +humanos.</li> +</ul> +<h2 id="o-que-vem-a-seguir">O que vem a seguir</h2> +<p>A Fase 0 é a fundação local. O caminho adiante:</p> +<ul> +<li><strong>Fase 1: Rede</strong> — Transporte QUIC (quinn), DHT Kademlia para descoberta de +pares, travessia de NAT</li> +<li><strong>Fase 2: Replicação</strong> — Codificação de apagamento Reed-Solomon pela rede, +loops de reparo, reciprocidade bilateral (sem blockchain, sem tokens)</li> +<li><strong>Fase 3: Clientes</strong> — App Flutter mobile/desktop via flutter_rust_bridge, API +GraphQL, nó WASM no navegador</li> +<li><strong>Fase 4: Endurecimento</strong> — Assinaturas pós-quânticas ML-DSA, empacotamento +para Alpine/Arch/Debian/FreeBSD/OpenBSD, CI no SourceHut</li> +</ul> +<p>O formato tessera é estável. Tudo construído a partir daqui se conecta e estende +o que existe hoje.</p> + +</article> + + </main> + + <footer> + <p>© 2026 Tesseras Project. <a href="/atom.xml">News Feed</a> · <a href="https://git.sr.ht/~ijanc/tesseras">Source</a></p> + </footer> +</body> +</html> |