Pontos de extensão existentes
O Pocket Banana não possui API pública de plugins, eventos de build ou descoberta automática de serviços. Os pontos abaixo são seams internos e sua alteração exige uma nova versão da engine.
PageProvider
Core\Kernel\Contracts\PageProvider define all() e notFound(). PagePageProvider é a única implementação e os consumidores atuais o referenciam diretamente em vários pontos; criar outra implementação não basta sem alterar a composição.
BuildStage
Um estágio implementa nome, label e run(BuildContext). BuildPipeline aceita qualquer lista de estágios, mas BuildCommand usa a lista fixa de BuildPipeline::default(). Acrescentar um estágio exige implementá-lo e mudar essa composição.
Open Graph TypeExtension
Tipos de Collection são resolvidos por classes concretas em Core\Head\Social\OpenGraph que implementam TypeExtension e fornecem slug(). O registry descobre essas classes pelo filesystem. Um novo tipo pode ser reconhecido assim, mas enriquecimento e metadata autoral exigem suporte explícito nas camadas de conteúdo.
Head groups
HeadGroup produz elementos e Head::with() registra grupos nomeados. A criação de heads para páginas, porém, converge em HeadFromContentMeta; expor um novo campo ao usuário exige DTO, lint, validação, hidratação e integração nesse construtor.
Layouts, componentes e assets de Content/ são pontos de customização do site, não extensões do Core. Prefira-os quando o objetivo for somente mudar apresentação.