Visão geral
Resumo
| Status | Significa | Itens | Quantos |
|---|---|---|---|
| Resolvido | Entregue e em uso no Nexio, ou sem necessidade de mudança. | P3, P6, P7, P8, P14, P24, P26, P27 | 8 |
| Parcial | Parte está resolvida; ainda falta algo da plataforma ou do Nexio. | P1, P2, P4, P5, P16, P19, P20, P21, P22, P23, P28 | 11 |
| Pendente | A solução existe, mas o Nexio ainda não a usa. | P11, P12 | 2 |
| Sem solução | Ainda não há solução disponível. | P9, P10, P17, P18, P13, P15, P25, P29 | 8 |
Planejamento
O que bloqueia cada marco
| Marco | Itens em aberto |
|---|---|
| Desenvolvimento, agora | P1 |
| Primeira Requisição com anexo | P2, P12 |
| Primeiro tenant em produção | P1, P16, P18, P22, P23 |
| Primeiro tenant pago | P5, P9 |
| Tela de concessão de papel e permissão | P4 |
| Primeira carga e proposta bancária | P10, P11, P17 |
| Primeira integração com o ERP | P1 |
| Primeiro cliente com isolamento físico | P13 |
Status
Resolvido
Nada a fazer.
| Item | Necessidade | Solução |
|---|---|---|
| P3 | Serviço de sistema sem tenant sobre dado global | ISystemService e executor único. A captura e a carga inicial de câmbio são serviços declarados. Ler entidade com tenant nessa execução devolve zero linhas; só a escrita lança erro. |
| P6 | GrydJobs só para enfileirar | SetGrydHostRole: Api e Portal são Producer, e só o Worker executa jobs e laços. |
| P7 | Exclusão lógica, autoria e unidade de trabalho fora do GrydAuth | AddGrydAuditablePersistence preenche autor e data em toda entidade, inclusive DeletedBy quando o agregado exclui uma entidade filha (11.0.1). O filtro de exclusão lógica está em uso, e toda transação passa pelo IUnitOfWork da plataforma. Sem usuário, como no Worker, o autor fica vazio. |
| P8 | Usuários ativos com uma permissão | Leitura em processo do GrydAuth embutido, com elegibilidade, permissões efetivas e IPermissionHolderReader. |
| P14 | Utilitário de CNPJ alfanumérico | Gryd.Core.Documents.Cnpj resolve a máscara de log. O domínio mantém o próprio Cnpj, porque o Nexio.SharedKernel não recebe pacote. |
| P24 | Administrador do tenant e cadeia de destinatários | Três degraus: quem tem linha e permissão na empresa, administradores pelo papel Admin e canal de suporte por configuração. |
| P26 | Evento depois do commit na remoção do usuário | AuthMembershipRemovedV1 grava o fato na transação da remoção, e o RemovedUserScopeConsumer no Worker encerra o escopo. A varredura diária segue como rede de segurança. |
| P27 | Registro só-leitura da identidade | AddGrydAuthReaders: Worker e Portal usam só as portas de leitura, sem KeyRing. O que escreve ficou na Api. |
Status
Resolvido em parte
O que já funciona e o que ainda falta.
| Item | Necessidade | O que já funciona | O que falta | Bloqueia |
|---|---|---|---|---|
| P1 | Mensageria: evento depois do commit e entrega garantida | Outbox transacional, entrega com recibo, ordem por stream e rota sem consumidor. O Worker drena a outbox do GrydAuth. | Plataforma: adaptador externo e idempotência no destino (CA-20 e CA-21); replay. Nexio: consumidores dos eventos de nexio.outbox. O Worker drena só os registros de auditoria; os eventos seguem pendentes. | Requisição; primeira integração com o ERP |
| P2 | Tenant em job e consumidor | Tenant restaurado na execução, filtro que falha fechado e provas com Hangfire e PostgreSQL reais. | Nexio: conferir se o regime próprio (tenant no payload e escopo explícito) ainda é necessário. | Primeira Requisição com anexo, nos jobs do GrydFiles |
| P4 | Trilha de ato de controle | Leitura isolada por tenant, com permissão própria e sem rota de alteração. Na 11.1.0, IAuditTrail.Stage grava o registro na transação do ato. O Nexio passou a usá-lo em Centro de Custo, Moeda, Motivo e escopo de Empresa, e retirou as tabelas próprias. O Worker entrega os registros, e o histórico lê por IAuditLogRepository. | Plataforma: registro transacional de concessão e retirada de papel e permissão, que no GrydAuth ainda grava depois do commit (ADR 0015). | Tela de concessão de papel e permissão em produção |
| P5 | Permissões do produto em tenant novo | Contribuidor do catálogo, reconciliação no Migrator e retirada das permissões antigas. | Nexio: papel NexioAdmin, que depende das permissões do motor de aprovação. | Primeiro tenant pago |
| P16 | Concessão e retirada publicadas pela plataforma | Fatos de papel, permissão e remoção na transação do ato, com autor. O Nexio consome a remoção. | Nexio: consumir os fatos de concessão. Plataforma: quem propôs e quem efetivou, que depende do P18. | Primeiro tenant em produção |
| P19 | Módulo não arrasta endpoint de outro módulo | GrydAuth sem o agregador do Audit, com teste de arquitetura. O Nexio mantém a lista branca de endpoints. | Plataforma: provar que registrar os serviços de um módulo não traz a superfície HTTP dele. | Nada no Nexio |
| P20 | Painel e rotas do GrydJobs | Painel somente leitura e operações com trilha de autor. Nenhum host do Nexio expõe painel nem rotas. | Plataforma: visão por tenant de fila morta e recorrentes. | Nada no Nexio, enquanto ficarem fora dos hosts |
| P21 | Ação do ato consultável na auditoria | AuditLog.Action e filtro por ação, isolados por tenant. | Plataforma: índice e prova de volume; acordar se a mudança automática de campo recebe ação. | Nada |
| P22 | Escopo do chamador nas rotas de tenant | As rotas conferem o alcance do chamador e respondem 404 fora dele. O disjuntor tem permissão de plataforma. | Plataforma: permissões separadas para ler e operar o disjuntor. | Primeiro tenant em produção |
| P23 | Escrita de tenant em linha global | Template de notificação recusa PUT e DELETE de tenant em linha global. | Plataforma: conferir os demais módulos com tenant opcional e a permissão de plataforma própria. | Primeiro tenant em produção |
| P28 | CPF verificado e cultura do usuário | IUserCultureReader adotado nos avisos, com a configuração como reserva. | Plataforma: CPF verificado. | Ato de suporte do P9 |
Status
Pendente no Nexio
A solução existe; falta o Nexio usar.
| Item | Necessidade | Solução disponível | O que falta | Bloqueia |
|---|---|---|---|---|
| P11 | Rota pública autorizada por token | É requisito do próprio Nexio; a plataforma não tem o que entregar. | Implementar no Nexio.Portal. | Troca de conta bancária em produção |
| P12 | GrydFiles: veredito, retenção, guarda e eliminação (status e detalhe dos subitens) | Todos os 26 subitens entregues. Trilha durável, antivírus e opções de arquivo de produto são por adesão. | Compor o GrydFiles no Nexio, com trilha durável e migrations próprias. | Primeira Requisição com anexo |
Status
Sem solução
Ainda não há o que adotar.
| Item | Necessidade | Situação | Bloqueia |
|---|---|---|---|
| P9 | Empresa sem administrador alcançável | Ato de suporte fora da API de negócio, que também depende do CPF verificado. | Primeiro tenant pago com mais de uma empresa |
| P10 | Devolução de e-mail de controle | A devolução definitiva precisa chegar ao emissor. | Troca de conta bancária em produção |
| P17 | Identidade verificada | CPF único por tenant para quem propõe, aprova ou envia carga bancária, além do contato contratual. | Primeira carga e primeira proposta bancária |
| P18 | Segunda pessoa para papel de controle | Quem propõe não efetiva, e ninguém concede a si mesmo. | Primeiro tenant em produção |
| P13 | Banco por tenant | O desenho foi retirado do framework (ADR 0011). | Primeiro cliente com isolamento físico; não bloqueia a v1 |
| P15 | Execução delegada em nome de alguém | Previsto para a v2. | Nada na v1 |
| P25 | Coordenação entre consumidores de escopo | Na v1, o Nexio é o único consumidor de escopo de anexo. | Segundo consumidor de escopo |
| P29 | Titular da organização | Depende de decisão do mantenedor; hoje quem pede é um administrador do tenant. | Nada na v1 |