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
- Entrar por email/palavra-passe; tentativas repetidas são limitadas.
- Seleccionar uma empresa autorizada e uma unidade com consulta explicitamente concedida.
- Consultar a área inicial com empresa e unidade visíveis.
- Consultar/editar nomes segundo as concessões; criar unidades apenas com
unit.create. - Gerir acessos de utilizadores existentes apenas na empresa activa e sem delegar direitos superiores aos próprios.
- 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