Logo após a entrada em produção da série 3.0, seis lançamentos seguidos do núcleo (v3.0.9 a v3.0.14) entregaram o motor de CRUD da API e resolveram gargalos reais medidos na operação do portal.
Motor canônico de CRUD na API (REQ-283)
A nova biblioteca gestor/bibliotecas/api-crud.php expõe sete rotas padronizadas sob /_api/{modulo}/ (listagem paginada, leitura por slug ou id numérico, criação, PUT/PATCH com controle de versão por If-Match, exclusão lógica ou definitiva, alternância de status e clonagem):
- A exposição é opt-in por módulo no manifesto (
api.crud), garantindo que nenhuma coluna sensível seja exposta por padrão. - O motor exige vínculo ativo do perfil com o módulo (
usuarios_perfis_modulos), valida o escopo do token (read,writeoumobile) e comprova cada escrita pelo retorno do banco e pelo número de linhas afetadas. - As 26 mensagens de resposta e erro foram internacionalizadas em
pt-breen, com 20 testes e 311 asserções na suíte automatizada.
Atualizador sem falsos positivos e decisões em massa (REQ-284, REQ-285 e REQ-286)
- Cache portável do Tailwind: as sementes de dados passam a ser normalizadas em LF e o cache deixa de depender do caminho absoluto da máquina, evitando recompilações desnecessárias entre árvores de trabalho.
- Fim dos falsos positivos de choques: artefatos gerados pela própria instalação (como
.env, mapas de controle e pacotes compilados) deixam de aparecer como divergência manual. - Decisões em massa e navegação sem recarregar: a lista de choques ganhou paginação sem recarregar a aba e botões para aplicar *manter local* ou *aceitar pacote* de uma vez.
404 em 26 ms e dist/ sempre atualizado (REQ-288, REQ-289 e REQ-143)
- Busca de outro idioma com índice: quando uma URL não existia, a verificação de disponibilidade em outro idioma lia a tabela de páginas sem filtrar pelos idiomas ativos (~7,8 s em produção). Filtrando pelos idiomas habilitados com
LIMIT 1, a consulta passou a usar o índice composto e caiu para 26 ms, acompanhada da nova página 404 bilíngue no Design System escuro do site (REQ-143). - Ressincronização automática de
dist/: toda atualização do sistema e todo deploy de projeto via API agora comparam o SHA-1 dos pacotes JS e CSS minificados e republicam automaticamente empublic_html/dist/o que mudou, atualizando o hash?v=servido ao navegador.
Origem: Core · REQ-283 a REQ-289 · BATCH-292 a BATCH-297 · Site · REQ-142 e REQ-143