Regista aceitacao tecnica da navegacao modular SGF

This commit is contained in:
2026-11-02 08:37:00 +02:00
parent 2a4169162b
commit fcf0ada227
4 changed files with 100 additions and 0 deletions
+4
View File
@@ -1,7 +1,11 @@
# Navegação modular — regressão e perfis de desenvolvimento # Navegação modular — regressão e perfis de desenvolvimento
**Aceitação técnica expressa em 02/11/2026**, registada no [relatório de entrega](MODULAR_NAVIGATION_DELIVERY.md), com autorização de checkpoint exclusivamente local e limitado à entrega. Revisão visual, associações antigas pendentes e volume/paginação permanecem separados. Não autoriza publicação, direitos públicos novos ou activação de candidatas; Compras mantém-se em **0.1.1**.
Actualização de 01/11/2026 à [entrega inicial](MODULAR_NAVIGATION_DELIVERY.md). Concluídas as duas frentes técnicas: regressão da suite existente e configuração de perfis sintéticos num ambiente de desenvolvimento separado. A [revisão visual](MODULAR_NAVIGATION_VISUAL_REVIEW.md) continua pendente e separada. Actualização de 01/11/2026 à [entrega inicial](MODULAR_NAVIGATION_DELIVERY.md). Concluídas as duas frentes técnicas: regressão da suite existente e configuração de perfis sintéticos num ambiente de desenvolvimento separado. A [revisão visual](MODULAR_NAVIGATION_VISUAL_REVIEW.md) continua pendente e separada.
Conferência de **02/11/2026**: resultados e hashes dos JUnit confirmados; 184 ficheiros relevantes sem diferenças em relação à cópia validada; perfis e instância isolada preservados, com resposta HTTP 200. Concessões, pertenças, auditoria, guarda original e apontador de Compras conservam as impressões digitais da conclusão. Compras permanece instalado em **0.1.1**. Não se repetiram testes nem provisionamento, nem se modificaram associações ou permissões. Ver [evidência da retoma](proofs/modular-navigation-recheck-20261102.json).
## Isolamento e preservação ## Isolamento e preservação
Foi criado um cluster PostgreSQL próprio em loopback **55439**, identificado como `sgf_modular_regression_2576427d1939`. A aplicação principal, a demonstração anterior e a sua guarda de base permanecem no destino original; não foram paradas nem migradas para este cluster. Foi criado um cluster PostgreSQL próprio em loopback **55439**, identificado como `sgf_modular_regression_2576427d1939`. A aplicação principal, a demonstração anterior e a sua guarda de base permanecem no destino original; não foram paradas nem migradas para este cluster.
+28
View File
@@ -1,5 +1,33 @@
# Navegação modular SGF — implementação local, 01/11/2026 # Navegação modular SGF — implementação local, 01/11/2026
## Aceitação expressa e checkpoint exclusivamente local — 02/11/2026
O utilizador aceitou esta entrega técnica e autorizou o registo e um checkpoint Git local apenas deste incremento, sem credenciais, dados privados ou alterações alheias. A implementação já está preservada no histórico anterior; este checkpoint acrescenta a conferência, a precisão do âmbito e a aceitação, sem incorporar o trabalho paralelo de Compras.
O âmbito aceite compreende os seis módulos identificados abaixo, Início separado e configuração geral acessível em «Opções gerais», conforme as permissões. A aceitação considera a apresentação efectivamente entregue: não declara existente uma entrada única com o rótulo «Configuração», nem transforma as capacidades em preparação em operações concluídas.
Mantêm-se explicitamente pendentes: **revisão visual**, incluindo recarga das páginas autónomas e sem voltar à via de navegador bloqueada; **conferência humana das associações antigas**, que continuam sinalizadas e sem atribuição automática; **avaliação de volume e paginação** antes de implantação. A aceitação técnica não constitui aceitação visual, utilização real ou resolução dessas pendências.
O checkpoint é exclusivamente local. Não autoriza publicação, push, novas concessões públicas, novas operações reais ou activação de candidatas de Compras. O pacote instalado permanece **0.1.1**. As provas válidas anteriores são reutilizadas; não houve repetição de testes por este registo documental.
## Estado conferido em 02/11/2026
Identificação exacta confirmada no catálogo do servidor e na navegação: **Comercial (`commercial`), Compras (`purchasing`), Stock (`stock`), Oficinas (`workshop`), Financeiro (`finance`) e Contabilidade (`accounting`)**. Início e as opções gerais de configuração não são contados como módulos.
**Início** está nas opções gerais, separado da navegação do módulo, inclusive quando nenhum módulo foi seleccionado. A **configuração geral** também é independente do módulo activo: Empresa e Unidades são apresentadas com `company.view`; edição/criação e consulta de cada unidade mantêm os seus direitos próprios; Acessos e Associações de módulos exigem `access.manage`, além dos direitos específicos de cada operação. As rotas gerais mantêm autenticação/contexto de empresa e autorização no servidor, sem exigir selecção de módulo.
Precisão de apresentação: a interface actual chama a esta navegação **«Opções gerais»** e apresenta directamente Empresa, Unidades autorizadas, Associações de módulos e Acessos. **Não existe actualmente um botão ou submenu único com o rótulo «Configuração».** A Configuração documental permanece no módulo Comercial. Assim, está confirmada a separação funcional da configuração geral; uma entrada literalmente intitulada «Configuração» não pode ser declarada entregue sem ajuste de interface. Esta conferência não alterou o menu nem repetiu testes.
As duas frentes já estão concluídas: regressão integral da suite existente (**185 testes / 3 220 asserções**) e três perfis sintéticos de desenvolvimento configurados, com descoberta dos seis módulos e autoridade separada. A suite focada actualizada tinha sido aprovada com **8 testes / 90 asserções**. O isolamento por módulo, empresa e unidade e as recusas de acesso fazem parte das provas registadas na [conclusão técnica](MODULAR_NAVIGATION_COMPLETION.md).
A retoma comparou **184 ficheiros** de aplicação, configuração, rotas, recursos, testes e base com a cópia validada: não encontrou diferenças, além da normalização física de porta já documentada. Os hashes dos dois JUnit coincidem com os registados na entrega. Não foi necessário corrigir código, repetir testes, recriar a base ou provisionar perfis novamente.
As impressões digitais das concessões, pertenças e auditoria da instalação, a guarda original e o apontador instalado de Compras mantêm-se iguais às da conclusão. O pacote instalado permanece **0.1.1**, sem activação de candidata. A instância isolada `http://127.0.0.1:8039` respondeu à consulta HTTP de sessão com 200; não houve autenticação nova nem utilização de navegador nesta conferência.
Pendências que subsistem após a aceitação técnica expressa: [revisão visual separada](MODULAR_NAVIGATION_VISUAL_REVIEW.md), incluindo a recarga das páginas autónomas; conferência humana das associações antigas, que continuam sinalizadas e sem atribuição automática; avaliação de volume/paginação antes de implantação. Stock em preparação e guardas dos adaptadores de Compras continuam com os limites anteriores. Não há aceitação visual, publicação ou utilização real presumidas.
Evidência desta retoma: [conferência de 02/11/2026](proofs/modular-navigation-recheck-20261102.json). As secções seguintes preservam o relatório da implementação inicial e os seus estados históricos; a regressão e os perfis não são tarefas por concluir.
Actualização posterior: a regressão completa e os perfis de desenvolvimento isolados foram concluídos em [MODULAR_NAVIGATION_COMPLETION.md](MODULAR_NAVIGATION_COMPLETION.md). A [revisão visual](MODULAR_NAVIGATION_VISUAL_REVIEW.md) permanece separada. As pendências dessas duas frentes descritas abaixo correspondem ao estado da entrega inicial. Actualização posterior: a regressão completa e os perfis de desenvolvimento isolados foram concluídos em [MODULAR_NAVIGATION_COMPLETION.md](MODULAR_NAVIGATION_COMPLETION.md). A [revisão visual](MODULAR_NAVIGATION_VISUAL_REVIEW.md) permanece separada. As pendências dessas duas frentes descritas abaixo correspondem ao estado da entrega inicial.
Implementada a selecção explícita do módulo na sessão existente, navegação própria e opções gerais separadas. A página inicial mantém o conteúdo limpo anterior. Não há aceitação visual presumida, publicação, checkpoint Git ou activação de candidatas de Compras. Implementada a selecção explícita do módulo na sessão existente, navegação própria e opções gerais separadas. A página inicial mantém o conteúdo limpo anterior. Não há aceitação visual presumida, publicação, checkpoint Git ou activação de candidatas de Compras.
+4
View File
@@ -2,6 +2,10 @@
Registo separado, 01/11/2026. A revisão visual não foi executada nem aceite. Não houve nova tentativa de controlo de navegador pela via bloqueada. Registo separado, 01/11/2026. A revisão visual não foi executada nem aceite. Não houve nova tentativa de controlo de navegador pela via bloqueada.
Conferência de 02/11/2026: este estado mantém-se. A retoma foi documental, de integridade das provas e de disponibilidade HTTP; não incluiu navegador, capturas ou aceitação visual.
A aceitação técnica expressa e o checkpoint local autorizados posteriormente em 02/11/2026 não encerram esta revisão visual nem autorizam nova tentativa pela via bloqueada.
A compilação, renderização estática, testes PHP e verificações HTTP são provas técnicas; não substituem a observação da interface e a interacção da equipa. A compilação, renderização estática, testes PHP e verificações HTTP são provas técnicas; não substituem a observação da interface e a interacção da equipa.
Instância isolada para revisão futura: `http://127.0.0.1:8039`, com perfis sintéticos de preparação, revisão e consulta. Não usar as credenciais ou os dados da instalação pública. O acesso local está no ficheiro privado gerado pelo procedimento de configuração, fora do repositório e da raiz pública. Instância isolada para revisão futura: `http://127.0.0.1:8039`, com perfis sintéticos de preparação, revisão e consulta. Não usar as credenciais ou os dados da instalação pública. O acesso local está no ficheiro privado gerado pelo procedimento de configuração, fora do repositório e da raiz pública.
@@ -0,0 +1,64 @@
{
"date": "2026-11-02",
"scope": "Read-only recheck of completed delivery; no suites or provisioning repeated",
"prior_proof": "modular-navigation-completion.json",
"source_comparison": {
"directories": [
"app",
"config",
"routes",
"resources",
"tests",
"database"
],
"compared_files": 184,
"allowed_normalization": "55432 to 55439 only in staged PHP/SQL application, tests and database files",
"differences": []
},
"junit_hashes_match": {
"regression": true,
"focused": true
},
"reused_results": {
"regression": {
"tests": 185,
"assertions": 3220,
"errors": 0,
"failures": 0,
"skipped": 0
},
"focused": {
"tests": 8,
"assertions": 90,
"errors": 0,
"failures": 0,
"skipped": 0
},
"profiles": 3,
"modules_per_profile": 6
},
"installed_preservation_since_completion": {
"permission_grants": true,
"company_memberships": true,
"identity_audit": true,
"guard": true,
"purchasing_pointer": true
},
"purchasing": {
"installed_version": "0.1.1",
"candidate_activated": false,
"pointer_sha256": "81899e531e9eec449717e694d8bdc106a9e220a828f5491ce918c1d2dc612787"
},
"development": {
"url": "http://127.0.0.1:8039",
"http_status": 200,
"unauthenticated": true,
"profile_guard_matches": true,
"credentials_file_present": true
},
"tests_repeated": false,
"accounts_or_grants_created": false,
"associations_assigned": false,
"browser_control_retried": false,
"published": false
}