77 lines
2.1 KiB
Markdown
77 lines
2.1 KiB
Markdown
# PR-09.5 - Hard Gates: No-`moduleKey` Regression + Migration Cleanup
|
|
|
|
## Briefing
|
|
|
|
Depois do corte `ModuleId`-only, precisamos impedir reintroducao acidental de `moduleKey` estrutural e limpar residuos de migracao.
|
|
|
|
## Motivation
|
|
|
|
### Dor atual que esta PR resolve
|
|
|
|
1. Sem gate dedicado, regressao textual pode voltar por conveniencia.
|
|
2. Testes/golden antigos ainda podem carregar nomenclatura de transicao.
|
|
3. Confianca de manutencao cai sem verificacao automatica de proibicao.
|
|
|
|
## Target
|
|
|
|
Fechar o ciclo de migracao:
|
|
|
|
1. adicionar gate anti-regressao (`moduleKey` proibido em contratos estruturais),
|
|
2. atualizar fixtures/golden para contrato final,
|
|
3. consolidar notas de migracao e contribuicao.
|
|
|
|
## Dependencies
|
|
|
|
Prerequisitos diretos:
|
|
|
|
1. `PR-09.1`
|
|
2. `PR-09.2`
|
|
3. `PR-09.3`
|
|
4. `PR-09.4`
|
|
|
|
## Scope
|
|
|
|
1. Criar teste/lint de proibicao para `moduleKey` em pacotes de contrato/lowering.
|
|
2. Atualizar `golden` de frontend/backend para `ModuleId`-only.
|
|
3. Atualizar docs de contribuicao para adicao de callables/modulos sem chave textual.
|
|
|
|
## Non-Goals
|
|
|
|
1. Nao alterar semantica de parser/lexer PBS.
|
|
2. Nao introduzir novo gate externo ao gradle test.
|
|
|
|
## Method
|
|
|
|
### O que deve ser feito explicitamente
|
|
|
|
1. Adicionar teste de policy:
|
|
- falha se campos/assinaturas estruturais de FE/BE usarem `moduleKey`.
|
|
2. Atualizar snapshots golden e testes que assumiam debug key textual.
|
|
3. Registrar checklist de migracao final:
|
|
- FE lowering,
|
|
- IRBackend contract,
|
|
- LowerToIRVM,
|
|
- docs/matriz.
|
|
|
|
## Acceptance Criteria
|
|
|
|
1. Nao existe `moduleKey` em contratos estruturais FE/BE.
|
|
2. Gate automatizado falha ao tentar reintroduzir o campo.
|
|
3. Testes/golden passam no modo novo sem artefatos legados.
|
|
|
|
## Tests
|
|
|
|
1. `:prometeu-compiler:frontends:prometeu-frontend-pbs:test`
|
|
2. `:prometeu-compiler:prometeu-frontend-api:test`
|
|
3. `:prometeu-compiler:prometeu-build-pipeline:test`
|
|
|
|
## Affected Documents
|
|
|
|
1. `docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md`
|
|
2. `docs/pbs/pull-requests/INDEX.md`
|
|
3. `docs/pbs/specs/13. Lowering IRBackend Specification.md`
|
|
|
|
## Open Questions
|
|
|
|
1. Nenhuma. PR de fechamento e anti-regressao.
|