Cópia estática
Copiado de docs/trajectory/wave-1-contracts.md em https://github.com/poppy-team/aipo-lang (MIT). Fixado na revisão ce47c4e070404fc41722ccd8e2b7b808b99062a8, blob 6326c12e81d93b5f6c7e140b87cde00ea483afa3. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.
A Wave 1 elevou o Aipo além de um interpretador convencional, introduzindo seu principal diferencial: garantias estruturais de dados por meio de contratos de assinatura, invariantes com rollback atômico e interfaces formais.
init e invariant) init() garantiu que estruturas recém-criadas passem por validações e normalizações antes de serem expostas ao restante do código.invariant() foi integrado às fronteiras estáveis de mutação. Cada vez que um campo de uma estrutura é alterado, o runtime valida a condição lógica declarada.attempt ... recover attempt é aberto, todas as modificações em objetos são registradas em um diário de alterações.fail) ou a quebra de uma invariante (invariant()), o journal reverte atomicamente todas as estruturas para seus valores originais antes de transferir o controle para o bloco recover.self.FillSelfCapture).impl e closures.