# Lote industrial → Contabilidade — entrega sintética local Continuação posterior expressamente autorizada e [entregue em bases novas: correcção1800→1820](GENERAL_LEDGER_INDUSTRIAL_CORRECTION_DELIVERY.md). As exclusões de correcção abaixo descrevem o âmbito original desta entrega e continuam na demo8058; a capacidade nova existe só na8059 e nas suas bases de prova. Manifestos anteriores conservam o estado histórico. 03/11/2026. `COMMON-LEDGER-INDUSTRIAL-SIM-v1`, autorizado expressamente por **«Autorizar o ciclo industrial sintético proposto»**. Recorte aprovado preservado por hash; sem aceitação ou checkpoint presumidos. **Implementado:** resultado industrial efectivamente preparado/validado pelo módulo proprietário → captura com impacto → revisão contabilística distinta → aplicação única pelo escritor comum → diário/balancete/razão → conferência e fecho QA conjunto. Demonstração inicial separada: **http://127.0.0.1:8058/qa/cost-demo**. ## Origem e impacto `IndustrialCostFixture` executa os workflows de `IndustrialCosts`, com identidades distintas para preparar e validar entradas, taxas e critério. Calcula-se e valida-se explicitamente o resultado:20KG×50=1000 material;300MIN÷60×100=500 trabalho; conjunto CIF600/capacidade10HM×utilização5HM=300 imputados. Total1800MZN;10UN;180/UN. **Residual300 separado e não lançado.** As aprovações positivas não são fabricadas por SQL. `IndustrialCosts::conference` confere um lote e o resultado actual, incluindo o produto, entradas/versões, taxas, critério, decisões e validade das dependências, sem carregar a listagem industrial inteira ou obter bloqueio de escrita. `IndustrialLedgerSource` conserva esta evidência na fotografia da origem. Exige resultado vigente completo aprovado distintamente, produção concluída e valor exacto representável em cêntimos; não arredonda ou transforma800 conhecidos sem taxa material num total. O escritor `PayableJournal` existente aplica **D QA-CUSTO-INDUSTRIAL1800 / C QA-COMPENSACAO-INDUSTRIAL1800**, em duas linhas. Usa a transacção/bloqueio de empresa, autorização actual, revisão exacta, idempotência, histórico e guardas QA existentes. Não há segundo motor, processamento da outbox ou efeito financeiro adicional. A identidade do efeito é estável por lote/perímetro, mesmo se o resultado ganhar outra versão. Um resultado já lançado que muda fica `requires_future_correction`; não se criou correcção industrial por consequência desta entrega. O período contabilístico tem de conter o período completo do lote. O fecho inclui todas as fontes explicitamente compostas, revalidando permissões e dependências industriais mesmo quando o montante continua1800. Perda de acesso, origem pendente ou versão alterada exige nova conferência. ## Composição e consulta Nova base/role de demonstração e bases distintas de regressão no cluster55439. O instalador industrial exige livro novo vazio e cria apenas a selecção imutável dos perímetros QA; não migra instalações anteriores. Guardas SQL de custeio industrial são configuradas para a identidade exacta dessas bases novas, preservando os bloqueios no destino. A capacidade `industrial_ledger.synthetic_enabled` fica desligada por omissão. O painel conjunto passa a incluir lotes industriais apenas quando essa capacidade foi explicitamente composta. Páginas independentes de25; resultados/decisões/lançamentos são lidos em conjuntos por página, sem conferência por cartão. Os cartões distinguem metadados registados de uma conferência actual. Sem `industrial_costs.view`, o painel não revela linhas ou contagens, e não expõe formas de fecho. Origem indisponível falha explicitamente. A página do lote, diário genérico e razão mantêm ID industrial tipado e ligações à evidência; não apresentam lote como dívida de fornecedor. Reutilizam-se apenas direitos existentes: preparador industrial `.view/prepare`, validador `.view/validate`, leitor `.view`, mais os direitos contabilísticos/contextuais já autorizados. As concessões existem exclusivamente nas fixtures novas. Sem novos direitos públicos/reais ou associação de privilégios a pessoas reais. O módulo proprietário impede reutilizar `source_ref` entre lotes. A ligação contabilística recusa origens seleccionadas que coincidam com perímetros de custo directo; o adaptador directo também confere a composição industrial quando activada. São origens sintéticas distintas. Isto não constitui um adaptador de stock ou prova de equivalência de referências empresariais legadas. ## Resultados e provas Manifesto: [common-ledger-industrial-20261103.json](proofs/common-ledger-industrial-20261103.json). | Prova | Resultado | |---|---| | Regressão `1aa5762a0c16` | 8 casos/31 verificações em rollback: exactidão, parcialidade, dependências, direitos/pessoa, contexto elegível de tenant/empresa/unidade diferente, quatro pontos de falha, recuperação, duplicação, sobreposição directa, mapeamento imutável e páginas25+1 | | Limites adicionais na mesma base | 5 casos/10 verificações em rollback: resultado não aprovado, total racional1800,0000002 sem arredondamento, produção não concluída, critério pendente, origem reutilizada entre lotes, sucessora de resultado já lançado e período incompatível | | HTTP real | 43 verificações: autenticação, CSRF, contexto/módulo, filtros, impacto, preparador/validador distintos, revisão antiga, repetição, razão/diário tipados e recusa de fecho com outras fontes pendentes | | JavaScript industrial renderizado | 5 verificações em Node VM: IDs numéricos, revisão textual exacta, datas/período, chave estável, nova chave para novo fundamento e apresentação/recuperação de recusa | | Percurso conjunto | 33 verificações em `1aa5762a0c16`, após o HTTP industrial; nove lançamentos/19 linhas e fecho único, incluindo perda de direitos industriais e sucessora industrial do mesmo valor antes de fechar | | Concorrência `e3009c989fb2` | 6 processos reais:1 leitor e5 escritores. Espera no bloqueio da empresa, cadeia até à transacção detentora observada em `pg_stat_activity`; leitor termina antes da libertação; versão industrial alterada/confirmada causa409 depois da libertação; duas aplicações recuperam o mesmo lançamento e dois fechos recuperam o mesmo fecho | | Demo `072ef8124ab4` | 40 verificações de três perfis, links efectivos e controlos; quatro delas simulam o formulário do período em Node VM. Sem comandos de negócio. Hash antes/depois confirma fontes/outbox/direitos preservados, sem lançamento industrial ou fecho | **162 verificações dirigidas**, incluindo9 verificações simuladas de formulário, mais a prova de6 processos concorrentes. Os13 casos de regressão são transaccionais e não consomem a demo. A primeira execução do teste adicional de produção apanhou uma `ValidationException` esperada que o auxiliar não capturava; corrigiu-se o auxiliar, preservando o comportamento de recusa do produto, antes de gerar a prova válida. | Resultado conjunto na regressão | Valor | |---|---:| | Vendas/recebíveis:4 lançamentos/9 linhas | Bruto2400 por lado; saldo cliente400 | | Custo directo e correcção:3 lançamentos/6 linhas | Bruto845 por lado; saldo custo295 | | Fornecedor:1 lançamento/2 linhas | Bruto60 por lado; dívida financeira60 | | Industrial:1 lançamento/2 linhas | Bruto1800 por lado; saldo industrial1800 | | **Conjunto:9 lançamentos/19 linhas** | **Débitos5105 = créditos5105MZN;1 fecho** | | Residual industrial | **300MZN fora do diário** | As conferências finais comparam a origem industrial actual com a fotografia lançada, validam o equilíbrio SQL e confirmam que toda a outbox industrial continua `captured_no_stock_or_accounting`. A comparação de hash dos fornecedores de período preserva o comportamento anterior quando o fornecedor industrial está desligado, incluindo a demo8057: três painéis, sem schema industrial e impressão digital original dos dados/direitos intacta. Provas antigas válidas e pacotes congelados são conferidos por hash, não repetidos ou substituídos. ## Limitações preservadas A demo8058 inicia-se com o custo directo275 lançado e fontes disponíveis de venda1000, fornecedor60, sucessor directo295 e industrial1800. Abertura de recebíveis, aplicações adicionais, correcção e fecho continuam por decisões individuais. As regressões consumidas estão em bases diferentes. Demos anteriores e comprovativos não foram repostos. Sem stock valorizado, folha salarial, contas ou enquadramento fiscal real, pagamentos novos, correcção industrial, reabertura, instalação no destino, activação de Compras ou publicação. Os seis registos protegidos e a cache bloqueada não foram usados ou alterados. Alterações alheias preservadas; credenciais permanecem fora do repositório. Revisão visual permanece pendente: HTTP e Node VM não são prova de navegador ou aceitação da equipa. Carga sustentada/concorrência em volume e capacidade de implantação continuam pendentes distintas; os ensaios pequenos não validam operação real ou a aplicação inteira. Não se acrescentaram experiências de índices nem se aplicaram índices no destino.