Lotes arquivados do VALIDATION-CHECKLIST.
BATCH-239 — Integração Oficial da V3.0 e Rota Canônica das Capas (req-230)
-
[x] CA-1 (Capas 200 OK): Todas as capas dos módulos carregam com sucesso (HTTP 200 OK) no Dashboard sem erro 404 (validado via curl e
req227-covers-test.php13/13). -
[x] CA-2 (Branches Integradas): Frentes
feat/req-226,req-227,feat/req-228efeat/req-229consolidadas na branchmain. -
[x] CA-3 (Navegação & UI Fluida): Topbar com perfil e favoritos, abas do dashboard, seletor P/M/G e cartões integrados sem conflitos de estilização ou quebra de layout.
-
[x] CA-4 (Suíte de Testes Aprovada):
GestorStateTest(28/28),LayoutAdministrativoTailwindTest(15/15),PainelTailwindReq224Test(2/2),TailwindRecursosTest(21/21),req228-topbar-test.php(28/28) ereq227-cards-test.cjs(6/6) com 100% de sucesso. -
[x] CA-5 (Limpeza de Worktrees): Worktrees prontas para desalocação segura após confirmação da mesclagem.
Evidências: BATCH-239.
BATCH-234 — Conferência final da UI Tailwind (req-225)
-
[x] Preparação: dependências conferidas, inventário preliminar com 236 páginas/idiomas e detalhes das divergências.
-
[x] Detector contra deriva provado com fixtures: 1 teste/8 asserções; sintaxe PHP aprovada. Auditoria completa focada: 3 testes/12 asserções, 2 falhas e 3 depreciações PHPUnit.
-
[ ] CA-1: inventário final de todas as páginas sem pendências, incluindo controles/componentes gerados.
-
[ ] CA-2: todas as telas no navegador do Lab, sem Fomantic, overflow a 390 px ou erro de script.
-
[ ] CA-3: teste PHPUnit de deriva verde (atualmente detecta 2 ocorrências no core e 493 no site).
-
[ ] CA-4: roteiro humano final no arquivão do site, com todas as telas.
-
[ ] Integração das frentes dependentes, correções em branch isolada, pipeline e revisão final.
Evidências e limites: BATCH-234. Preparação em 2026-10-04; fontes das árvores locais, sem validação SQL/browser ou alteração do produto. A ordem da req-225 exige conclusão das frentes anteriores antes da conferência final.
BATCH-238 — Biblioteca de Estado e Acesso Controlado a Variáveis Globais (req-229)
-
[x] CA-1 (Funções Implementadas):
gestor_get(),gestor_set(),gestor_has()egestor_contexto()criadas e testadas. -
[x] CA-2 (Retrocompatibilidade Integral 100%): Nenhuma alteração quebra códigos legados que ainda utilizam
$_GESTOR['chave']diretamente. -
[x] CA-3 (Proteção de Chaves do Core): Tentativas de alteração em chaves do sistema protegidas são barradas ou registradas com aviso.
-
[x] CA-4 (Suíte de Testes no PHPUnit): Testes unitários cobrindo leitura, escrita, fallbacks e integridade do estado global (28 testes, 93 asserções, 100% passing).
-
[x] CA-5 (Documentação Técnica): Guia em
ai-workspace/(pt-br e en) e atualização da skillc2f-global-variablesorientando novos desenvolvimentos a utilizarem a nova API. -
[ ] Revisão humana / homologação do Arquiteto.
Detalhes: BATCH-238.
BATCH-237 — Topbar administrativa (req-228)
-
[x] CA-1: menu acessível por clique/teclado, Escape, clique fora, nome/e-mail/perfil; perfil, segurança, PT-BR/EN e logout exercitados no navegador.
-
[x] CA-2: personalização com busca, adicionar/remover e favoritar tela atual; clique no atalho abre a tela correspondente.
-
[x] CA-3: favoritos persistidos por conta no SQL, restaurados após reload e em contexto de navegador separado; idempotência e isolamento de contas nos testes focados.
-
[x] CA-4: editbar real e topbar coexistem em 1366 e 390 px; topo da topbar abaixo da editbar, sem overflow.
-
[x] CA-5: 1366/1024/768/390/320 px sem overflow; seis/quatro/zero atalhos diretos, menu de atalhos e perfil contidos na tela.
-
[x] 28 testes focados; PHPUnit 112 testes / 530 assertions (três depreciações informadas); Vitest 83/83; navegador 60/60. Falha 503 simulada conserva estado e exibe erro; CSRF sem token retorna 403. Sem erro inesperado de página/console.
-
[x] Compilação e pipeline local
[REDACTED]: migração aplicada, SQL e CSS atualizados, 462 arquivos conferidos por hash. Publicação diretadist/falhou no rsync do Windows; entrega pelo controlador de arquivos validada. -
[x] Preferências de teste restauradas; sessão encerrada pelo roteiro; nenhum modo de ambiente alterado.
-
[ ] Revisão técnica/humana e integração da branch
feat/req-228.
Evidências: BATCH-237, roteiro, resultado, perfil mobile, editbar desktop.
BATCH-231 — Menus, galerias, formulários e cookies (req-222)
-
[x] CA-1: páginas administrativas pt-br/en no layout Tailwind, sem assets Fomantic no documento principal.
-
[x] CA-2: salvar/recarregar sem 403; selects, chaves, abas, editor, picker/upload e modais; schemas persistidos; 390 px sem overflow.
-
[x] CA-3: nenhum diálogo nativo nos seis scripts.
-
[x] CA-4 (testes): contrato 4/565, Vitest 509/509 e PHPUnit completo 1526 sem falhas/erros; contrato falsificado no manifesto anterior.
-
[x] CA-4 (navegador executado): 369/372 verificações, 30 navegações e capturas desktop/mobile; controle Fomantic preservado.
-
[ ] Prévia de Variáveis do editor compartilhado: três verificações de console falham por imagem com placeholder cru/404; pedido registrado na req-219. Não declarar rodada integralmente verde.
-
[x] CA-5: BATCH-231, métricas, roteiro/capturas em
conn2flow-site/sdd/validation/core/evidence-req222/e item humano no site. -
[ ] Revisão humana conjunta; nenhum deploy de produção.
BATCH-232 — Módulos de administração em Tailwind (req-223)
-
[x] Widget compartilhado
configuracao_administracaoe campos Tailwind pt-br/en; originais legados preservados. -
[x]
variablesemodulos-variaveisusam layout/bundle Tailwind e dependências globais declaradas. -
[x] Selects nativos e fallback Fomantic cobertos por Vitest (5/5); PHPUnit focado 13/13, 463 asserções.
-
[x] Vitest completo 507/507; transformação Node validou templates, manifests, tokens e minificados.
-
[ ] CSS sync/build, inspeção no Lab e viewport de 390 px: não executados por restrição explícita.
-
[ ] Suíte PHPUnit completa limpa: 1.523 testes, 4 erros ambientais (OpenSSL/Stripe) e 1 falha LF/CRLF em
CssRegeneracaoTest. -
[x] Roteiro humano adicionado ao PENDENCIAS-HUMANAS.md do site.
Detalhes: BATCH-232.
BATCH-229 — Módulos do editor, listagens e correções da revisão (req-219)
-
[x]
admin-layoutseadmin-componentes(listar, adicionar, editar) e a listagem doadmin-paginasno layout Tailwind; salvar sem 403. -
[x] Achados do Engenheiro Chefe: backup do editor, SEO com imagepick, cache da primeira carga (minificação antes da cópia). Barra de rolagem das docs não reproduzida (pedido de print).
-
[x] Integração da req-220 conferida no Lab (listagem do
modulos-grupos). -
[x] PHPUnit 1.505 (1 falha anterior), Vitest 484/484, navegador 31/31.
-
[ ] Revisão humana (no fim do programa).
Detalhes: BATCH-229.
BATCH-227 — Painel em Tailwind: controles, diálogos, editor HTML e admin-paginas (req-219)
-
[x] CA-1: controles sem Fomantic, com teclado (select com busca, múltiplo e AJAX; chave; abas; diálogos; avisos) — Vitest 13 testes; 390 px sem rolagem no
admin-paginas. -
[x] CA-2: no layout Fomantic nada muda (
admin-layouts/editar: ponte desligada, editor na variante antiga, sem erro). -
[x] CA-3: nenhum
alert/confirm/promptnativo no editor e noadmin-paginas. -
[x] CA-4:
admin-paginasadicionar/editar/clonar no layout Tailwind, sem JS nem CSS do Fomantic no painel, editor gravando (salvar sem 403). -
[x] CA-5: PHPUnit 1.498 (1 falha anterior, CRLF), Vitest 474/474, navegador 18/18 (
conn2flow-site/sdd/validation/core/req219-controles-e2e.cjs). -
[ ] Revisão humana (abrir uma página no Lab, editar no visual e salvar).
Detalhes: BATCH-227.
BATCH-226 — Módulos distribuídos: imagens do layout dentro do painel (req-218)
-
[x] CA-1: a logo do portal carrega dentro do painel distribuído (302 → 200; nenhum 404 em
favicon/no roteiro da REQ-099 do site). -
[x] CA-2: rota de módulo dentro do prefixo mantém o prefixo; destino sempre do mesmo host; 3 testes.
-
[ ] Revisão humana.
Detalhes: BATCH-226.
BATCH-225 — Módulos distribuídos: confirmação de origem e chave de sessão (req-217)
-
[x] CA-1: com o segredo, mas fora do endereço cadastrado, nenhuma sessão abre nas duas direções (unidade e Lab, 6/6).
-
[x] CA-2: requisição sem sessão, com sessão vencida, forjada, de outra instalação ou assinada com o segredo é recusada.
-
[x] CA-3: roteiros dos módulos distribuídos no Lab passam com a confirmação ligada (req092, req094 a req098).
-
[x] CA-4:
confirmacao-origemdesligada volta ao canal anterior. -
[ ] Revisão humana.
Detalhes: BATCH-225.
BATCH-224 — Módulos distribuídos: catálogo local e estado da conta (req-216)
-
[x] CA-1: cliente sem lista no
.envusa o catálogo do pacote; Central semapp-idnão proxia os próprios módulos. -
[x] CA-2: estado vindo do provedor do projeto, assinado, guardado no cliente; Central fora do ar mantém o último.
-
[x] CA-3: conta suspensa: canal recusa escrita e rotina que não é de leitura; formulário recebe "somente visualização".
-
[x] CA-4: conta encerrada e perfil sem o módulo saem para o destino do projeto.
-
[x] CA-5: testes de unidade; suíte sem regressão; E2E do site 18/18.
-
[ ] Revisão humana.
Detalhes: BATCH-224.
BATCH-223 — Módulos distribuídos: rotina local pedida pelo Central (req-215)
-
[x] CA-1: rotina declarada roda no cliente e o retorno chega ao Central; não declarada, de outro módulo, de módulo sem cópia, assinatura inválida e repetição recusadas.
-
[x] CA-2: fora de contexto distribuído nada muda.
-
[x] CA-3: testes de unidade do protocolo; suíte sem regressão.
-
[x] Cópia de execução não contratada fica inerte (página, widget, gancho, tarefa, webhook).
-
[x] Parâmetros do endereço chegam ao iframe, limpos.
-
[ ] Retorno de autorização de terceiros com aplicativo real.
-
[ ] Revisão humana.
Detalhes: BATCH-223.
BATCH-222 — Menus do painel e apoio à execução no cliente (req-214)
-
[x] Item do módulo marcado e no meio do menu, nos dois layouts, em 14 páginas e duas alturas: 61/61.
-
[x] Rolagem guardada não tira o item atual do lugar.
-
[x] Decisão de cookies lida no servidor; biblioteca registrada no mapa do core.
-
[x] Gancho
db.escritano cliente; contexto distribuído consultável pelo módulo. -
[ ] Menu de celular do layout Fomantic.
-
[ ] Revisão humana.
Detalhes: BATCH-222.
BATCH-221 — Módulos distribuídos: melhorias da revisão (req-213)
-
[x]
confirm()e nova aba dentro do iframe, em três motores. -
[x] Provedor de instalações: ativa, desativada, desconhecida e falha.
-
[x] Custo por consulta medido antes e depois.
-
[x] Sobras do login antigo fora do código.
-
[x]
project:verifyno fim do pipeline, listando divergências reais. -
[x] Login distribuído com segundo fator ponta a ponta.
-
[x] Memória de execução podada (obrigatória em 300 linhas): 296 linhas / 32 KB para 231 linhas, cinco lotes de setembro movidos para o histórico.
-
[ ] Revisão humana.
Detalhes: BATCH-221.
BATCH-220 — Modal de edição do editor visual no documento Tailwind (req-212)
-
[x] Modal íntegro nos modos texto, código e imagem; salvar aplica.
-
[x] Seletor de arquivos abre na janela do painel, uma vez, e devolve a escolha.
-
[x] Documento do editor sem folha do Fomantic; raiz de 16px.
-
[x] Demais elementos gráficos do editor abertos e conferidos.
-
[ ] Editor visual de layout aberto no navegador.
-
[ ] Revisão humana.
Detalhes: BATCH-220.
Validações arquivadas
| Batch | Resumo | Evidências |
|---|---|---|
| BATCH-219 | Infraestrutura comum para módulos distribuídos (req-211) | Arquivo |
BATCH-218 — Tela de atualização no deploy e prévia de widgets completa (req-210)
-
[x] Manutenção ligada: 503 com a tela e a logo, JSON para AJAX, CLI e
_api/isentos. -
[x] Tela volta sozinha ao endereço pedido; página já aberta mostra e retira o aviso.
-
[x] Manutenção vencida ou ilegível não bloqueia.
-
[x] Deploy do pipeline de projeto sem nenhum 500 (sondagem a cada segundo).
-
[x] Prévia do editor: controlador de widget de projeto carregado; nenhuma imagem com variável sem resolver.
-
[x] Módulo de apresentações retirado do core.
-
[ ] Manutenção no deploy por API exercitada num ambiente.
-
[ ] Revisão humana.
Detalhes: BATCH-218.
BATCH-217 — Prévia de widgets no editor, toque na galeria (req-209)
-
[x] Prévia do editor de páginas mostra o widget com CSS e controlador.
-
[x] Galeria: toque nos dois tipos de trilho.
-
[x] Docs em inglês com layout próprio; ícones válidos.
-
[ ] Toque em aparelho real.
-
[ ] Revisão humana.
Detalhes: BATCH-217.
BATCH-216 — Módulo cookie-consent (req-208)
-
[x] Aviso sem decisão, recusa com o mesmo peso do aceite, revogação, script por categoria, Consent Mode v2.
-
[x] Saída escapada; endereço da política restrito; nenhum marcador sobrando.
-
[x] Painel: listagem, edição, pré-visualização e adição abrem sem erro.
-
[ ] Gravação pelo formulário do painel exercitada no navegador.
-
[ ] Revisão humana.
Detalhes: BATCH-216.
BATCH-215 — Docs: referência de funções em cartões (req-207)
-
[x] Cada função com âncora, assinatura copiável, parâmetros com tipo e link para a linha no repositório.
-
[x] Filtro reduz cartões e índice; número de cartões igual ao de funções do bloco.
-
[x] Testes das docs: 32, todos passam;
docs:auditcom 0 erros. -
[x] Lab: biblioteca
banconos dois idiomas, a 1280 e 390 px (14/14). -
[ ] Revisão humana.
Detalhes: BATCH-215.
BATCH-214 — Deploy de projeto depois da req-202/203 (req-206)
-
[x]
insert_onlyvale em chave natural: a semente não altera usuário existente e ainda insere o que falta. -
[x] Compilador em modo projeto não grava dados do core no
db/datado projeto. -
[x]
jsonWrite()não regrava conteúdo igual;db/datacopiado por conteúdo nos dois scripts de sincronização. -
[x] PHPUnit 1380 testes, 1 falha de fim de linha do ambiente (anterior ao lote); Vitest 461/461.
-
[x] Lab:
project:update-allsem alteração em módulos, permissões e usuários;--tables usuarios --force-allregistraSKIP_UPDATE_INSERT_ONLY. -
[ ] Homologação humana.
Detalhes: BATCH-214.
BATCH-211 — Segregação de recursos globais vs multilíngues (req-203)
-
[x] Os quatro seeds globais foram movidos da pasta de idioma para a raiz sem perda: 1 usuário, 37 vínculos perfil-módulo, 3 vínculos perfil-operação e 1 categoria; sem cópias em
pt-br/ouen/. -
[x]
resources.map.phpmantém os recursos multilíngues; os quatro contratos têmlanguage_agnostic: truee preservam as chaves naturais. -
[x] A regressão compila os registros reais uma única vez, confere payload integral e ausência de
language, e grava os quatro Data.json em pasta temporária. -
[x]
main()completou as oito etapas com--only,--skip-css,--no-origin-updatee--no-assetsno fixture temporário; contagens 1/37/3/1, sem duplicações. -
[x] Testes relacionados: 7 testes/68 asserções, exit 0 (duas depreciações do PHPUnit);
php -l, JSON parse egit diff --checkaprovados. Avisos Git apenas de conversão LF/CRLF. -
[x] Os Data.json locais já modificados não foram sobrescritos; não houve deploy. A CLI não foi executada diretamente contra o checkout, pois isso regravaria esses artefatos preexistentes.
BATCH-210 — Autoria em resources e compilação seletiva (req-202)
-
[x] As 16 sementes (
pt-br/en) foram comparadas aos oito Data.json legados;resources.map.phpcobre os oito recursos. -
[x]
tables_config.jsondeclara as oito tabelas e chaves naturais; a configuração efetiva deusuarioséinsert_onlye preservasenha,email,nome,usuarioestatus. -
[x]
php cli/c2f.php resources:sync --only=modulos,modulos_grupos,modulos_operacoes,usuarios,usuarios_perfis,usuarios_perfis_modulos,usuarios_perfis_modulos_operacoes,categorias --skip-css --no-origin-update --no-assets: exit 0; oito Data.json válidos/ordenados eschema-metadata.jsoncoerente, sem órfãos. -
[x]
--onlyseleciona e rejeita alvos desconhecidos;--skip-csspulou o passo Tailwind na compilação real;--resource=homeselecionou os dois idiomas, repassado pela CLI. -
[x] Teste com runner Tailwind simulado: build inicial de três recursos, hit sem build, miss após mudança no HTML recompilando só
home/en; manifest e sidecar defooter/enpreservados. -
[x] PHPUnit focado: 26 testes, 133 asserções; PHP lint e
git diff --checkaprovados. O diff-check emitiu apenas avisos de conversão LF/CRLF do worktree. -
[x] Nenhum deploy remoto/produção executado. O subpasso opcional de publicação em
dist/avisou quePUBLIC_PATH/DocumentRoot não está configurado; sincronização de Data.json concluiu com sucesso.
BATCH-212 — Layout por perfil 1:N e compilação multi-layout (req-204)
-
[x] Mapa
{perfil: layout}: dois perfis no mesmo layout gravados e lidos; migração converte o formato antigo e não toca no novo. -
[x]
css:rebuildcompila a página mapeada com o layout padrão e os alternativos, e carimba os layouts cobertos. -
[x] Roteador usa o CSS da página sozinho só quando o layout em uso está no carimbo.
-
[x] Editor HTML: seletor de preview por layout; captura mantém a regra que falte em qualquer layout; salvamento refaz a captura quando o conjunto de layouts muda.
-
[x] Popup da página inicial fechado por padrão, aberto sob o campo, fechado ao clicar fora e ao escolher.
-
[x]
action=versionna API de sistema. -
[x] Vitest 461/461; PHPUnit do lote 125/125; suíte completa com falhas só de fim de linha no ambiente.
-
[x] Lab:
/perfil-usuario/sob os dois layouts a 1280 e 390 px sem classe sem regra. -
[ ] Revisão humana e mesclagem.
Detalhes: BATCH-212.
BATCH-213 — README e descrição do GitHub (req-205)
-
[x]
README.mdeREADME-PT-BR.mdcom a mesma estrutura; 39 links relativos em cada, todos existentes. -
[x]
conn2flow.com/,/plataforma/e/pro/respondem 200. -
[x] Descrição, site e tópicos do repositório atualizados no GitHub.
-
[ ] Revisão humana do texto e mesclagem.
Detalhes: BATCH-213.
BATCH-208 — Recuperação de arquivos do servidor (req-200)
-
[x] Inventário unitário: projeto editado, core ausente, precedência, arquivo fora do manifesto, filtros e pastas privadas.
-
[x] ZIP: teste de extração recusa
.env,autenticacoes/,logs/,backups/,temp/,..e caminhos absolutos; confere hash do arquivo aceito. -
[x] Motor comum:
manter,mesclar,sobrescreverna descida sem regra de deploy local. -
[x] PHPUnit focado da req-198/199 e testes novos: 54 testes, 264 asserções (dois avisos de depreciação).
-
[x]
docs:auditsem avisos nos arquivos tocados;git diff --checklimpo. -
[ ] Homologação HTTP e CLI no tenant isolado depois que a rota nova for integrada ao ambiente. Nenhum deploy no tenant compartilhado durante este lote.
BATCH-200 — Página inicial e layout por perfil (req-196)
-
[x] Migração Phinx aplicada e revertida no MariaDB 11.8.8 isolado; colunas
pagina_inicialVARCHAR NULL elayouts_users_profilesLONGTEXT NULL, com registros legados preservados. -
[x] Perfil grava apenas rotas ativas; login valida a rota novamente e conserva fallback
dashboard/. -
[x] CRUDs aceitam apenas pares de layout e perfil existentes no idioma corrente e exigem layout padrão ativo ao ligar o toggle; roteador aplica o par compatível e conserva o fallback.
-
[x]
resources:sync: exit 0, 2.924 recursos, incluindo dez componentes bilíngues; manifests legados omitem o campo, preservando mapeamentos criados no Gestor. -
[x] Biblioteca registrada no bootstrap e incluída por
gestor_incluir_biblioteca; HTML em componentes de recursos; selects de Layout e Perfil gerados porinterface_formulario_camposcom Fomantic-UI; página inicial buscada por AJAX (mínimo de 2 caracteres, máximo de 20 resultados). -
[x] PHPUnit: 1.289 testes, 10.152 asserções, exit 0 com
OPENSSL_CONFválido;Req196LayoutPorPerfilTest: 6 testes, 16 asserções, inclusive sincronização SQL e renderização de componentes. -
[x] Vitest: 34 arquivos, 455 testes, exit 0; autocomplete AJAX, toggle e repetidor dos dois CRUDs exercitados no DOM; sintaxe PHP/JS aprovada.
-
[x] MariaDB 11.8 isolado: 11 verificações dos validadores Layout/Perfil, campo de acesso e destino de login passaram com registros ativos, inativos e de outro idioma.
-
[x]
project:update-all [REDACTED]: oito estágios, exit 0;assets:minify --verificaregit diff --check: exit 0. -
[x] Playwright no Lab: três formulários HTTP 200 sem erros de console; busca AJAX retornou oito sugestões para
dash; perfil salvo e recarregado comdashboard/;publisher-pagesgravou JSON; toggle desligado noadmin-paginasgravouNULL. -
[x] Rota temporária autenticada usou layout 3D mapeado e visitante usou layout padrão. Os dois registros de página, o vínculo de publicação e o perfil de teste foram removidos em transação.
-
[x] Destino de login válido e fallback exercitados por testes PHP em banco isolado. Não houve login interativo com usuário temporário; a sessão administrativa do Lab foi obtida por
auth:cookie.
BATCH-197 — Ativação de parcelamento no PaymentIntent Stripe (req-193)
-
[x] Payload legado sem
payment_method_optionsquando a opção não é informada. -
[x] Opção habilitada serializa
payment_method_options[card][installments][enabled]. -
[x] Teste PHPUnit focado (3 testes/5 asserções),
php -legit diff --checkaprovados.
BATCH-184 — Migração do acervo de docs, ondas 1 e 2 (req-179)
-
[x]
docs:audit --json: 0 erros;legacy= 0 em pt-br e en; 41 bibliotecas e 4 conceitos da onda 1 documentados do código. -
[x] PHPUnit das docs (
DocsBuildReq178Test,DocsToolingReq177Test): 16/16 (100 asserções) no último commit de ferramental do batch. -
[x] Comportamentos citados nas docs conferidos executando o código quando possível (
formato.php, callouts, extrator). -
[x] Lab:
docs:build+project:update-all [REDACTED];page:inspectsem erros de console em/docs/reference/libraries/cron/e/docs/reference/modules/usuarios/; screenshots conferidos. -
[ ] Revisão manual do Humano no Lab (lista de testes no relatório final).
BATCH-183 — Parser docs:build (req-178)
-
[x]
vendor/bin/phpunit --filter "DocsBuildReq178Test|DocsToolingReq177Test": 12/12 (84 asserções). -
[x] Suíte completa no Windows: 1.231/1.232 — única falha
CoreHelpersTest(openssl.cnf, ambiente). -
[x]
docs:build --project=[REDACTED]idempotente (2ª execução: 0 arquivos). -
[x] Lab:
project:update-allsem órfãos; HTTP 200 em/docs/, índices, 3 docs,/en/docs/...e/docs/llms.txt;page:inspectsem erros de console; screenshots pt-br/en conferidos (temp/docs-*.png).
BATCH-181 e BATCH-182 — Limpeza do ai-workspace e ferramentas de documentação (req-176, req-177)
-
[x] Branch
legacy/ai-workspace-pre-docspreservaagents-history/,prompts/,templates/; 179 arquivos removidos damain,scripts/intocado. -
[x]
php cli/c2f.php docs:audit --json: 8 docs piloto (pt-br + en) com score 0; 0 erros. -
[x]
php cli/c2f.php docs:extract --all --check: exit 0. -
[x]
vendor/bin/phpunit --filter DocsToolingReq177Test: 8/8 (34 asserções). -
[x] Suíte completa no Windows: 1.227/1.228 — única falha
CoreHelpersTest::testCriptografiaBasicaComChavesRsa(openssl.cnfausente no PHP WinGet, ambiente, conhecida).
BATCH-180 — Renovação silenciosa de CSRF e retry transparente (req-175)
-
[x]
gestor_csrf_resposta_invalida()devolvecode: CSRF_INVALID_OR_EXPIREDno JSON e o cabeçalhoX-Gestor-Csrf-Errornos ramos JSON e HTML. -
[x] Rota
_gestor-csrf-token/isenta de CSRF: visitante e usuário logado recebem200com token; login expirado recebe401 AUTH_EXPIREDcomX-Gestor-Auth-Redirect, sem token; respostano-store. -
[x]
global.js: renovação única com fila; retry transparente emfetche XHR (o que cobre o$.ajax); propagação para a<meta>,gestor.csrfToken, campos ocultos e a página hospedeira. -
[x] 403 legítimo (ACL) não entra em retry; no máximo uma repetição por requisição; XHR síncrono e GET ficam fora.
-
[x]
visibilitychangecom limite de 30 s; a checagem proativa não redireciona. -
[x] Cache-bust:
global.min.jsregenerado e ownerglobaldoasset-versions.jsonatualizado. -
[x] PHPUnit focado 15/15; Vitest focado 23/23.
-
[x] PHPUnit completo 1.220/1.220 (4 skipped,
OPENSSL_CONFexplicitado), exit 0; Vitest completo 449/449, exit 0;git diff --checkexit 0. -
[ ] Homologação runtime (expirar sessão e confirmar retry transparente em tela real).
BATCH-179 — Sincronização automática de hooks em deploy de projeto (req-174)
-
[x] O fluxo normal de
atualizacoes-banco-de-dados.php, com ou sem--project, executaatualizacoes_hooks_sincronizar()depois de migrações/dados. -
[x] O resumo final reporta hooks processados por módulos, plugins, projeto e total.
-
[x]
project:sync-hooks <projeto-id>está registrado e usa--hooks-onlysobre o transporte compartilhado SSH/Host/Docker. -
[x] Idempotência e remoção declarativa cobertas por teste comportamental: 3 testes, 27 asserções, exit 0.
-
[x] PHPUnit completo: 1.205 testes, 7.908 asserções, 4 pulados, exit 0 (com
OPENSSL_CONFdo PHP 8.5 explicitado). -
[x] Vitest completo: 30 arquivos, 426 testes, exit 0.
-
[x] Sintaxe PHP/Bash/JSON e
git diff --check: exit 0. -
[x] Lab HestiaCP: Deploy em
[REDACTED]concluiu com HTTP 200,Hooks => total=80 (módulos=12, plugins=0, projeto=68), confirmando a sincronização automática de hooks sem necessidade de intervenção manual no banco.
BATCH-178 — Query String em 301 e Expurgamento de Blocos no Widget Forms (req-173)
-
[x] Roteador 301 repassa
'querystring' => truena chamada degestor_roteador_erro()emgestor/gestor.php. -
[x] Concatenação extraída para
gestor_redirecionar_montar_url()emgestor/bibliotecas/gestor.php, tratando com segurança destinos já parametrizados (&), sem deixar?órfão. -
[x]
forms_widget_limpar_fragmentos()criada e aplicada no retorno deforms_widget_render_inline()emgestor/modulos/forms/forms.widget.php, expurgandooption-choice,option-select,password-togglee<template>vazio, além de sanitizar marcadores residuais@[[item#*]]@,@[[option#*]]@e@[[password#*]]@. -
[x] Selects, rádios, checkboxes e alternância de visibilidade de senha permanecem 100% operacionais no formulário gerado.
-
[x] PHPUnit focado REQ-173: 12 testes, 33 asserções, exit 0 (
Req173Redirecionamento301TesteReq173FormsWidgetFragmentosTest). -
[x] PHPUnit completo: 1.202 testes, 7.881 asserções, 4 pulados, exit 0.
-
[x] Vitest: 30 arquivos, 426 testes, exit 0.
-
[x]
assets:minify --verificar: 0 derivados desatualizados;git diff --check: exit 0. -
[x] Runtime Lab (
[REDACTED]): confirmado 301 preservando parâmetros/UTMs, checkout sem contorno renderizando 0 marcadores crus.
BATCH-177 — Fallback reCAPTCHA v3/v2 em autenticação Tailwind (req-172)
-
[x] Interceptador nativo cobre login, OAuth, cadastro e recuperação de senha, com ações fixas no cliente e submissão nativa após obter o token.
-
[x] Backend usa ação esperada definida pelo servidor e solicita reCAPTCHA v2 quando o v3 falha ou fica abaixo do score aceito.
-
[x] Resposta v2 é validada por
gestor_captcha_validar(null, ['v2' => true])e, quando aprovada, libera a validação de credenciais. -
[x] PHPUnit focado: 147 testes/825 asserções. PHPUnit completo: 1.190 testes/7.848 asserções, 4 pulados, exit 0.
-
[x] Vitest focado: 81 testes. Vitest completo: 30 arquivos/426 testes, exit 0.
-
[x]
php -l,node --check,assets:minify --verificar,resources:syncegit diff --check: aprovados. -
[x] Lab HestiaCP:
project:update-all [REDACTED]concluiu oito estágios; Playwright confirmou v3 inválido → checkbox v2 → validação de credenciais em[REDACTED]com chaves oficiais de teste. -
[x] Configuração temporária do Lab restaurada e review findings-first concluído sem finding bloqueante.
BATCH-176 — Cloudflare Turnstile (req-171)
-
[x]
php -lnos 6 PHP alterados/criados enode --checknos 3 JS de autoria: sem erros. -
[x] PHPUnit com
OPENSSL_CONFválido: 1.187 testes, 7.843 asserções, 4 pulados, exit 0. Os 6 testes deCaptchaTurnstileTestcobrem sucesso, bloqueio, rede, JSON inválido, segredo inválido, token ausente e Google. -
[x] Vitest: 423/423, exit 0.
-
[x]
assets:minify --verificar: 0 derivados desatualizados;resources:sync: 2.882 recursos, exit 0;git diff --check: exit 0. -
[x] Lab HestiaCP:
project:update-all [REDACTED]concluiu 8 estágios; SQLpaginasconfirmouadmin-environmentemen/pt-brcom Turnstile.dist/opcional não foi publicado por ausência dePUBLIC_PATH. -
[x] Playwright em
[REDACTED]com chaves oficiais de teste:/signin/,/signup/,/forgot-password/e/contact/HTTP 200, widget ecf-turnstile-responsepresentes, zero erros de console. Capturas emtemp/batch-176-*-turnstile.png. -
[x] Painel: seletor e bloco Turnstile visíveis na aba Usuário; teste AJAX retornou “Chaves e token do Turnstile válidos.”; salvar retornou HTTP 200/
status=successe gravou as quatro variáveis esperadas..envdo Lab restaurado após os testes. -
[x] Limite da inspeção: o
page:inspectpadrão usanetworkidle, que expirou com o script da Cloudflare; Playwright comdomcontentloadede captura visual confirmou a renderização. O helperauth:cookie --projectfalhou na montagem de aspas [REDACTED] Windows; o gerador existente foi executado diretamente no Lab.
Use este checklist para validar batches no conn2flow sem perder de vista o baseline operacional do repositório.
Onboarding SDD repo-wide
-
[x] CLAUDE.md instalado na raiz do repositório
-
[x] .claude/ instalado com agents, rules, skills e settings do Claude Code
-
[x] .github/copilot-instructions.md instalado
-
[x] .github/instructions/, .github/prompts/, .github/skills/ e .github/agents/ com artefatos SDD do Copilot
-
[x] sdd/scripts/hooks/ criado com hooks de sessão SDD
-
[x] sdd/human-requests/ ativo
-
[x] sdd/README.md, process/, implementation/, validation/ e decisions/ criados
-
[x] sdd/00-baseline-architecture.md criado com preservação do legado
Checklist mÃnimo por batch
-
[ ] O batch está registrado em sdd/implementation/BATCH-INDEX.md
-
[ ] O impacto foi comparado contra sdd/00-baseline-architecture.md
-
[ ] A menor validação executável do slice foi definida antes de editar mais do que o necessário
-
[ ] Scripts, tasks ou paths alterados continuam coerentes com dev-environment/data/environment.json
-
[ ] Não houve reescrita ampla do legado sem mudança normativa aprovada
-
[ ] O review findings-first foi feito quando a mudança ficou pronta para avaliação
Quando o batch tocar operação local
-
[ ] Validar a task do VS Code mais próxima ou o script subjacente equivalente
-
[ ] Se tocar Docker, checar status, logs ou execução correspondente
-
[ ] Se tocar sincronização de projeto, validar source/target/path no environment.json
-
[ ] Se tocar plugins, validar o fluxo na árvore dev-plugins/
Evidência mÃnima esperada
-
comando executado ou checagem objetiva usada
-
resultado observado
-
pendências ou riscos restantes
Regra final
Se não houver validação executável no slice atual, o batch deve registrar explicitamente por que a validação ficou documental ou manual.
Validações de Batches Arquivados
Para manter o checklist de validações leve e eficiente (teto de 25 blocos ativos na REQ-051), as validações anteriores foram arquivadas:
-
validation-001-017.md (BATCH-001 a BATCH-017)
-
validation-018-053.md (BATCH-018 a BATCH-053)
-
validation-054-093.md (BATCH-054 a BATCH-093)
-
validation-094-110.md (BATCH-094 a BATCH-110)
-
validation-111-134.md (17 blocos históricos entre BATCH-111 e BATCH-134; ordem documental preservada)
-
validation-136-173.md (BATCH-136 a BATCH-173)
BATCH-228 — Listagem Tailwind (req-220)
-
[x] CA-1: piloto sem assets Fomantic/DataTables; layout/menu Tailwind usam Lucide.
-
[x] CA-2: cadastro, edição, clonagem, busca, ordenação, paginação, status e exclusão conferidos em desktop e 390 px; sem overflow da página.
-
[x] CA-3: admin-paginas/admin-layouts continuam listando com DataTables.
-
[x] CA-4: PHPUnit completo 1.475 testes/11.720 asserções (Linux com LF); focado final 44/591; Vitest 483 testes; Playwright 21 verificações e zero erros de console.
-
[x] Pipeline oficial [REDACTED] concluído, banco sincronizado e 458 arquivos conferidos por hash. Publicação direta de dist falhou por caminho Windows no rsync; fallback estático validado.
-
[x] Dados antes/depois: 7 grupos ativos, registros de teste removidos. Sintaxe PHP/JS e git diff --check aprovados.
-
[x] Review técnico do slice sem finding bloqueante; mudanças alheias mantidas fora do diff.
-
[ ] Revisão independente e consolidação pela req-219/humano.
Evidências: BATCH-228, roteiro, resultados. Runtime inspecionado em pt-br; en compilado e verificado por unidade. Depreciações/pulados e problemas iniciais de CRLF registrados no lote.
BATCH-230 — Família Publisher em Tailwind (req-221)
-
[x] CA-1: cinco módulos e três variantes do editor, pt-br/en; documento do painel sem Fomantic.
-
[x] CA-2: listar/adicionar/editar/clonar, selects, switches, abas, campos/vínculos, curadoria, salvar e recarregar; desktop/390 px sem overflow. Workspace Social carregado e reaberto nas duas larguras.
-
[x] CA-3: sem alert/confirm/prompt nativos nas telas migradas.
-
[x] CA-4: PHPUnit completo 1.515/14.094; Vitest completo 495; contratos core 10/1.543; site PHP 3/92 e JS 9; Playwright 439 verificações sem falhas.
-
[x] CA-5: relatório BATCH-230 e roteiro humano no PENDENCIAS-HUMANAS.md do site.
-
[x] Pipeline oficial sequencial, CSS final reconstruído, manutenção desligada e fixture própria removida pela UI.
-
[x] Review de contratos/dependências/CSRF e git diff --check; artefatos fora do escopo invertidos antes dos commits.
-
[ ] Revisão independente, teste humano e consolidação pela req-219.
Evidências e limitações: BATCH-230. Roteiro/resultados no site em sdd/validation/core/req221-publisher-e2e.cjs e evidence-req221/. Runtime pt-br; en compilado e verificado por contratos. JS compartilhados mais recentes da req-219 preservados; controle legado admin-templates e cadastro ausente de sua simulação original descritos no lote.