diff --git a/src/PluginEngine/Services/Abstractions/IPluginManagerService.cs b/src/PluginEngine/Services/Abstractions/IPluginManagerService.cs
index d704b44..ab4faf3 100644
--- a/src/PluginEngine/Services/Abstractions/IPluginManagerService.cs
+++ b/src/PluginEngine/Services/Abstractions/IPluginManagerService.cs
@@ -14,53 +14,80 @@ namespace PluginEngine.Services.Abstractions;
public interface IPluginManagerService
{
///
- /// Initializes the plugin manager.
+ /// Discovers and loads all plugins from configured directories, resolves dependencies,
+ /// and activates auto-start plugins. Must be called before any other operations.
///
+ /// Token to cancel the initialization.
Task InitializeAsync(CancellationToken cancellationToken = default);
///
- /// Shuts down the plugin manager.
+ /// Gracefully shuts down all active plugins in reverse dependency order and
+ /// releases all associated AssemblyLoadContexts.
///
+ /// Token to cancel the shutdown.
Task ShutdownAsync(CancellationToken cancellationToken = default);
///
- /// Gets the manager status.
+ /// Returns the current status of the plugin manager including initialization state,
+ /// plugin counts by category, and last error information.
///
+ /// A snapshot.
Task GetStatusAsync();
///
- /// Gets all plugins.
+ /// Returns all registered plugins regardless of their current status.
///
+ /// Cancellation token.
+ /// An enumerable of all instances.
Task> GetAllPluginsAsync(CancellationToken cancellationToken = default);
///
- /// Gets plugins filtered by status.
+ /// Returns plugins filtered by their current lifecycle status.
///
+ /// The plugin status to filter by (e.g., Active, Inactive, Failed).
+ /// Cancellation token.
+ /// An enumerable of plugins matching the specified status.
Task> GetPluginsByStatusAsync(PluginStatus status, CancellationToken cancellationToken = default);
///
- /// Activates a plugin.
+ /// Activates a previously loaded but inactive plugin. Resolves its dependencies
+ /// and invokes the plugin's initialization hook.
///
+ /// The unique identifier of the plugin to activate.
+ /// Cancellation token.
+ /// true if the plugin was activated successfully; false if not found or activation failed.
Task ActivatePluginAsync(Guid pluginId, CancellationToken cancellationToken = default);
///
- /// Deactivates a plugin.
+ /// Deactivates a running plugin, invoking its shutdown hook and releasing resources.
///
+ /// The unique identifier of the plugin to deactivate.
+ /// Cancellation token.
+ /// true if the plugin was deactivated successfully; false if not found or already inactive.
Task DeactivatePluginAsync(Guid pluginId, CancellationToken cancellationToken = default);
///
- /// Gets plugin details.
+ /// Retrieves detailed information about a plugin including metadata, loaded assemblies,
+ /// dependency graph, and declared capabilities.
///
+ /// The unique identifier of the plugin.
+ /// Cancellation token.
+ /// A object, or null if the plugin is not found.
Task GetPluginDetailsAsync(Guid pluginId, CancellationToken cancellationToken = default);
///
- /// Searches for plugins.
+ /// Searches for plugins matching the specified criteria with pagination support.
///
+ /// Search filters including name, author, status, version, and tags.
+ /// Cancellation token.
+ /// A paginated enumerable of matching instances.
Task> SearchPluginsAsync(PluginSearchCriteria criteria, CancellationToken cancellationToken = default);
///
- /// Gets manager statistics.
+ /// Returns aggregate statistics about plugin manager operations including memory usage,
+ /// load context counts, and average load times.
///
+ /// A snapshot.
Task GetStatisticsAsync();
}