# PR-025 - PBS Interface-Module Semantics and Linking Rules ## Briefing Depois de parsear forms reservadas, o frontend precisa validar regras semanticas especificas de interface modules e integrar host/builtin shells ao linking. ## Motivation Sem essa etapa: - declarations reservadas entram sem contrato semantico, - host owners nao entram corretamente no namespace/linking, - e o barrel contract para `host` nao fecha. ## Target - Validadores semanticos (`declaration`, `flow` quando aplicavel). - `PbsNamespaceBinder` e `PbsModuleVisibilityValidator`. ## Scope - Validar restricoes declarativas de interface module (nao executavel, assinatura-only onde requerido). - Validar posicionamento/shape de `Host`, `BuiltinType`, `BuiltinConst`, `IntrinsicCall`, `Slot`. - Incluir host owners em namespace e linking (incluindo barrel host entry resolution). ## Method - Adicionar caminho semantico para `SDK_INTERFACE` com regras de admissao dedicadas. - Reusar estrutura de diagnosticos com codigos estaveis. - Garantir ownership de fase para erros de linking vs static semantics. ## Acceptance Criteria - `host` barrel entries resolvem quando `declare host` existe no modulo reservado. - Violacoes de posicionamento/shape de attributes reservadas sao rejeitadas deterministicamente. - Modulos ordinarios continuam com as regras atuais e sem regressao. ## Tests - Fixtures positivos de interface module valido com host/builtin declarations. - Fixtures negativos de attributes mal posicionadas e host/builtin invalido. - Fixtures de linking para barrel host item resolvido e nao resolvido. ## Non-Goals - Materializacao final de metadata no artifact/lowering. - Politica completa de runtime capabilities. ## Affected Documents - `docs/pbs/specs/4. Static Semantics Specification.md` - `docs/pbs/specs/6.1. Intrinsics and Builtin Types Specification.md` - `docs/pbs/specs/6.2. Host ABI Binding and Loader Resolution Specification.md` - `docs/pbs/specs/12. Diagnostics Specification.md`