prometeu-studio/docs/pbs/pull-requests/PR-011-pbs-gate-u-conformance-fixtures.md
2026-03-24 13:42:19 +00:00

1.6 KiB

PR-011 - PBS Gate U Conformance Fixtures

Briefing

A spec exige evidencia de conformidade (Gate U), mas o frontend ainda tem poucos testes unitarios sem fixture matrix. Este PR cria a infraestrutura e a bateria minima de fixtures para validar lexer, parser, semantica, diagnosticos e lowering.

Target

  • Specs:
    • docs/pbs/specs/11. AST Specification.md (secao 12)
    • docs/pbs/specs/13. Lowering IRBackend Specification.md (secao 8)
    • docs/general/specs/13. Conformance Test Specification.md
  • Codigo:
    • novo pacote de teste/fixtures em prometeu-compiler/frontends/prometeu-frontend-pbs/src/test/.

Method

  1. Introduzir harness de fixture com entrada .pbs/.barrel + expectativa estruturada.
  2. Cobrir casos validos das familias obrigatorias de AST e fluxo de parse.
  3. Cobrir casos invalidos obrigatorios (missing closer, non-assoc chains, formas fora de slice).
  4. Adicionar asserts de spans e identidade de diagnostico (code/phase/template).
  5. Integrar suite no gradle test da frontend PBS.

Acceptance Criteria

  • Existe fixture matrix positiva e negativa para lexer/parser/semantica/lowering.
  • Gate U cobre familias obrigatorias de declaracao, statement e expressao.
  • Casos de recovery garantem AST coerente mesmo com erro.
  • Conformidade e verificavel de forma reproduzivel em CI.
  • Falhas mostram diff util entre esperado e obtido.

Tests

  • PbsConformanceFixtureTest novo com subconjuntos:
    • valid/ para parse e lowering;
    • invalid/syntax/;
    • invalid/static-semantics/;
    • invalid/lowering/.
  • Execucao via ./gradlew :prometeu-compiler:frontends:prometeu-frontend-pbs:test.