1.9 KiB
1.9 KiB
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
PBSFrontendPhaseServicepara 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.mddocs/pbs/specs/8. Stdlib Environment Packaging and Loading Specification.mddocs/pbs/specs/12. Diagnostics Specification.md