Skip to content
EN

Cópia estática

Copiado de docs/decisions/adp-007.md em https://github.com/poppy-team/aipo-lang (MIT). Fixado na revisão ce47c4e070404fc41722ccd8e2b7b808b99062a8, blob f94b0648ed4a915e333c270bc4683834b86718ff. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.

ADP-007 — Identidade e Distribuição de Pacotes ​

  • Status: Aprovado & Implementado
  • Decisores: Poppy Team
  • Fase: Wave 5 (P04)

Contexto ​

A linguagem precisava de um gerenciador de dependências moderno que evitasse os problemas históricos de ecossistemas como NPM e Pip: ataques de sequestro de dependências (typosquatting), downloads dinâmicos não-determinísticos e falhas de build causadas por instabilidade de rede.


Decisões Tomadas ​

  1. Coordenadas Sem Ambiguidades:

    • Todo pacote tem namespace e nome: namespace.package.
  2. Dependências Remotas Padrão GitHub com Commit SHA Pinado:

    • Não se aceitam tags móveis ou branches (main, master, v1.x) no manifesto aipo.toml.
    • Exige-se obrigatoriamente um commit SHA completo de 40 caracteres hexadecimais.
  3. Verificação Criptográfica com Hashes SHA-256:

    • Cada pacote baixado tem seu conteúdo auditado por hash SHA-256 gravado no aipo.lock.
  4. Operação 100% Offline-First:

    • Builds normais nunca acessam a rede. Pacotes devem ser previamente baixados para .aipo/cache.