# Shared Contracts Esta pasta existe para concentrar contratos e artefatos compartilhados entre: - `app/` (produto) - `admin_app/` (administrativo) Ela nao deve receber regra de negocio do atendimento nem codigo acoplado ao hot path do produto. ## Contratos iniciais Nesta fase, os primeiros contratos compartilhados sao: - `access_control.py` - define a hierarquia inicial de acesso interno - papeis: `viewer`, `staff`, `admin` - permissoes iniciais para relatorios, configuracao, revisao e publicacao - `tool_publication.py` - define o contrato minimo de publicacao de tools do `admin` para o `product` - inclui envelope de publicacao, status de ciclo de vida e schema de parametros ## Regras - `shared/contracts` deve guardar apenas contratos estaveis entre servicos - nada aqui deve importar modulos internos de `app/` ou `admin_app/` - as mudancas devem ser additive-first para permitir deploy independente entre `product` e `admin`