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.
2.2 KiB
2.2 KiB
Contratos Compartilhados E Hierarquia De Acesso
Este documento define os primeiros contratos compartilhados entre orquestrador-product
e orquestrador-admin, com foco especial na hierarquia de acesso do runtime administrativo.
Objetivo
Criar uma base comum para:
- autenticacao e autorizacao administrativa
- publicacao de tools do
adminpara oproduct - evolucao independente dos dois servicos sem acoplamento indevido
Hierarquia inicial de acesso
Os papeis administrativos ficam centralizados em shared/contracts/access_control.py.
Hierarquia:
viewerstaffadmin
viewer
Responsavel por leitura operacional.
Permissoes iniciais:
view_systemview_reportsview_audit_logs
staff
Responsavel por operacao interna e governanca de drafts.
Permissoes iniciais:
- todas as de
viewer manage_tool_draftsreview_tool_generations
admin
Responsavel por configuracao, publicacao e gestao de acesso.
Permissoes iniciais:
- todas as de
staff publish_toolsmanage_settingsmanage_staff_accounts
Regras de desenho
- Os papeis nascem em contrato compartilhado para que
admineproductfalem a mesma lingua. - O
productnao usa essa hierarquia para atendimento ao cliente final. - O
adminusa essa hierarquia para autenticacao, autorizacao e auditoria. - Toda evolucao deve ser additive-first para nao bloquear deploy independente.
Contrato de publicacao de tool
O contrato inicial fica em shared/contracts/tool_publication.py.
Ele cobre:
ServiceNameToolLifecycleStatusToolParameterTypeToolParameterContractPublishedToolContractToolPublicationEnvelope
Como isso sera usado depois
No orquestrador-admin
- criar
StaffAccount - associar
StaffAccount.role - controlar acesso a UI, as rotas e a aprovacao de tools
- emitir
ToolPublicationEnvelopequando uma tool for publicada
No orquestrador-product
- consumir apenas tools publicadas
- validar status e versao do contrato recebido
- evitar dependencia do runtime do admin no hot path
Proximos passos naturais
- criar a entidade
StaffAccount - plugar a role do usuario interno ao contrato compartilhado
- modelar a persistencia de drafts/publicacoes de tool