Conn2Flow
Navegação das docs

SDD

Requisição 134 — Resolução de Path de Mirrors de Projetos em auth:cookie e env:*, Execução via Docker e Suporte a path_tests

Esta especificação define os requisitos para corrigir a resolução de caminhos do Gestor e arquivos de ambiente (.env) nos comandos c2f auth:cookie e c2f env:*, garantindo que…

  • Status do intake: ready-for-intake

  • Data: 2026-08-26

  • Origem: relatório de operação de agentes de IA na validação de projetos locais ([REDACTED]-local / [REDACTED])

  • Classificação: cli, auth, environment, docker, project-mirrors, bugfix

  • Batch candidato: BATCH-136

Esta especificação define os requisitos para corrigir a resolução de caminhos do Gestor e arquivos de ambiente (.env) nos comandos c2f auth:cookie e c2f env:*, garantindo que apontem para os mirrors de teste locais dos projetos (path_tests / target em dev-environment/data/environment.json), além de executar a geração de tokens dentro do container Docker [REDACTED] para permitir a resolução do [REDACTED] banco de dados (DB_HOST=mysql).


1. Resolução do Caminho do Gestor a partir de path_tests em Projetos Locais

  • Problema Identificado:

    • No comando AuthCookieCommand.php, a variável $gestorPath era resolvida fixamente como $this->rootPath . '/gestor'.

    • Quando o usuário passava a opção --project=[REDACTED]-local, o comando apenas alterava a URL base (/photon/), mas tentava ler o arquivo de ambiente em conn2flow/gestor/autenticacoes/localhost/.env ou [REDACTED]/gestor/autenticacoes/ (que não existe na fonte do projeto).

    • No ambiente local de desenvolvimento, os arquivos de autenticação (autenticacoes/localhost/.env) vivem nos mirrors de teste do site, definidos em devProjects[project].path_tests (ou target), como dev-environment/data/sites/localhost/photon/.

  • Solução Requerida:

    • Em AuthCookieCommand.php:

    • Ao receber a opção --project=ID, ler dev-environment/data/environment.json e resolver o caminho do Gestor a partir de devProjects[ID].path_tests (ou target).

    • Se o projeto não definir path_tests, usar devProjects[ID].path.

    • Buscar o arquivo .env no caminho resolvido do projeto: <projectGestorPath>/autenticacoes/<host>/.env ou <projectGestorPath>/.env.


2. Execução da Geração de Token via Docker ([REDACTED])

  • Problema Identificado:

    • Nos arquivos .env dos projetos locais, o [REDACTED] banco de dados está configurado como DB_HOST=mysql (resolvível exclusivamente na rede interna do Docker).

    • Quando o comando c2f auth:cookie roda no [REDACTED] fora do container, a conexão MySQL falha com erro de [REDACTED] (getaddrinfo failed: No such [REDACTED] known).

  • Solução Requerida:

    • Em AuthCookieCommand.php:

    • Detectar se o comando está rodando no Host e se o container Docker [REDACTED] está em execução.

    • Se o container estiver ativo, despachar a execução do script gerador de cookie dentro do container via docker exec [REDACTED] php ... apontando para o caminho montado correspondente (ex: [REDACTED]>/), garantindo a resolução transparente do host mysql.

    • Se não estiver em container ou rodar localmente com banco acessível, executar localmente como fallback.


3. Suporte à Opção --project=ID nos Comandos c2f env:*

  • Problema Identificado:

    • Os comandos EnvStatusCommand.php e EnvSetCommand.php inspecionavam e alteravam apenas o .env na raiz do conn2flow. Para projetos locais em espelhos dedicados, não era possível consultar ou alternar o DEVELOPMENT_ENV do projeto específico via CLI.

  • Solução Requerida:

    • Adicionar a opção --project=ID aos comandos c2f env:status e c2f env:set:

    • Resolver o .env correspondente do projeto a partir de devProjects[ID].path_tests / target.

    • Permitir inspecionar e alternar o modo de desenvolvimento individualmente por projeto de teste local.


4. Critérios de Aceitação

  1. Sintaxe e Lint: php -l 100% limpo em todos os arquivos modificados.

  2. Geração de Cookie em Projeto: c2f auth:cookie --project=[REDACTED]-local localiza o mirror correto em dev-environment/data/sites/localhost/photon/, executa via container [REDACTED] e grava temp/agent-cookies.txt com sucesso.

  3. Gestão de Ambiente por Projeto: c2f env:status --project=[REDACTED]-local e c2f env:set development --project=[REDACTED]-local operam sobre o .env do projeto especificado.

  4. Testes Unitários: Testes no PHPUnit validando a resolução de paths com path_tests e o despacho condicional de Docker.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada