Files
SGF/README.md
T

4.9 KiB

SGF TEMPO

Primeiro percurso funcional local, sobre a fundação existente e o roteiro v0.9 de 25 de Outubro de 2026. Laravel modular com React, independente do InvesteMoz. Versões e lockfiles preservados; sem módulos financeiros, integrações externas ou publicação.

Estado: incremento local de entrada, contexto e permissões aceite e concluído pelo utilizador em 25 de Outubro de 2026, com os limites de IDENTITY_DELIVERY.md. Preservar esta base. Serviços mantém-se apenas em especificação; implementação financeira e publicação não estão autorizadas.

Abrir e parar

Em C:\laragon\www\sgf-tempo:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\sgf.ps1 start

Abrir http://127.0.0.1:8000. Se a porta estiver ocupada, o arranque recusa sem terminar processos. status mostra o estado; stop pára apenas os processos próprios registados e o cluster exclusivo. Não existe serviço Windows novo nem alteração global da política de execução.

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\sgf.ps1 status
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\sgf.ps1 stop

Primeira conta

Estado actual: a conta inicial de Osmane Nala já foi criada e verificada na Tempo Lda. Não repetir o comando de criação abaixo; conserva-se como registo do procedimento. Entrar com o email indicado e a palavra-passe definida localmente.

Sem utilizadores, o ecrã mostra «Falta concluir a primeira conta» e o procedimento local. A existência da aplicação não significa que haja uma conta criada. Não há palavras-passe por omissão nem administrador universal.

A operação inicial de Osmane Nala / Tempo Lda foi pré-visualizada e confirmada na sessão. Para a concluir, o utilizador deve executar no seu terminal local:

powershell.exe -NoProfile -ExecutionPolicy Bypass -File C:\laragon\data\sgf-tempo\run\complete-first-admin.ps1

O procedimento apresenta o âmbito já confirmado nesta sessão e solicita uma nova palavra-passe duas vezes com Read-Host -AsSecureString do PowerShell, mostrando apenas asteriscos. Não é necessário responder yes novamente. Não introduzir palavras-passe no chat, em argumentos ou no motivo. Só depois da confirmação e das duas entradas válidas são criados, atomicamente, o tenant, empresa, utilizador e concessões. Se for interrompido ou falhar, a criação não fica parcialmente aplicada. Não repetir depois de a conta existir.

Concluído o procedimento, actualizar o estado no navegador e entrar com a credencial definida localmente. A conta inicial tem apenas consulta/edição do nome da empresa, criação de unidades e gestão delimitada de acessos na empresa aprovada. Não se criam unidades iniciais: o utilizador pode criá-las com a permissão específica. Ao criá-las, recebe concessões explícitas de consulta e edição apenas para cada nova unidade, conforme decisão aprovada.

Percurso disponível

  1. Entrar por email/palavra-passe; tentativas repetidas são limitadas.
  2. Seleccionar uma empresa autorizada e uma unidade com consulta explicitamente concedida.
  3. Consultar a área inicial com empresa e unidade visíveis.
  4. Consultar/editar nomes segundo as concessões; criar unidades apenas com unit.create.
  5. Gerir acessos de utilizadores existentes apenas na empresa activa e sem delegar direitos superiores aos próprios.
  6. Sair: a sessão anterior é invalidada.

Não existe criação de tenants ou empresas pela interface, auto-registo, opção «todas as unidades», recuperação por email ou fornecedor externo. Consultar utilização e recuperação para os procedimentos locais de utilizadores e recuperação.

Testes e ferramentas

powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\sgf.ps1 test
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\sgf.ps1 npm run build
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\sgf.ps1 php scripts/verify-foundation.php
powershell.exe -NoProfile -ExecutionPolicy Bypass -File .\scripts\sgf.ps1 php scripts/identity-status.php

Os testes destrutivos usam exclusivamente sgf_tempo_test, verificada antes da execução. Não usar fresh, reset ou wipe em desenvolvimento. Migrações futuras aprovadas: sgf.ps1 migrate, com proprietário de migrações separado; a aplicação continua a usar sgf_dev_app sem administração ou criação de tabelas.

Para Vite, sgf.ps1 frontend (porta 5173, estrita). A aplicação continua a ser aberta na porta 8000. As ferramentas usam caminhos explícitos em C:\laragon\tools\sgf-tempo; o cluster fica em C:\laragon\data\sgf-tempo\postgres-17, porta 55432. Não alterar as versões ou o ambiente do InvesteMoz.

Relatório do incremento e provas · Registo histórico da preparação inicial