Internals
Go deeper than “drop in a plugin and ship.” These pages cover how the pieces fit together — useful when you’re building a plugin or package, writing a custom adapter, or curious how it all works.
The Plugin Lifecycle How plugins boot, in what order, and why the three phases exist. What happens between createServer() and your first request.
Context and Registrar SlingshotContext, the WeakMap-backed per-app state container, and how CoreRegistrar lets packages share capabilities without importing each other.
The Event Bus InProcessAdapter internals, client-safe event filtering, the drain() contract for test isolation, and how SSE bridges to the bus.
Reflect Symbol DI How cross-cutting concerns (entity registration, search sync, search client resolution) are injected via Reflect symbols on StoreInfra — without function arguments.
Persistence Resolution RepoFactories, resolveRepo(), and how the framework dispatches to the right adapter at startup without any runtime branching in your business logic.