50 lines
8.4 KiB
Markdown
50 lines
8.4 KiB
Markdown
# Integração local dos seis módulos na8085
|
||
|
||
**Actualização posterior no mesmo dia:** o estado abaixo documenta a primeira integração13 lançamentos. Foi complementado por Oficina–Stock/devolução/valorização, Oficina–Comercial500, continuidades, trânsito/lotes/ajuste e fecho QA: agora18 lançamentos e15 contas. Ver [consolidação actual](SGF_SIX_MODULE_CLOSURE_20261110.md). As provas desta primeira fase mantêm-se intactas e não são repetidas por rotina.
|
||
|
||
Autorização expressa: «autorizo»,10/11/2026, âmbito de `SGF_8085_NEXT_AUTHORIZATION.md`. Entrada: http://127.0.0.1:8085/sgf. Conserva `/compras` e os sete perfis anteriores; acrescenta as dez funções QA aprovadas, com escolha explícita do módulo, sessão normal e CSRF. Não depende de SGC nem de outro servidor de demonstração.
|
||
|
||
## Percursos efectivamente disponíveis
|
||
|
||
| Módulo | Estado observado nesta instalação |
|
||
|---|---|
|
||
| Comercial | Cliente/serviço novos explicitamente associados; rascunho, perfis e série revistos; documento de teste862,07+137,93=1000MZN e PDF íntegro. |
|
||
| Compras | C01–C10 anterior preservado; não reexecutado. A obrigação original100MZN continua no livro nativo, sem cópia para o host. |
|
||
| Stock | Leitura do mesmo livro físico; saídas, transferência imediata, contagem sem lotes e aplicação da diferença pelos writers originais; segundo artigo/armazém QA explícitos. |
|
||
| Oficinas | Ordem, autorização, tarefa,105min de trabalho e material2UN, com conferência técnica distinta; custo275 validado, sucessor295 validado e contabilizado por par de correcção. |
|
||
| Financeiro | Recebível1000, afectações400/600, reversão400 e saldo400; fornecedor100→80 após afectação20→100 após reversão20. Facto de pagamento confirmado isoladamente não abate dívida. |
|
||
| Contabilidade | Um diário nativo com âmbito SGF empresa2/unidade2;13 lançamentos equilibrados, incluindo fornecedor, afectações/reversões, vendas, custos directos e industriais e os dois pares de correcção. Lote1800→1820 mantém residual300 separado. |
|
||
|
||
As operações de continuação financeira, revisão e lançamento foram executadas pela API HTTP da própria8085, com sessões separadas e confirmações individuais. A preparação Comercial/Oficinas/industrial usou os workflows efectivos no destino, com funções sintéticas existentes e transacções próprias. Não se apresenta essa preparação por CLI como percurso visual do utilizador.
|
||
|
||
## Integridade e isolamento
|
||
|
||
O diário está no livro financeiro nativo existente. A origem financeira conserva o âmbito legado1/0/0; uma ligação explícita e conferida ao host qualifica o diário1/2/2. Leituras/efeitos são bloqueados se aparecer obrigação sem ordem/requisição admitida para a unidade. Nenhuma dívida, saldo ou movimento é espelhado no host.
|
||
|
||
A transacção da empresa no host mantém a autoridade e as origens de Comercial/Oficinas estáveis até ao commit nativo. As decisões verificam novamente pessoa, direitos, contexto, origem e versão. O diário só lê factos do host; não há transacção distribuída que grave simultaneamente dois efeitos de negócio. O histórico nativo retém autor SGF, âmbito, chave, hash do pedido, fundamento e resultado.
|
||
|
||
Materiais directos/industriais deste recorte são explicitamente artificiais e distintos do artigo escolhido para valorização. O perímetro privado está fixado por SHA; origem desconhecida, partilhada ou alterada bloqueia a continuidade. Esta declaração controlada de QA não constitui valorização geral de materiais reais ou de produção. O comportamento exclusivo anterior do núcleo conserva-se fora desta composição explícita.
|
||
|
||
O isolamento de código da8085 foi corrigido: o autoload de `App` utiliza a cópia privada, mesmo com o directório de dependências partilhado. Foram instalados52 ficheiros seleccionados e um build privado, com cópias anteriores. O bootstrap que montaria o conector SGC não foi copiado. O pacote original fixado de Compras e os seus bindings originais permanecem intactos. A conta de leitura de Stock conserva SELECT-only; o mapa adicional apenas discrimina funções/armazéns QA autorizados.
|
||
|
||
## Provas dirigidas
|
||
|
||
O índice `docs/proofs/sgf-single-integration-20261110.json` referencia os resultados privados, sem credenciais ou dados privados.92 verificações dirigidas:23 de direitos/isolamento/idempotência dos perfis;15 leituras HTTP dos módulos;10 fronteiras HTTP, CSRF e recuperação;12 de recuperação dos formulários em DOM simulado; nove do controlador de taxas; sete de custo directo/correcção; seis industriais/correcção; cinco do perímetro de materiais; cinco de bloqueio/recuperação financeira. As provas anteriores de Compras e do núcleo foram reutilizadas, não repetidas por rotina.
|
||
|
||
O bloqueio concorrente observado é a linha de empresa do host, que serializa autoridade/origens antes de entrar no livro nativo. Uma segunda ligação atingiu o limite de aproximadamente5s, devolveu503 com `Retry-After:5`, e a mesma autoridade pôde continuar após a libertação da primeira transacção. Não criou pagamentos. Este ensaio não equivale a uma nova corrida de duas confirmações de escrita nem mede capacidade sustentada.
|
||
|
||
A primeira conferência de perfis desta etapa falhou porque o harness antigo exigia exactamente dois clientes e ignorava os direitos mínimos de leitura entre módulos. Foi corrigido para comparar os direitos aprovados e preservar clientes/associações antes/depois;23 verificações passaram. A preparação industrial de regressão inicialmente incluiu referências de taxas no mapa de cinco origens. Esse metadado novo, ainda sem lançamento, foi corrigido apenas nessa regressão, com estado anterior/posterior privado; a8085 recebeu o mapa correcto. Não se alteraram provas antigas para as fazer passar.
|
||
|
||
## Trabalho ainda necessário para o fecho integral
|
||
|
||
1. Ligar o consumo/devolução de Oficinas ao mesmo livro físico, com origem, limite e recepção distintos; concluir na8085 o ciclo físico2/-1/+0,5 e valorização100/50/25. Os custos já demonstrados usam materiais QA separados; não fingir essa ligação física como concluída.
|
||
2. Concluir as continuidades previstas na matriz que ainda usam o adaptador antigo: documento comercial de origem de Oficina e comprovativos/entradas específicas do diário. A origem individual no novo diário funciona; nem todos os atalhos anteriores foram adaptados.
|
||
3. Concluir a conferência do fecho QA após resolver todas as origens/pendências. Não fechar antecipadamente o período com cenários em falta. A paginação do catálogo de origens ficou entretanto concluída: filtros por família, páginas25/100 no servidor e selecção individual preservada. O catálogo de Stock pagina os movimentos antes de aplicar o filtro de tipo; pode mostrar páginas vazias para um tipo e explica a paginação física, sem omitir ou escolher outra origem.
|
||
4. Concluir revisão visual, ensaio de arranque/recuperação completo e guião único. Transferência em trânsito, contagens por lotes e restantes recortes indicados na matriz conservam os seus limites.
|
||
|
||
A conferência de estruturas foi actualizada para consultar o host e o livro nativo canónico; já não apresenta dívida/diário como ausentes só por não estarem no host. Não faltam as tabelas mínimas dos seis módulos. Isso não comprova todas as funcionalidades: o gate continua `client_presentable:false`, sem aceitação integral nem capacidade de implantação declarada.
|
||
|
||
Preservados os seis registos protegidos, a cache cuja limpeza foi bloqueada, exemplos e provas anteriores, direitos reais e trabalho alheio. Sem novas bases, portas, demonstrações, roles PostgreSQL, publicação, candidata de Compras, checkpoint ou activação SGC. As flags disponibilizadas são apenas as deste recorte SGF privado expressamente autorizado.
|
||
|
||
Adenda de paginação:127 metadados de catálogo adicionais e um de unidade estrangeira, somente na transacção de regressão revertida. São fixtures de catálogo, não ordens executadas nem custos elegíveis. Foram percorridas seis páginas de25 e duas de100, cada uma com COUNT e SELECT limitado, sem duplicação nem exposição da unidade estrangeira;275 asserções, que não devem ser apresentadas como275 percursos de negócio. Duas leituras HTTP confirmaram o HTML filtrado e a segunda página na8085. O primeiro probe HTTP não consumia o corpo e atingiu uma asserção do cliente Node; o harness corrigido consumiu as respostas e ambas passaram. Não se atribui essa falha ao servidor nem à aplicação.
|