async def METHOD_NAME(self) -> InjectionContext:
    """Build the base injection context; set DIDComm prefix to emit."""
    context = InjectionContext(settings=self.settings)
    context.settings.set_default("default_label", "Aries Cloud Agent")
    if context.settings.get("timing.enabled"):
        timing_log = context.settings.get("timing.log_file")
        collector = Collector(log_path=timing_log)
        context.injector.bind_instance(Collector, collector)
    # Shared in-memory cache
    context.injector.bind_instance(BaseCache, InMemoryCache())
    # Global protocol registry
    context.injector.bind_instance(ProtocolRegistry, ProtocolRegistry())
    # Global goal code registry
    context.injector.bind_instance(GoalCodeRegistry, GoalCodeRegistry())
    # Global event bus
    context.injector.bind_instance(EventBus, EventBus())
    # Global did resolver
    context.injector.bind_instance(DIDResolver, DIDResolver([]))
    context.injector.bind_instance(DIDMethods, DIDMethods())
    context.injector.bind_instance(KeyTypes, KeyTypes())
    context.injector.bind_instance(
        BaseVerificationKeyStrategy, DefaultVerificationKeyStrategy()
    )
    await self.bind_providers(context)
    await self.load_plugins(context)
    # Set DIDComm prefix
    DIDCommPrefix.set(context.settings)
    return context