-
Status do intake: implemented-pending-homologation
-
Data: 2026-09-01
-
Origem: solicitação direta do Humano-no-Loop durante a homologação da REQ-031
-
Classificação: correção incremental de pipeline e compatibilidade de ambiente
-
Batch: BATCH-154
-
Mudança normativa: não; preserva o contrato vigente de atualização de projetos
1. Problema observado
No Lab HestiaCP, c2f project:update-all [REDACTED]-lab sincronizava o core, mas o estágio de banco falhava antes de executar PHP. O projeto tinha um target bare-metal válido em [REDACTED], porém não tinha dockerPath — configuração correta para um tenant HestiaCP.
O script updates-manager-database.sh aceitava --project, mas só aceitava o caminho quando ele era derivável para [REDACTED] e terminava incondicionalmente em docker exec [REDACTED].
Ao liberar a execução host, a validação real revelou ainda que o PHP precisava executar a partir da raiz do Gestor e que o phinx.php, incluído dentro de migracoes(), não compartilhava o $_GESTOR global já usado pelas bibliotecas CLI.
2. Escopo aprovado
-
Preservar o modo Docker quando
dockerPathexiste ou é derivável do mirror local. -
Selecionar modo [REDACTED] quando
target/path_testscontém o atualizador PHP esperado. -
Executar PHP host a partir da raiz do Gestor, em subshell.
-
Manter
--project,--tablese--force-allcomo argumentos separados e validados. -
Remover o
bash -cintermediário do caminho Docker. -
Compartilhar
$_GESTORno bootstrap de produção dophinx.php. -
Falhar explicitamente quando nenhum ambiente executável puder ser determinado.
3. Critérios de aceite
-
[x] Projeto Docker continua resolvendo para
docker exec [REDACTED] php .... -
[x] Projeto bare-metal com atualizador válido seleciona
Execution Mode: host. -
[x] Projeto bare-metal inválido falha sem tentar Docker ou PHP arbitrariamente.
-
[x]
project:update-all [REDACTED]-labconclui as cinco etapas no Lab HestiaCP. -
[x] Segunda execução é idempotente no banco (
+0 ~0 =19). -
[x] Testes focados e suíte PHPUnit completa passam.
-
[x] Nenhum segredo ou configuração específica do Lab é incorporado ao core.