Files
SGF/docs/SGF_REQUISITION_COMPOSITION_DELIVERY.md
2026-11-04 09:37:20 +02:00

39 lines
5.1 KiB
Markdown

# Requisições ligadas à composição QA do SGF — 03/11/2026
`SGF-REQUISITION-COMPOSITION-QA-v1`: código funcional de integração, sem instalar ou activar Compras no destino. A árvore principal SGF passa a saber montar o adaptador/interface existente num pacote QA com manifesto fixado. Não há segundo motor de requisições ou orçamento.
## O que ficou ligado
- `InternalRequisitionQa` confere o ambiente `budget-testing`, host/porta, nome e role exclusivos, identidade física do cluster e ausência de privilégios elevados. Confere também a localização privada e os dez ficheiros do pacote pelo manifesto SHA-256 antes de carregar o adaptador.
- A configuração fica desactivada por defeito. Presença de um ficheiro ou pacote, por si só, não activa a integração. O arranque monta rotas; não instala schema, cria dados ou concede direitos.
- As rotas existentes conservam sessão, CSRF, contexto e permissões. A navegação reconhece a pertença a Compras; leituras com token antigo e módulo incorrecto são recusadas.
- A página de Compras recebe uma capacidade explícita do servidor e só apresenta a ligação se o utilizador tiver consulta na unidade actual. O ecrã reutilizado tem retorno à navegação SGF.
- Requisição de 100 MZN → submissão → reserva única no orçamento comum → aprovação distinta → consulta/histórico. Repetições recuperam o mesmo efeito; não há consumo, factura, pagamento ou lançamento por arrasto.
Os dez ficheiros distribuídos são idênticos aos da fonte de Compras e aos ficheiros actualmente presentes no pacote da8039, conferidos por leitura. A versão instalada `packages/purchasing/current.json` continua0.1.1, com o manifesto anterior. Não se copiavam alterações de identidade/administração da candidata para a instalação principal; o catálogo público de direitos e as concessões existentes não foram alargados.
## Provas dirigidas
[Manifesto público com hashes e resultados](proofs/requisition-composition-20261103.json): **50 verificações**, contando apenas as versões finais de cada prova, sem somar resultados sobrepostos.
| Prova | Verificações | Resultado |
| --- | ---: | --- |
| Novo percurso HTTP da composição |17| Uma requisição, uma reserva100 MZN, revisão distinta, repetição sem duplicação, versão/contexto antigos e direito revogado recusados |
| Fronteiras de configuração/pacote |16| Desligado não monta rotas; produção, host/porta/role/schema/URL incompatíveis, manifesto alterado, ficheiro alterado, contrato incompleto e travessia de caminho recusados; zero SQL nestas recusas |
| Navegação/snapshot HTTP |11| Capacidade coincide com configuração, ecrã200/404 conforme composição, retorno SGF, leitura autorizada, CSRF419 e anónimo401; fingerprint de negócio/direitos inalterado |
| Renderização React dirigida |6| Ligação depende de capacidade booleana, direito e unidade; sem navegador/revisão visual |
Base nova `budget_core_sgf_63b7b6590748`, role restrita `ir_composition_63b7b6590748`, cluster QA55439 já autorizado. A role é proprietária desta base nova; **a prova não valida separação owner/runtime de uma implantação**. Os direitos funcionais usados já pertencem ao recorte de requisições/orçamento e foram escritos apenas na fixture nova. Nenhuma ligação ou migração nas bases das demonstrações ou da Tempo.
A primeira preparação encontrou falta de `composer.json` na cópia QA; corrigiu-se o auxiliar. A tentativa seguinte encontrou um nome errado da tabela no auxiliar de asserção, depois da submissão. Conservou-se essa execução parcial (`0fbff4f9f5db`), sem reset; a prova corrigida correu na base nova acima. A regressão de negócio passou uma vez; os complementos de segurança/navegação foram ampliados separadamente, preservando também os resultados anteriores. Não se repetiram suites gerais, ensaios de carga ou provas aceites da8039.
Os provisionadores e saídas privadas não exportam credenciais. O launcher recusa outro cluster físico e não aceita retomar/recriar uma base existente. Os ficheiros de resultados concluídos são preservados.
## Estado e limites
A lacuna anterior de composição na árvore principal foi tratada **para QA**. A instalação principal permanece desactivada. A8039 conserva a sua configuração/dados e âmbito próprios; este ensaio não a substitui nem lhe atribui os resultados de outra base.
A interface SGF de recepção continua pendente: deve reutilizar a autoridade de recepção de Compras e o writer comum, incluindo ordem, recebedor, qualidade, quantidades cumulativas, artigo/armazém e auditoria. Esta entrega não a simula com um movimento directo nem declara todo o procurement integrado.
As provas anteriores de isolamento/concorrência/recuperação do núcleo mantêm o seu âmbito; estas50 verificações não são uma repetição integral da regressão multiempresa. Revisão visual, carga sustentada, separação SQL de implantação, instalação e capacidade de implantação permanecem separadas. Seis registos, cache bloqueada, demos, trabalho alheio e direitos reais preservados. Sem publicação, activação de candidata no destino, aceitação ou checkpoint presumidos.