🧬 Plasmídeos
O Bounded Context de Plasmídeos é a fábrica de código de contrato do PAEBIRU. Cada plasmídeo é um pequeno programa auto-contido, escrito em uma DSL de alto nível (TOML/HCL), compilado para WebAssembly e executado dentro de uma membrana do BC C.A.P.I.B.A. — o plasmídeo é, ao mesmo tempo, código e dado: ele migra entre nós como um CausalBlock imutável.
⚠️ Stub documental. O crate
paebiru-plasmidsainda não está implementado no workspace (somente okernelestá materializado emcrates/). Este arquivo existe para (a) desbloquear o build do mdBook em modo strict — oSUMMARY.mdprecisa de um capítulo apontando para o BC Plasmídeos — e (b) servir de contrato canônico para a primeira implementação. Ver ROADMAP §Fase 2 e tópico em formalização.
1. Fronteira do BC
| Tipo | O que é Plasmídeos | O que não é |
|---|---|---|
| Em escopo | Sintaxe da DSL (TOML/HCL), parser, AST, compilador para WASM, assinatura pós-compilação, versionamento, empacotamento como CausalBlock | Execução do WASM em si (→ kernel + wasmtime) |
| Em escopo | Vinculação a host imports (WASI-PAEBIRU ABI), limites de recursos, contratos de dados (CDDL) | Persistência do estado do plasmídeo (→ capiba) |
| Em escopo | Catálogo de plasmídeos canônicos (transferência, validação, atestação) | Distribuição/libp2p dos plasmídeos pela malha (→ kernel) |
| Em escopo | Sandbox de teste e “playground” para autores | Política econômica de execução (→ economy) |
2. Estado atual e roadmap
- Pré-Fase 2 — projeto apenas arquitetado.
- A sintaxe-alvo está descrita em Referência · DSL de Plasmídeos.
- A interface binária está descrita em Referência · WASI-PAEBIRU ABI.
- O compilador será escrito em Rust; o backend imediato é
wat(texto WAT) →wasm-tools→wasmtime.
3. Invariantes do Domínio
- Determinismo: Um mesmo
plasmid.tomldeve produzir um mesmoplasmid.wasmbyte-a-byte (content addressing estável). - Imutabilidade pós-compilação: o plasmídeo, uma vez compilado e assinado, é um CausalBlock — não é editável, apenas substituído.
- Sandbox obrigatório: zero syscalls fora do
host importsdeclarado; owasmtimeaplica fuel e memória limitada. - Recibos Soberanos: toda execução emite um recibo DRE com referência ao CID do plasmídeo (ver Dicionário · DRE).
- Idempotência de invocação: o mesmo
(plasmid_cid, input_cid)produz o mesmo(output_cid, receipt_cid).