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

36 lines
1.6 KiB
Markdown

# 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`.