You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
957 B
Markdown
28 lines
957 B
Markdown
# 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`
|