54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
# PR-023 - PBS Stdlib Environment Resolver and Interface Loader
|
|
|
|
## Briefing
|
|
|
|
Para suportar interface modules reais, o frontend precisa resolver project spaces reservados (`@core:*`, `@sdk:*`) fora da trilha de dependencias ordinarias.
|
|
|
|
Esta PR introduz o loader/resolver de stdlib environment com fronteiras explicitas.
|
|
|
|
## Motivation
|
|
|
|
As specs definem que stdlib e import ordinario possuem resolucoes distintas e sem fallback cruzado.
|
|
Sem essa separacao, interface modules nao podem ser montados de forma normativa.
|
|
|
|
## Target
|
|
|
|
- Abstracoes de stdlib no frontend/compiler pipeline.
|
|
- Fluxo de import para project spaces reservados.
|
|
|
|
## Scope
|
|
|
|
- Introduzir `StdlibEnvironment`, `StdlibModuleResolver`, `StdlibModuleSource`, `InterfaceModuleLoader`.
|
|
- Integrar roteamento no `PBSFrontendPhaseService` para imports reservados.
|
|
- Manter resolucao ordinaria inalterada para `@project:*` nao reservado.
|
|
|
|
## Method
|
|
|
|
- Implementar resolucao por linha de stdlib selecionada no root manifest.
|
|
- Carregar modulo reservado como fonte PBS real (nao tabela hardcoded).
|
|
- Emitir erro deterministico quando modulo reservado nao for encontrado/carregado.
|
|
|
|
## Acceptance Criteria
|
|
|
|
- Imports reservados nao passam por resolver ordinario.
|
|
- Imports ordinarios nao passam por stdlib resolver.
|
|
- Falha de resolucao reservada gera diagnostico deterministico e atribuivel.
|
|
|
|
## Tests
|
|
|
|
- Fixture: import reservado resolvido via stdlib resolver.
|
|
- Fixture: modulo reservado inexistente com erro deterministico.
|
|
- Fixture: tentativa de resolver reservado via trilha ordinaria rejeitada.
|
|
|
|
## Non-Goals
|
|
|
|
- Validacao semantica de forms reservadas dentro do modulo carregado.
|
|
- Extracao de metadata de builtins/host para lowering.
|
|
|
|
## Affected Documents
|
|
|
|
- `docs/pbs/specs/5. Manifest, Stdlib, and SDK Resolution Specification.md`
|
|
- `docs/pbs/specs/8. Stdlib Environment Packaging and Loading Specification.md`
|
|
- `docs/pbs/specs/12. Diagnostics Specification.md`
|
|
|