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.
3.3 KiB
3.3 KiB
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:
colaborador,diretor colaboradorconsulta o fluxo operacional e cadastra novas tools em draftdiretorrevisa, aprova, publica tools e cadastra novos colaboradores
-
tool_publication.py- define o contrato minimo de publicacao de tools do
adminpara oproduct - inclui envelope de publicacao, status de ciclo de vida e schema de parametros
- define o contrato minimo de publicacao de tools do
-
product_operational_data.py- define quais datasets operacionais do
productpodem ser consultados peloadmin - explicita dominios, granularidade de leitura, campos permitidos e campos bloqueados
- reforca que o acesso administrativo nasce como leitura orientada a relatorios
- declara que a leitura deve acontecer por
admin_read_model, com consistencia eventual e sem query direta do painel no banco operacional do produto - formaliza a materializacao inicial por
etl_incrementalemsnapshot_table, servida pordedicated_view - deixa explicito que a fase inicial nao usa replica operacional do produto para abrir dashboards administrativos
- define quais datasets operacionais do
-
system_functional_configuration.py- define quais configuracoes funcionais o
adminpode consultar e quais podem ser alteradas - separa o runtime do bot de atendimento do runtime de geracao de tools
- estabelece catalogo homologado de modelos, politicas do bot, politicas de canal e estado efetivo publicado
- reforca que apenas
diretoraltera configuracoes governadas commanage_settings - deixa explicito que o painel nao altera segredos, credenciais ou tabelas operacionais do produto
- define quais configuracoes funcionais o
-
bot_governed_configuration.py- detalha quais campos do bot ficam sob governanca administrativa
- cobre selecao de modelo, geracao de resposta, uso de tools, fallback, handoff e operacao por canal
- deixa explicito que a governanca do bot usa publicacao versionada e nao escrita direta no runtime do produto
- reforca que runtime de geracao de tools nao e configuracao do bot de atendimento
-
model_runtime_separation.py- formaliza que atendimento e geracao de tools usam perfis de modelo distintos
- separa config key, catalogo alvo, publicacao e rollback entre os dois runtimes
- deixa explicito que uma mudanca em um runtime nao propaga automaticamente para o outro
Regras
shared/contractsdeve guardar apenas contratos estaveis entre servicos- nada aqui deve importar modulos internos de
app/ouadmin_app/ - as mudancas devem ser additive-first para permitir deploy independente entre
producteadmin - contratos de leitura operacional nao autorizam escrita administrativa nas tabelas do produto
- relatorios administrativos devem consumir read models assincronos, nunca scans pesados no hot path do atendimento
- views dedicadas de relatorio so podem ser construidas sobre snapshots sanitizados do admin, nunca sobre tabelas live do produto
- configuracoes funcionais governadas nao autorizam escrita direta no runtime do
productdurante request web do painel