# PR-10.5 - PBS Parser Recovery Utilities and Regression Hardening ## Briefing As PRs anteriores reduzem a complexidade estrutural de `PbsParser`. Esta PR fecha a trilha com consolidacao de recovery/utilitarios e endurecimento de regressao, ainda sem alterar funcionalidade. O objetivo e evitar que a decomposicao introduza pequenas divergencias em diagnosticos, spans ou pontos de reinicio. ## Motivation ### Dor atual que esta PR resolve 1. Recovery e helpers de consumo sao sensiveis e podem ficar duplicados apos a extracao. 2. Sem cobertura adicional, uma refatoracao estrutural grande pode preservar testes principais e ainda mudar detalhes de parser. 3. O parser precisa terminar menor, mas tambem com fronteiras de manutencao claras. ## Target Consolidar a etapa final do refactor: 1. recovery de topo e de atributos, 2. helpers de consumo/report, 3. regressao de spans/diagnosticos, 4. limpeza final de `PbsParser`. ## Dependencies Prerequisitos diretos: 1. `PR-10.1` 2. `PR-10.2` 3. `PR-10.3` 4. `PR-10.4` ## Scope 1. Consolidar `consume`, `consumeForToken`, `consumeDeclarationTerminator`, `consumeBalancedBraces`, `synchronizeTopLevel` e recovery de atributo em utilitarios coesos. 2. Remover duplicacao residual entre subparsers. 3. Adicionar ou endurecer testes de regressao para: - spans, - erros esperados, - recovery em topo e em bloco, - modos `ORDINARY` e `INTERFACE_MODULE`. ## Non-Goals 1. Nao alterar taxonomia de `ParseErrors`. 2. Nao introduzir novas construcoes sintaticas. 3. Nao reescrever o lexer ou `PbsExprParser`. ## Method ### O que deve ser feito explicitamente 1. Fazer uma passada final de consolidacao estrutural. 2. Eliminar helpers obsoletos ou duplicados apos as extracoes. 3. Verificar equivalencia observavel com foco em spans e recovery. 4. Encerrar a trilha com `PbsParser` como fachada pequena e clara. ## Acceptance Criteria 1. `PbsParser` fica restrito a composicao/orquestracao e nao volta a concentrar logica de parse pesado. 2. Recovery e consumo de token ficam centralizados e sem duplicacao relevante. 3. Suite do frontend PBS passa integralmente. 4. Nao ha mudanca funcional observavel em parse, AST ou diagnosticos. ## Tests 1. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsParserTest*` 2. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsParserStatementsTest*` 3. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test --tests *PbsExprParserTest*` 4. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test` ## Affected Documents 1. Nenhum documento normativo. ## Open Questions 1. Nenhuma de arquitetura. A partir desta PR, qualquer mudanca adicional deve ser tratada como evolucao funcional separada, nao como parte do refactor estrutural.