prometeu-studio/docs/pbs/pull-requests/PR-023-pbs-stdlib-environment-resolver-and-loader.md
2026-03-24 13:42:22 +00:00

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`