prometeu-studio/docs/pbs/pull-requests/PR-O4.2-global-intrinsic-table-and-reindexing.md
2026-03-24 13:42:27 +00:00

33 lines
1.3 KiB
Markdown

# PR-O4.2 - Global Intrinsic Table and Reindexing
## Briefing
Consolidar IDs de intrínsecos em escopo global de build para impedir drift de IDs entre módulos e manter mapeamento canônico estável.
## Target
- `PBSFrontendPhaseService` e `IRBackendAggregator`.
- Modelo de saída `IRBackend` para carregar pool global de intrínsecos.
- `CALL_INTRINSIC` no FE/BE.
- Infra `source/tables` de intrínsecos já existente.
## Method
- Promover `IntrinsicTable` para escopo de agregação (não por arquivo).
- Agregador constrói `intrinsic_pool` global (`IntrinsicId -> IntrinsicReference`).
- Reindexar `CALL_INTRINSIC` de módulos compilados para o pool global antes do handoff ao backend.
- Tornar explícito no contrato que `intrinsicId` é relativo ao pool global de build.
## Acceptance Criteria
- Mesmo intrínseco em módulos distintos referencia o mesmo `IntrinsicId` final.
- Não existe colisão/duplicação de id para referências canônicas iguais.
- Artifact produzido mantém IDs estáveis no mesmo input graph.
- Backend não precisa inferir/normalizar ids de intrínseco em runtime.
## Tests
- Caso multi-módulo com intrínseco repetido e intrínsecos distintos.
- Teste de reindex determinístico em ordem diferente de compilação.
- Regressão para caminho de emissão e Gate I com intrínsecos.