Files
gart/code/Engine/run_after_fix.sh
T
João HenriqueandClaude Sonnet 5 d13f643ebc chore(fase0): higiene do repositório + corrige gitignore que escondia fcpxml/models/
Fase 0 do roteiro de reestruturação (Engine/docs/10_MAPA_REESTRUTURACAO.md):
move code/WHISPERX (2,6 GB de backups órfãos, sem uso ativo, sem
.gitmodules) para ~/Archives/G-ART-WHISPERX-backup fora do workspace git;
traz admin/ para o gate de lint de run_after_fix.sh; corrige
fcpxml/writer/adjustment.py, que gerava um wrapper <adjustment> inexistente
no DTD 1.13 (filtros agora vão direto no <clip>, na ordem exigida), com
teste de regressão novo.

Achado à parte: .gitignore tinha uma regra solta "models/" (pensada só
para o cache do Whisper em code/models/) que também escondia do git todo o
pacote fcpxml/models/ — nunca commitado, sem proteção nenhuma. Corrigida
para /code/models/, ancorada na raiz.

Docs atualizados no mesmo commit (02_MODULES, 09_MANUTENCAO,
10_MAPA_REESTRUTURACAO, 05_EXPERIENCIAS #34 e #36), conforme a regra do
CLAUDE.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-23 08:28:44 -04:00

46 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# ---------------------------------------------------------------------------
# run_after_fix.sh — VALIDAÇÃO PADRÃO PÓS-CORREÇÃO (G-ART)
#
# Sempre que qualquer correção de código for concluída, o sistema é
# automaticamente executado/validado rodando ESTE script. Ele garante que o
# lint passa com zero erros e que toda a suíte de testes passa antes de
# qualquer commit. Se falhar, corrija antes de prosseguir.
#
# Uso:
# ./Engine/run_after_fix.sh
#
# Requer: uv (veja pyproject.toml). Roda a partir de QUALQUER diretório.
# ---------------------------------------------------------------------------
set -euo pipefail
# Resolve o diretório raiz do repositório (pai da pasta Engine).
REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
cd "$REPO_ROOT"
echo ""
echo "==> [G-ART] Validação pós-correção iniciada..."
echo " Diretório: $REPO_ROOT"
echo ""
echo "==> 1/3 Lint do engine (ruff, code/) — deve passar com ZERO erros"
# A flag --exclude sobrescreve o exclude declarado em pyproject.toml
# (que já ignora docs/). Rode sem flag para herdar a config.
uv run ruff check .
echo " Lint OK ✓"
echo ""
echo "==> 2/3 Lint da ponte (ruff, admin/) — mesma config do engine"
uv run ruff check --config pyproject.toml ../admin/
echo " Lint OK ✓"
echo ""
echo "==> 3/3 Testes (pytest) — todos devem passar"
uv run pytest tests/ -v
echo ""
echo "=========================================================="
echo " TUDO OK ✓"
echo " O sistema passou na validação padrão pós-correção."
echo " Agora você pode commitar com segurança."
echo "=========================================================="