- Shipped
- 27 de agosto de 2026 às 20:39 UTC
- Author
- kamo
- Commit
- 29a65ec
Tarefa 8, a metade kamo-interna. Seis espelhos da arquitetura de direitos; quatro Eles vivem aqui. 3. App/lib/rightsHierarchy.ts GERAGE BILLING PROVIDER -> MANAGEM SUBSCRITION SETTINGS 4. app/types/.../RoleRightType.ts a constante (277) e a entrada de ALL array 5. permissionAppSections.ts Nenhuma mudança funcional necessária — veja abaixo 6. SecurityRoleManager.tsx sua duplicata em linha de 5, mantido idêntico Espelhos 5 e 6 não precisam de código: eles map ServiceType -> seção, não está certo -> seção, e a linha POS/"Commerce" já existe. Porque... GESTÃO BILLING PROVIDER carrega ServiceType.POS é concebível o momento As naves de enum. Ambos os comentários foram atualizados para nomeá-lo, e atualizado IDENTICALMENTE, porque permissãoAppSections.test.ts fixa a duplicação em vez da correção — SecurityRoleManager.tsx não importa esse arquivo, e duas cópias que discordam é como um editor cresce uma seção que os outros carecem. A VIA PREFIX. O plano especificou o relé em /api/security/billing/provider e o ficheiro da rota para o... Aqueles não coincidem, então enviado como escrito todo o recurso seria 404 no navegador enquanto cada serviço era saudável e cada construção era verde — o exato falha que o próprio plano adverte aconteceu duas vezes nesta plataforma. A rota Navios em **************** em vez disso, seguindo a folha de pagamento precedente, e cobre cada futuro relé de faturamento sem nenhum arquivo novo. BillingRelayRoutePrefix.test.ts agora lê o Java @RequestMapping e verifica um catch-all realmente cobre-lo, assim que o desencontro não pode voltar como um código Rever alguém esquece de fazer. A rota NÃO chama .json() em uma resposta sem corpo — um 204 de desconectar seria jogar e superfície como um genérico 500, fazendo um Chamada bem sucedida parece quebrada. Preso pelo segundo teste nesse arquivo. RED (teste editado primeiro, antes de qualquer espelho ser tocado): DIREITOS DE FALHAHierarchyParity > every edge matches RoleRightType.java exatamente AsserçãoErro: esperado { apenasInTs: [], ...(1) } para profundamente igual {apenasInts: [], apenasInJava: [] } Direitos de fidelidadeHierarquiaParidade > tem o mesmo número de filhos que Java esperado [ 'CREATE CONTACTS', ... (192) ] ter um comprimento de 194, mas obteve 193 Direitos de incumprimento HierarquiaParidade > corresponde aos totais auditados esperado [ 'CREATE CONTACTS', ... (192) ] ter um comprimento de 194, mas obteve 193 DIREITOS DE FALHA HierarquiaParidade > pais provedor de faturamento direito em configurações de comércio AsserçãoError: esperado [] para ser profundamente igual [ Array(2) ] - ["Gestão SUBSCRIÇÃO SETTINGS", "ACCESS COMMERCE"] + [] Testes 4 falharam □ 12 passaram (16) RED para a rota, com o diretório nomeado exatamente como o plano especifica **************************** Fail billingRelayRoutePrefix > tem uma rota catch-all cobrindo o mapeamento relé AsserçãoErro: nenhum ficheiro catch-all route cobre /api/security/billing/provider — todos os endpoints abaixo dele 404s no navegador: esperado falso para ser verdadeiro Fail billingRelayRoutePrefix > não chama .json() em uma resposta sem corpo Erro: ENOENT: não existe tal ficheiro ou directório, abrir **************************** Os testes 2 falharam (2) GREEN, ambos os arquivos: Testes 22 aprovados (22) Provado capaz de falhar, por mutação, observado verbatim: C. DIRECTO PARES Java, que é a razão pela qual o teste de paridade lê a fonte Java: 4 falhou – 12 passou – incluindo "every edge combina exatamente com RoleRightType.java" com um não vazio apenas InJava D. O guarda 204 substituiu por um incondicional `NextResponse.json(await response.json()`: Fail billingRelayRoutePrefix > não chama .json() em uma resposta sem corpo AsserçãoErro: esperado 'importação { NextRequest, NextResponse} ...' para conter 'se (!text) retornar novo NextResponse(nu...' Ambos reverteram. VERIFICAÇÃO teste npm — todos os 12 scripts de guarda passam, então Arquivos de teste 286 aprovados (286) Testes 3750 aprovados (3750) npx tsc --noEmite sobre o repo WHOLE — um erro, e não é meu: Erro TS2552: Não foi possível encontrar o nome 'useNavCounts' Esse arquivo é ` M` na árvore de trabalho de outra sessão (+55 linhas vs origem/principal) e está intocado aqui. Para provar que estas mudanças são elas próprias limpo, tsc foi re-run sobre uma árvore construída a partir de origem / main plus sete ficheiros: zero erros excepto «Não foi possível encontrar o módulo '@/mensages/en.json'», que é um artefato de `mensagens/' sendo gitignored e tão ausente de um Árvore git-archive. Comprometido com `git commit -- only` em caminhos explícitos. Este checkout realiza dezenas de outros ficheiros de sessões modificados e STAGED; `git show --stat HEAD` lista exactamente estes sete.