Files
Investidor-V2/docs/investmoz/education/decisions.md
T
nala 1106509116
tests / ci (push) Canceled after 0s
vrsao 2
2026-10-08 14:02:01 +02:00

8.5 KiB

Decisões técnicas e execução — 26/09/2026

Estado: validado tecnicamente para desenvolvimento local, por revisão do repositório e autorização do utilizador para validar as decisões pendentes e executar. Não representa mandato de uma entidade pública, validação de dados externos ou aprovação de produção.

Decisões adoptadas

ID Decisão e fundamento confirmado Execução e limites
D-EDU-01 / B02 O catálogo público usa opportunities.id bigint; os domínios novos usam UUID. Preservar ambos, com uma associação explícita, sem converter IDs existentes. education_investment_proposals tem UUID e referências a labour_demands e opportunities. Uma ficha inicial por procura; restrições únicas e bloqueio transaccional evitam duplicação. education_opportunities conserva a semântica de oferta calendarizada.
D-EDU-02 / B03 Reutilizar sessão, email verificado e manage-portal para preparação interna. O registo público não concede acesso. As rotas novas estão no grupo de gestão, atrás de EducationEnabled. Não criar perfis institucionais ou OAuth/OIDC sem mandatos/issuer reais. A revisão por outro gestor continua distinta de validação oficial.
D-EDU-03 / B06 Vagas formativas não equivalem a trabalhadores disponíveis. Fontes desconhecidas não equivalem a zero. A versão revista da procura é requisito para preparar uma proposta. Comparação existente preservada; proposta referencia a versão revista e vigente. Alteração de versão produz conflito na criação e aviso na consulta da ficha anterior. Nenhuma soma de vagas é apresentada como défice laboral.
D-EDU-04 / B01 A preparação de uma resposta pode ocorrer antes da decisão institucional; a publicação exige evidência que ainda não foi fornecida. Criar apenas rascunhos, com fonte, riscos e intervenção obrigatórios; nenhum montante, instituição, capacidade ou projecto é inventado. A gestão geral também rejeita publicação de fichas educativas. Não chamar este estado de lacuna validada.
D-EDU-05 / B04 Reutilizar a identidade do catálogo e o fluxo de interesse/CRM existente. Não duplicar investidores, contactos ou leads. Ficha aponta para a oportunidade canónica. O encaminhamento educativo externo ainda não é activado: suitecrm:probe devolveu disabled; sem CRM homologado não declarar sincronização concluída.
D-EDU-06 / B05 Nesta etapa não recolher beneficiários, dados académicos individuais ou localizações pessoais. Ficha usa necessidades agregadas; campos de texto devem conter fontes e responsáveis institucionais, não listas de pessoas. Auditoria partilhada não replica o texto das fontes, riscos ou planos.
D-EDU-07 / B07 Correspondência por regras não é IA. Não escolher fornecedor nem enviar dados a um modelo sem configuração e critérios aprovados. IA permanece por configurar; sem inferência externa, decisão automática ou alegação de precisão.
D-EDU-08 / B08 Indicadores internos devem medir apenas o que os dados sustentam. Contagens de declarações, procura por rever e fontes expiradas, rotuladas como globais e sem efeitos dos filtros. Sem metas fictícias, taxas de emprego ou agregação indevida de trabalhadores.
D-EDU-09 Alteração aditiva e reversão sem perda. Nova migration não altera tabelas existentes; rollback recusa apagar fichas existentes. Reversão operacional: desactivar EDUCATION_ENABLED, preservar as tabelas e reconciliar antes de qualquer restauro.

Contratos preservados e análise de impacto

  • APIs públicas, IDs, estados e campos do catálogo mantidos. Não há API Education institucional nova.
  • Novo POST interno: /management/education/demands/{id}/investment. Exige versão, sector existente, título, intervenção, riscos, fonte e moeda de referência. Não define orçamento nem publica automaticamente.
  • A resposta de análise ganha proposal e sectors; a listagem ganha filtros e indicadores. Consumidores React alterados em conjunto.
  • A ficha contém necessidades opcionais de equipamentos, formadores e financiamento; ausência significa pendência, nunca custo zero.
  • A gestão geral de oportunidades bloqueia publicação apenas das oportunidades ligadas a fichas educativas; oportunidades preexistentes continuam com o contrato anterior.
  • A migration deve anteceder a activação do módulo. A verificação de publicação tolera a ausência da nova tabela durante o período de transição.
  • O directório não contém .git; não foi fabricada uma aprovação por branch ou revisão por pares. Estes controlos continuam obrigatórios antes de integração em repositório partilhado/homologação.

O que ainda exige confirmação externa

  1. Pilotos, responsáveis, fontes e mandatos institucionais reais; a autorização técnica não é evidência desses factos.
  2. Taxonomias nacionais, equivalências, disponibilidade de trabalhadores e regras de alocação.
  3. Processo e documentação de validação institucional para permitir publicação das propostas.
  4. SuiteCRM acessível, identidade técnica e testes de sincronização; issuer OAuth/OIDC para API institucional.
  5. Políticas de retenção, beneficiários/menores, fornecedor de IA e metas operacionais.

Estes itens não impedem a execução local das decisões técnicas acima. Continuam a impedir publicação oficial, integração externa e declaração de conclusão integral do MVP.

Execução comprovada

  • Ambiente confirmado como local, PostgreSQL em loopback.
  • Backup custom PostgreSQL, SHA-256 registado e restauro efectuado numa base isolada. Contagens das 66 tabelas reconciliadas antes da migração; o restauro não substituiu a base da aplicação.
  • Aplicadas à base local apenas 2026_09_26_100000_education_intake e 2026_09_26_110000_education_investment_proposals.
  • Após a migração, preservadas as contagens das tabelas existentes; o ledger de migrations ganhou exactamente duas entradas. Nenhum seed de demonstração ou dado institucional foi inserido.
  • EDUCATION_ENABLED=true no .env local. Restantes configurações e lista de gestores preservadas. Seis rotas Education confirmadas. Acesso: /management/education, com conta gestora verificada.
  • Suite PHP: 109 testes, 961 verificações aprovadas. TypeScript, build e PHPStan dos controllers/modelo afectados aprovados. Não houve validação visual em navegador ou homologação institucional.
  • Backup e manifesto mantidos em storage/app/private/education-backup-20260926-105520/; inclui cópia protegida do ambiente anterior. Não publicar nem versionar esse directório.
  • Para reversão funcional, definir EDUCATION_ENABLED=false e limpar a cache de configuração. Conservar as fichas e tabelas; não executar rollback destrutivo de dados.