Fase P01 Fundacoes do Backend - AlexandreZanata/Abastevo GitHub Wiki

Fase P01 — Fundações do Backend (concluída)

Status: concluída em 2026-09-28. Portão G01 fechado. Sem código de negócio; Android intocado (integração só após G09).

Entregas por etapa (commits em main)

Etapa Commit O que entregou
P01-T01 f3f8d93 Baseline Android reproduzido (Gradle BUILD SUCCESSFUL) + docs/backend/TOOLCHAIN.md com pins D01 e correções A01/A02/A11
P01-T02 bb665fd Módulo Go .../backend (go 1.27, toolchain go1.27.1) + raízes cmd/api, cmd/worker, cmd/migrate
P01-T03 55a922e Configuração tipada ANPFUEL_* com fail-fast redigido + .env.example
P01-T04 13f653a Fábrica slog com contexto de request/job e redação (B-BR-011)
P01-T05 89f1ea7 Servidor HTTP chi com drain gracioso; 404/405 com request ID (chi pula middlewares no 404 default)
P01-T06 a9fcf2d Liveness vs readiness com fail-closed 503
P01-T07 a59ef0c PostGIS 18.6/3.6 local via Compose (loopback :5434, volume anpfuel-pgdata-dev)
P01-T08 49b0a1d Runner de migrations com lock advisory + ledger de checksum; pgx v5.11.0
P01-T09 6fb987c Pool pgx com limites + sqlc v1.31.1 (db/queries/platform); readiness com probe de DB
P01-T10 f60a8e1 Imagens non-root api/worker/migrate (9–20 MB, sem segredos)
P01-T11 cd0b40e OpenAPI v1 draft + 22 vetores golden (vacuum 100/100); ponte A05 guardada
P01-T12 d03dc72 + 3540011 CI backend.yml (fast + PostGIS) e evidência de fechamento em 6cc2975

Evidências do portão G01

  • scripts/check-backend-fast.sh verde local (gofmt, build, vet, unit, staticcheck, sqlc, vacuum, secrets) + govulncheck limpo (corrigido GO-2026-5970 via x/text v0.39.0).
  • go test -race -count=1 -tags=integration ./... verde contra PostGIS real.
  • CI GitHub: backend (fast + integration) e CI (Android ./gradlew test) verdes. A primeira execução falhou e pegou 2 bugs reais de wiring (scan com self-match, hostname do service) — corrigidos e re-verificados.
  • Corridas de referência: backend re-run · Android.

Decisões de toolchain (D01)

Go ≥1.26 (preferido 1.27.x) · PostgreSQL 18 + PostGIS 3.6.x · Docker 29.1.3 / Compose v2.27.0 · chi v5.3.2 · pgx v5.11.0 · sqlc v1.31.1 · staticcheck v0.8.1 · govulncheck v1.8.0 · vacuum v0.30.6. Detalhes e licenças em docs/backend/TOOLCHAIN.md e backend/README.md.

Próxima fase

P02 — Official catalog and ANP ingestion (portão G02), começando por P02-T01 (fixtures ANP compartilhadas).