docs: record S1 and S2 QA results and directed S3 file checks

This commit is contained in:
2026-10-24 11:30:59 +02:00
parent 65b87819a0
commit d044ef1efc
3 changed files with 118 additions and 12 deletions
@@ -2089,5 +2089,97 @@
"AUD-SIM-INT07",
"AUD-SIM-INT08"
]
},
"closure_qa_20261024": {
"status": "S1_S2_QA_passed_S3_native_pdf_pending",
"authorization": "Tempo execute S1/S2 jointly in QA, then S3; no fiscal rule changes; candidate for existing Git integration",
"functional_candidate": "65b87819a0629f79f415788a6aa1a16fe031e37e",
"branch": "codex/simulator-closure-qa-20261024",
"preserved_reference": "276d833a4b4f9071db328b653f48529b2dfac4f9",
"integrated_main": false,
"homologation_deployed": false,
"S1": {
"status": "corrected_and_demonstrated_QA",
"snapshot_version": 2,
"currency_origin_preserved": true,
"original_USD_to_project_MZN": "guarded; report/panel retain USD, IVA refuses reuse as MZN",
"explicit_resolution": "Restore original currency on project; unknown legacy origin requires explicit currency confirmation only",
"legacy_v1_inputs_preserved": true,
"private_draft_roundtrip_passed": true
},
"S2": {
"status": "corrected_and_demonstrated_QA",
"method": "GET same admitted execution ID, credentials same-origin; wrong response ID rejected",
"new_admissions_disabled": true,
"visual_read_requests": 1,
"visual_create_requests": 0,
"real_API_owner_read_and_wrong_owner_denial": true,
"execution_count_preserved": true,
"rule_version_fingerprint_unchanged": true
},
"S3": {
"status": "final_CSV_Word_print_source_verified_native_PDF_pending",
"artifact_inspection": {
"files": {
"monthly-final.csv": {
"bytes": 10639,
"sha256": "0b5fc670b0c252391aa99c0bff4e21af1e7a7b9c3a0e4ac6e2e2359a647d8a0e"
},
"monthly-final.docx": {
"bytes": 14101,
"sha256": "f83629e6ed3090a0d99d4843b11d4388048a6c993d2e1f7fabd87282bf0c2b38"
},
"monthly-final.html": {
"bytes": 11530,
"sha256": "09d40095550cae9bfdd29fcb5c6c7e0ad825a26170997a23347a8320a352b3a7"
}
},
"same_frozen_monthly_fields_verified": [
"160.0048",
"320.0096",
"1160.0348",
"2320.0696",
"MZN",
"opportunity:309",
"Manica",
"2026-01-01",
"2026-04-01",
"Fonte sintética QA",
"IVA-GERAL-BASE-LIQUIDA"
],
"csv_rows": 73,
"first_opportunity_not_included": true,
"fiscal_calculation_repeated": false,
"native_pdf_status": "awaiting_saved_file; request already sent"
},
"native_pdf_expected_path": "C:/laragon/www/portal-investidor/outputs/simulator-closure-qa-20261024/monthly-final.pdf",
"user_response": "Will save at requested path",
"HTML_is_not_native_pdf_proof": true,
"fixture": "Explicit synthetic QA, frozen accepted monthly numbers; not legal validation or real-rule publication"
},
"checks": {
"frontend_new_cases": 4,
"frontend_total_direct_dependencies": 12,
"frontend_passed": 12,
"API_tests": 2,
"API_assertions": 23,
"QA_database": "simulator_fiscal_delta_20261021_test",
"QA_port": 55441,
"QA_transactions_rolled_back": true,
"typescript": "passed",
"build": "passed",
"diff_check": "passed"
},
"unchanged": [
"Fiscal server/evaluator/rules/sources",
"Schema/configuration/permissions/routes",
"Active business data",
"Accepted stabilization and opportunity-context closures"
],
"remaining": [
"Read and visually inspect saved native monthly PDF; do not regenerate accepted PDFs"
],
"ready_for_integration": false,
"new_taxes_added": false
}
}
@@ -1,5 +1,19 @@
# Rastreabilidade, utilização e formação
## Simulador S1/S2/S3 — candidata QA `65b87819`, 24/10/2026
Execução autorizada pela Tempo após `be62783b`, preservando `276d833a` e a etiqueta `reference/stabilization-20261024`. Ramo `codex/simulator-closure-qa-20261024`; **não integrado em main nem entregue na homologação**. Cinco fontes frontend alteradas; sem alterações em motor/regras/fontes fiscais, schema, configuração, permissões, rotas ou dados activos. Sem impostos adicionais.
| Recorte | Correcção e resultado dirigido |
| --- | --- |
| **S1 — corrigido e demonstrado em QA** | Novos snapshots de tesouraria v2 conservam moeda de origem. Painel, CSV próprio e relatório usam essa moeda; o fallback de vendas para IVA recusa divergência. USD → MZN conserva `123 USD`, explica a diferença e permite restaurar USD no projecto por acção explícita. Os montantes não são convertidos nem reinterpretados. Snapshots v1 continuam legíveis; moeda sem origem recuperável exige confirmação única, conservando valores/modo/meses vazios. Não se presume MZN. A observação visual detectou um rótulo residual de saldo na moeda actual; corrigido para a moeda de origem. O rótulo do selector passou a «Moeda do projecto», distinguindo-o dos pressupostos guardados. |
| **S2 — corrigido e demonstrado em QA** | Recuperação mensal usa GET no mesmo ID, com credenciais e verificação do identificador devolvido; não depende da disponibilidade para novas admissões. Botão específico continua disponível com consumidor desligado. Resposta não substitui snapshot alterado entretanto ou componente desmontado. Interface isolada: consumidor indisponível, uma consulta GET, zero criações POST, mesma execução concluída. API real de QA: execução admitida → consumidor desligado só na configuração do teste → mesmo ID em fila/concluído; outra conta continua recusada e contagem de execuções não aumenta. Regras existentes reutilizadas, sem criar/publicar/suspender regra; fingerprint integral das versões igual. |
| **S3 — CSV/Word e fonte de impressão conferidos; PDF nativo ainda pendente** | Mesmo bloco mensal sintético congelado, sem recalcular: Janeiro `160.0048`, Fevereiro `320.0096`, Março zero, Abril sem informação; MZN, oportunidade `309`/Manica, período Janeiro–Abril/2026, fonte identificada como sintética QA e versão 4. CSV e Word finais lidos e comparados, incluindo ausência da primeira oportunidade/Sofala. A fonte HTML conserva os mesmos dados. O relatório está aberto no Edge e a Tempo indicou que guardará o PDF em `outputs/simulator-closure-qa-20261024/monthly-final.pdf`; falta ler e renderizar esse ficheiro para conferir apenas a paginação do bloco. HTML não substitui essa prova. |
Provas: quatro testes novos em `simulator-closure-scope.test.mjs`, mais oito casos das dependências directamente afectadas, **12/12 aprovados**; `SimulatorClosureRecoveryTest`, **2 casos/23 asserções**, transacções revertidas no clone nominal `simulator_fiscal_delta_20261021_test:55441`. TypeScript e build aprovados. As suites de aceitação não afectadas, ZIP, cálculos fiscais, PDFs/rodapé anteriores e contextos por oportunidade são reutilizados; não se exigiu à Tempo repetir essas provas. O ensaio visual usa componentes reais com transporte simulado explicitamente identificado, complementado pelo teste API de permissões; não é apresentado como servidor real ou processo na homologação.
Artefactos novos: `outputs/simulator-closure-qa-20261024/` — CSV/Word/HTML finais, snapshot congelado, inspecção/hash dos ficheiros, captura de recuperação e resultados dos testes. O estado executado fica no recibo integrado existente, chave `closure_qa_20261024`, e nas mesmas oito linhas da matriz. **Limite corrente:** S1/S2 em QA; S3 aguarda somente o PDF nativo guardado. A candidata não é declarada pronta para integração enquanto faltar essa conferência. Os seis pares legados e os dois originais incompletos não têm dependência efectiva neste lote.
## Simulador — âmbito de fecho reconciliado e lote proposto, 24/10/2026
Pedido expresso da Tempo após a referência `276d833a`/`reference/stabilization-20261024`, confirmada segundo o relatório, sem lhe atribuir leitura do recibo local. Esta passagem é **análise e proposta**, sem correcção funcional, integração, nova publicação/activação fiscal ou alteração de dados. A ordem de referência mantém-se. Não se acrescentam impostos nem se reabre o lote de estabilização.
File diff suppressed because one or more lines are too long