# 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 - `FrontendPhaseContext` e dados de projeto consumidos pelo frontend PBS. - `PBSFrontendPhaseService` e fluxo de descoberta/roteamento de fontes. ## Scope - Introduzir `SourceKind`/`ModuleOrigin` no 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 `SourceKind` ate o ponto de parsing/validacao para habilitar gating por contexto nas PRs seguintes. ## Acceptance Criteria - Cada arquivo `.pbs` processado pelo frontend possui `SourceKind` deterministico. - 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.md` - `docs/pbs/specs/5. Manifest, Stdlib, and SDK Resolution Specification.md` - `docs/pbs/specs/8. Stdlib Environment Packaging and Loading Specification.md`