#!/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 "=========================================================="