2.0 KiB
2.0 KiB
PR-022 - PBS Source Kind and Module Origin in Frontend Pipeline
Briefing
O pipeline atual trata todo .pbs como fonte ordinaria de projeto.
As specs exigem distincao entre source ordinario e interface-module de SDK/stdlib.
Esta PR introduz classificacao explicita de origem de fonte no frontend para permitir regras diferentes por contexto.
Motivation
Sem classificacao de origem, o parser e os validadores nao conseguem aplicar corretamente:
- rejeicao de forms reservadas em projeto ordinario,
- admissao de forms reservadas em interface modules,
- e ownership correto de diagnosticos de resolucao/import.
Target
FrontendPhaseContexte dados de projeto consumidos pelo frontend PBS.PBSFrontendPhaseServicee fluxo de descoberta/roteamento de fontes.
Scope
- Introduzir
SourceKind/ModuleOriginno pipeline (PROJECT,SDK_INTERFACE). - Preservar comportamento atual para fontes ordinarias.
- Nao alterar ainda parser/semantica de forms reservadas (vem nas PRs seguintes).
Method
- Adicionar modelagem de origem por unidade de modulo no frontend phase.
- Classificar modulo pelo project space (
@core:*,@sdk:*vs projetos ordinarios), conforme specs de resolucao. - Propagar
SourceKindate o ponto de parsing/validacao para habilitar gating por contexto nas PRs seguintes.
Acceptance Criteria
- Cada arquivo
.pbsprocessado pelo frontend possuiSourceKinddeterministico. - Modulos ordinarios continuam no caminho atual sem regressao.
- Modulos reservados ficam marcados para fluxo de interface-module.
Tests
- Testes unitarios para classificacao de origem de modulo por project space.
- Testes de nao regressao em projeto ordinario sem stdlib.
Non-Goals
- Implementar stdlib loader completo.
- Alterar AST ou parser de forms reservadas.
Affected Documents
docs/pbs/specs/3. Core Syntax Specification.mddocs/pbs/specs/5. Manifest, Stdlib, and SDK Resolution Specification.mddocs/pbs/specs/8. Stdlib Environment Packaging and Loading Specification.md