added PRs
This commit is contained in:
parent
f8a420ac7d
commit
a84dece9f6
@ -125,3 +125,10 @@ Foco: fechar `partial/deferred` relevantes da matriz normativa e endurecer evide
|
||||
4. `PR-06.4-gate-i-runtime-line-repeatability-ci.md`
|
||||
5. `PR-06.5-conformance-matrix-hard-gate-policy.md`
|
||||
6. `PR-06.6-spawn-yield-v1-or-claim-rescope.md`
|
||||
|
||||
### Onda O7 - Partial Closure Before IDE Focus
|
||||
|
||||
Foco: eliminar os dois `partial` remanescentes na matriz backend antes de mover foco principal para IDE.
|
||||
|
||||
1. `PR-07.1-optimize-irvm-span-source-hook-preservation.md`
|
||||
2. `PR-07.2-pbs-callsite-category-no-textual-heuristics-regression.md`
|
||||
|
||||
@ -0,0 +1,73 @@
|
||||
# PR-07.1 - OptimizeIRVM Span and Source-Hook Preservation
|
||||
|
||||
## Briefing
|
||||
|
||||
A matriz de conformidade ainda marca `G21-7.5` como `partial`.
|
||||
|
||||
Hoje existe evidencia de spans no lowering, mas falta regressao dedicada provando que passes de `OptimizeIRVM` preservam hooks de atribuicao de origem (spans/source hooks) apos reescritas de instrucoes e remapeamento de saltos.
|
||||
|
||||
## Motivation
|
||||
|
||||
### Dor atual que esta PR resolve
|
||||
|
||||
1. Risco de regressao silenciosa em spans durante otimização.
|
||||
2. Evidencia insuficiente para fechar `G21-7.5`.
|
||||
3. Diagnosticos pos-otimizacao podem perder rastreabilidade sem prova dedicada.
|
||||
|
||||
## Target
|
||||
|
||||
Fechar `G21-7.5` com suite de regressao explicita para preservacao de source hooks/spans no caminho `LowerToIRVM -> OptimizeIRVM -> EmitBytecode`.
|
||||
|
||||
## Dependencies
|
||||
|
||||
Prerequisitos diretos:
|
||||
|
||||
1. `PR-06.2` (harness de equivalencia de otimizacao).
|
||||
2. `PR-06.3` (passes reais de reescrita/remocao no optimizer).
|
||||
|
||||
## Scope
|
||||
|
||||
1. Testes dedicados para verificacao de span retention por pass:
|
||||
- `UnreachableInstructionEliminationPass`,
|
||||
- `NormalizeRedundantJumpTargetsPass`,
|
||||
- `SimplifyJumpToNextPcPass`.
|
||||
2. Assercoes de preservacao de `BytecodeEmitter.Operation.span` para operacoes sobreviventes.
|
||||
3. Assercoes de preservacao de spans em operacoes de salto apos remapeamento de target.
|
||||
4. Atualizacao da matriz para converter `G21-7.5` de `partial` para `pass`.
|
||||
|
||||
## Non-Goals
|
||||
|
||||
1. Nao introduz novo formato de source map.
|
||||
2. Nao altera contrato de diagnostico fora do backend pipeline.
|
||||
|
||||
## Method
|
||||
|
||||
### O que deve ser feito explicitamente
|
||||
|
||||
1. Criar fixture IRVM com spans distintos por instrucao/op.
|
||||
2. Executar optimize com passes reais e comparar mapeamento de spans esperado no output.
|
||||
3. Incluir caso com salto reescrito para validar span do salto apos remap.
|
||||
4. Incluir caso com eliminacao de instrucoes para validar que operacoes restantes mantem spans originais.
|
||||
5. Atualizar matriz (`docs/general/specs/22...`) com referencias aos novos testes.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
1. Existe suite de teste dedicada para preservacao de spans/source hooks no optimizer.
|
||||
2. Reescritas de salto preservam spans da operacao original.
|
||||
3. Eliminacao de instrucoes nao corrompe spans das operacoes remanescentes.
|
||||
4. `G21-7.5` evolui para `pass`.
|
||||
|
||||
## Tests
|
||||
|
||||
1. Novos testes em `backend/irvm` (ex.: `OptimizeIRVMSourceAttributionTest` ou equivalente).
|
||||
2. Reexecucao obrigatoria:
|
||||
- `:prometeu-compiler:prometeu-build-pipeline:test`
|
||||
|
||||
## Affected Documents
|
||||
|
||||
1. `docs/general/specs/21. IRVM Optimization Pipeline Specification.md`
|
||||
2. `docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md`
|
||||
|
||||
## Open Questions
|
||||
|
||||
Sem bloqueios arquiteturais.
|
||||
@ -0,0 +1,74 @@
|
||||
# PR-07.2 - PBS Callsite Category Without Textual Heuristics (Regression Fixtures)
|
||||
|
||||
## Briefing
|
||||
|
||||
A matriz de conformidade ainda marca `PBS13-12.2.2` como `partial`.
|
||||
|
||||
Ja existe enforce de metadados no contrato executavel, mas falta fixture regressiva dedicada para provar que o frontend/backend nao classifica callsite por heuristica textual quando identidades entram em colisao.
|
||||
|
||||
## Motivation
|
||||
|
||||
### Dor atual que esta PR resolve
|
||||
|
||||
1. Ambiguidade residual na evidencia de `CALL_FUNC/CALL_HOST/CALL_INTRINSIC`.
|
||||
2. Risco de regressao para classificacao por nome textual em casos limítrofes.
|
||||
3. `PBS13-12.2.2` permanece `partial` por falta de caso dedicado de identidade ambigua.
|
||||
|
||||
## Target
|
||||
|
||||
Fechar `PBS13-12.2.2` com fixtures explicitas de identidade e ambiguidade, garantindo que categoria de callsite e derivada de identidade semantica/admitida, nao de heuristica textual.
|
||||
|
||||
## Dependencies
|
||||
|
||||
Prerequisitos diretos:
|
||||
|
||||
1. `PR-05.2` (classificacao de callsite por identidade semantica).
|
||||
2. `PR-05.0.1` e `PR-05.0.6` (name/host identity foundation).
|
||||
|
||||
## Scope
|
||||
|
||||
1. Fixture positiva:
|
||||
- nome textual com "cara de host", mas identidade resolvida como callable local -> deve lower para `CALL_FUNC`.
|
||||
2. Fixture positiva:
|
||||
- nome textual sobreposto entre dominios, com identidade univoca admitida para host ou intrinsic -> deve lower categoria correta.
|
||||
3. Fixture negativa dedicada:
|
||||
- colisao real entre categorias (callable/host/intrinsic) para o mesmo callsite -> rejeicao deterministica por ambiguidade.
|
||||
4. Atualizacao de matriz para converter `PBS13-12.2.2` de `partial` para `pass`.
|
||||
|
||||
## Non-Goals
|
||||
|
||||
1. Nao altera gramatica PBS.
|
||||
2. Nao redefine regras de admission de host/intrinsics fora do escopo desta prova.
|
||||
|
||||
## Method
|
||||
|
||||
### O que deve ser feito explicitamente
|
||||
|
||||
1. Adicionar testes em `PbsFrontendCompilerTest` (ou suite semantica correlata) para os tres cenarios acima.
|
||||
2. Assertar `InstructionKind` resultante (`CALL_FUNC`, `CALL_HOST`, `CALL_INTRINSIC`) em casos positivos.
|
||||
3. Assertar codigo diagnostico deterministico em caso ambiguo.
|
||||
4. Garantir que nao ha branch de fallback por string pattern no caminho de lowering executavel.
|
||||
5. Atualizar matriz de conformidade com referencias dos novos testes.
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
1. Existe fixture dedicada cobrindo ambiguidade de categoria por identidade.
|
||||
2. Casos positivos provam classificacao correta mesmo quando nome textual engana.
|
||||
3. Caso ambiguo falha deterministicamente com diagnostico estavel.
|
||||
4. `PBS13-12.2.2` evolui para `pass`.
|
||||
|
||||
## Tests
|
||||
|
||||
1. Novos testes no frontend PBS:
|
||||
- `:prometeu-compiler:frontends:prometeu-frontend-pbs:test`
|
||||
2. Reexecucao obrigatoria de integracao backend:
|
||||
- `:prometeu-compiler:prometeu-build-pipeline:test`
|
||||
|
||||
## Affected Documents
|
||||
|
||||
1. `docs/pbs/specs/13. Lowering IRBackend Specification.md`
|
||||
2. `docs/general/specs/22. Backend Spec-to-Test Conformance Matrix.md`
|
||||
|
||||
## Open Questions
|
||||
|
||||
Sem bloqueios arquiteturais.
|
||||
Loading…
x
Reference in New Issue
Block a user