This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
{
|
||||
"date": "2026-10-23",
|
||||
"status": "executable_correction_verified_in_isolated_qa_not_installed",
|
||||
"functional_commit": "4a01e9e2b7362282f844a8c6e0b26380ab0b71e0",
|
||||
"branch": "codex/opportunity-consumer-scope-20261023",
|
||||
"diagnosis_commit": "ad4160f0",
|
||||
"preserved_delivery": "d8224ba8",
|
||||
"preserved_closes": [
|
||||
"6b544548",
|
||||
"4098192a"
|
||||
],
|
||||
"cause_and_correction": {
|
||||
"parks": "Per-choice park reference and validation against that choice corridor and territory. Own lookup refreshes on own corridor/site. Previous common park is retained on its original first choice when reading legacy data.",
|
||||
"consumer_scope": "Explicit opportunity key is resolved within the authorised dossier. Known fiche entry retains that key; multiple choices without a key show a chooser and propose only common data. No positional fallback for the three consumers.",
|
||||
"persistence": "Canonical server-generated snapshot in each existing encrypted payload: identity, territory, corridor, park, source/version and scoped requirements. Client snapshots are replaced; foreign dossier identities are rejected.",
|
||||
"fields": "Existing inheritance reconciliation retains deliberate local edits and parcel details. Returned desk request field restrictions retain locked association/snapshot.",
|
||||
"reporting": "Land printable report displays saved identity and context; desk receipt displays saved scope; manifestation revision and intake metadata retain canonical association; common dossier report rows pair each park with its own opportunity."
|
||||
},
|
||||
"qa": {
|
||||
"database": "simulator_fiscal_delta_20261021_test",
|
||||
"port": 55441,
|
||||
"browser": "Edge",
|
||||
"url": "http://127.0.0.1:18574",
|
||||
"actor_id": 509,
|
||||
"new_case": "1017980b-a61c-44a4-b8d5-bd909c2d1316",
|
||||
"first_choice_exactly_preserved": true,
|
||||
"second_change": "309: Gaza/Limpopo/QA Gaza park -> Manica/Beira/QA Manica park",
|
||||
"consumers": {
|
||||
"land": {
|
||||
"key": "opportunity:309",
|
||||
"territory": "Manica",
|
||||
"park": "SYNTHETIC QA — parque de ensaio Manica",
|
||||
"context_revision": 2,
|
||||
"requirement_keys": [
|
||||
"opportunity:309"
|
||||
]
|
||||
},
|
||||
"desk": {
|
||||
"key": "opportunity:309",
|
||||
"territory": "Manica",
|
||||
"park": "SYNTHETIC QA — parque de ensaio Manica",
|
||||
"context_revision": 2,
|
||||
"requirement_keys": [
|
||||
"opportunity:309"
|
||||
]
|
||||
},
|
||||
"submission": {
|
||||
"key": "opportunity:309",
|
||||
"territory": "Manica",
|
||||
"park": "SYNTHETIC QA — parque de ensaio Manica",
|
||||
"context_revision": 2,
|
||||
"requirement_keys": [
|
||||
"opportunity:309"
|
||||
]
|
||||
}
|
||||
},
|
||||
"temporary_fixtures": "Three clearly marked synthetic parks only in isolated QA. Existing opportunity identities 286/309 reused; no new opportunity or service. Accepted complements case left intact."
|
||||
},
|
||||
"checks": {
|
||||
"feature_tests": 4,
|
||||
"feature_assertions": 104,
|
||||
"frontend_tests": 3,
|
||||
"typescript": "passed",
|
||||
"build": "passed",
|
||||
"browser": [
|
||||
"second-only edit, park options, confirmation and recovery",
|
||||
"land entry from identified second choice, save, recovery and printable report",
|
||||
"desk scoped entry, draft save and reload",
|
||||
"manifestation from existing fiche, explicit dossier binding, draft save and reload",
|
||||
"unscoped multi-choice entry asks for a choice; selecting second recovers its Manica scope"
|
||||
],
|
||||
"additional_checks": [
|
||||
"canonical snapshot rejects client forgery",
|
||||
"foreign identity and other actor rejected",
|
||||
"intermediate unknown territory draft recovered without restoring the source location",
|
||||
"returned request preserves locked association",
|
||||
"desk receipt template renders canonical second scope; manifestation revision retains association; report park rows retain both identities"
|
||||
],
|
||||
"limits": [
|
||||
"No external submission or institutional decision was made. Desk receipt template was exercised with an isolated transaction fixture, not claimed as a real receipt.",
|
||||
"Land HTML printable report was visually checked; no new native PDF export acceptance is claimed.",
|
||||
"Accepted complement functional evidence was reused; no new visual round of those cases.",
|
||||
"Initial test invoker used default arguments and started the default suite; it was interrupted and fixed to target this file. That incomplete run is not acceptance evidence."
|
||||
]
|
||||
},
|
||||
"preservation": {
|
||||
"protected_files_unchanged": {
|
||||
"app/Services/InvestmentComplements.php": true,
|
||||
"resources/js/components/investment-complements.tsx": true,
|
||||
"docs/investmoz/unification/continuity-corrections-installation-receipt-20261023.json": true
|
||||
},
|
||||
"accepted_case_choices_and_sites": true,
|
||||
"accepted_complements_retained": 4,
|
||||
"migrations": 0,
|
||||
"content_imports": 0,
|
||||
"active_database_writes": 0,
|
||||
"publication_changes_in_homologation": 0,
|
||||
"qa_fixtures_shipped": false
|
||||
},
|
||||
"homologation": {
|
||||
"unchanged": true,
|
||||
"served_commit": "d8224ba84b56482e0291bc18bb1c9c29316b19b9",
|
||||
"main_not_updated": true
|
||||
},
|
||||
"evidence_directory": "outputs/multi-opportunity-fix-20261023",
|
||||
"evidence_sha256": {
|
||||
"desk-recovered.txt": "a294e3d1a439e7ff42b66c59e9b4edc4a960a606384880faba02b78a4da884cc",
|
||||
"explicit-choice-selected.txt": "f2a7432816b3b39881111ea7f4ccb2ac29a586ac407e5cd1a0f54f9b901cd359",
|
||||
"explicit-choice.txt": "437ea9df20c437b8781c2279c8aa0f847a4dc45ffb1d3d0b455e4520b2c38297",
|
||||
"land-report.png": "a586050af1f58d279fe2733f03861bf8f8d4e3f76e5076aee2e013a9ca7f4802",
|
||||
"land-report.txt": "b274f72934d4717ffc08c75dc6574840b7f0b0ec0e6e987ebc52ce1fa56549e5",
|
||||
"submission-recovered.png": "5dc5da5ff7bdb48a06649fd287e5c22f606e8bcc8035331821c0cd0c4cc0668e",
|
||||
"submission-recovered.txt": "ac64e391cdaaa59a479e0ff3a829dc6daddf40d0d28b89a940cdfc35f223d6e1",
|
||||
"verified-state.json": "a709caae0e6877128848dbb51d7bca929fd8457ace4331a565b422edef4e290f",
|
||||
"visual-fixture.json": "6828f245430b938f0f6253186e81211af26641d959af0d7321d7c0d51bec5d55"
|
||||
},
|
||||
"transversal_status": "partial; this receipt covers the four named QA consumers only"
|
||||
}
|
||||
@@ -1,5 +1,29 @@
|
||||
# Rastreabilidade, utilização e formação
|
||||
|
||||
## Oportunidade em tratamento — correcção executável QA dos quatro trechos, 23/10/2026
|
||||
|
||||
Pedido expresso da Tempo: corrigir as falhas confirmadas em `ad4160f0`, sobre a versão actual e preservando os complementos entregues em `d8224ba8`. Implementação `4a01e9e2` na branch `codex/opportunity-consumer-scope-20261023`. [Recibo QA](multi-opportunity-context-qa-receipt-20261023.json). Esta passagem supera o estado «não corrigido» do diagnóstico apenas nos quatro trechos aqui demonstrados; o diagnóstico histórico permanece preservado.
|
||||
|
||||
Cada oportunidade guarda agora a sua própria referência de zona/parque. A consulta e a compatibilidade usam o corredor e o território dessa oportunidade; alterar a segunda actualiza apenas as suas opções. O parque comum de registos anteriores é recuperado na primeira identidade a que pertencia. O rascunho permite conservar uma localização ainda por escolher após a mudança de corredor, sem repor silenciosamente a localização documental incompatível.
|
||||
|
||||
Terra/DUAT, Balcão e manifestação resolvem a oportunidade em tratamento pela identidade dentro do dossier autorizado. A entrada identificada na ficha/ligação transporta essa identidade; a manifestação mantém a identidade da ficha de origem ao associar o dossier. Sem escolha e com várias oportunidades, a interface pede uma selecção clara e propõe dados comuns, sem adoptar o território da primeira. Os links por oportunidade no dossier e na ficha dão entrada em Terra/DUAT e no Balcão. A reconciliação existente conserva edições deliberadas e detalhes locais das parcelas; os limites dos pedidos devolvidos no Balcão mantêm-se. O resumo geral de um dossier múltiplo deixa de apresentar a primeira como se fosse necessariamente a oportunidade em tratamento.
|
||||
|
||||
O servidor guarda no payload cifrado existente de cada pedido uma associação canónica: oportunidade, corredor, localização, parque, origem/versão e requisitos dessa oportunidade. Um snapshot enviado pelo cliente não substitui a origem autorizada. A manifestação conserva também a coluna de oportunidade coerente com a escolha e a associação nas versões/intake. O relatório imprimível de Terra/DUAT apresenta a associação guardada; o recibo do Balcão apresenta o contexto congelado; o modelo comum do relatório conserva cada parque junto da respectiva identidade.
|
||||
|
||||
| Prova dirigida | Resultado |
|
||||
| --- | --- |
|
||||
| Alterar apenas a segunda | Novo dossier sintético QA `1017980b-a61c-44a4-b8d5-bd909c2d1316`: segunda `309`, Gaza/Limpopo/parque QA Gaza → Manica/Beira/parque QA Manica pela interface, com motivo, confirmação, gravação e recuperação. Primeira `286` continua em Sofala/parque QA Sofala, exactamente igual à sua estrutura inicial por comparação integral. |
|
||||
| Terra/DUAT | Entrada pela ligação da segunda, gravação e recuperação do pedido `01a16967-f058-7353-a7bc-33839b3c6595`. Identidade 309, Manica, parque Manica e requisitos próprios recuperados. Relatório HTML imprimível aberto e conferido visualmente com a mesma associação. |
|
||||
| Balcão | Entrada com a segunda identificada; pedido `c3de8e43-701b-46bd-a016-64adc32e2394` preparado, guardado e recarregado. Mesma identidade, Manica, parque e requisitos. O template de recibo foi verificado em teste transaccional, sem inventar uma submissão real. |
|
||||
| Manifestação | Preparada a partir da ficha existente da segunda; dossier associado pela interface. Pedido `01a16968-e3d2-728a-b28a-2fb05540509e` guardado e recarregado com 309/Manica/parque/requisitos. A versão guardada conserva o vínculo. Não houve submissão externa. |
|
||||
| Várias sem escolha | Entrada Terra/DUAT apenas com o dossier apresenta a escolha de oportunidade, sem localização da primeira. Selecção explícita da segunda recupera Manica, o seu parque e os seus requisitos. |
|
||||
|
||||
Ambiente: Edge, `127.0.0.1:18574`, actor sintético normal QA 509 e guarda efectiva de `simulator_fiscal_delta_20261021_test:55441`. Reutilizadas as oportunidades QA existentes; preparados **três parques expressamente SYNTHETIC QA**, só na base isolada, para conferir opções positivas e incompatibilidade. Nenhuma oferta, oportunidade, serviço ou publicação real foi criado por essa preparação. O dossier aceite dos complementos conserva as três oportunidades/localizações e quatro relações, sem repetir os seus casos funcionais.
|
||||
|
||||
Validação final: **4 testes de integração, 104 asserções; 3 testes frontend dirigidos; TypeScript e build aprovados**. Cobertos também identidade alheia/actor alheio, snapshot forjado, conservação de edições deliberadas, parcela, rascunho territorial incompleto e associação bloqueada num pedido devolvido. Provas: `outputs/multi-opportunity-fix-20261023/verified-state.json`, textos recuperados e `land-report.png`; hashes no recibo. O ensaio do relatório é HTML imprimível, sem alegar nova aceitação de PDF nativo.
|
||||
|
||||
**Disponibilidade:** correcção executável e demonstrada em QA; `main` e homologação continuam em `d8224ba8`. Sem migration, importação ou escrita activa. Não se transportam as fixtures. Complementos e fechos `6b544548`/`4098192a` preservados. A aplicação transversal fora deste recorte continua parcial; não se declara fecho global nem aceitação organizacional nova. Actualizadas apenas as evidências de AUD-LEG-06 e AUD-SIM-INT03 na matriz existente.
|
||||
|
||||
## Contexto específico por oportunidade — conferência delimitada, 23/10/2026
|
||||
|
||||
Pedido da Tempo: complementos entregues em `d8224ba8`, sem pendência de disponibilização nem repetição dos seus casos ou dos fechos `6b544548`/`4098192a`. Conferida a alteração apenas da segunda oportunidade nos percursos ainda parciais. [Recibo técnico](multi-opportunity-context-review-20261023.json).
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user