svrnty-mcp-gateway/src/Svrnty.MCP.Gateway.Core/Interfaces/IHealthChecker.cs
Svrnty a4a1dd2e38 docs: comprehensive AI coding assistant research and MCP-first implementation plan
Research conducted on modern AI coding assistants (Cursor, GitHub Copilot, Cline,
Aider, Windsurf, Replit Agent) to understand architecture patterns, context management,
code editing workflows, and tool use protocols.

Key Decision: Pivoted from building full CLI (40-50h) to validation-driven MCP-first
approach (10-15h). Build 5 core CODEX MCP tools that work with ANY coding assistant,
validate adoption over 2-4 weeks, then decide on full CLI if demand proven.

Files:
- research/ai-systems/modern-coding-assistants-architecture.md (comprehensive research)
- research/ai-systems/codex-coding-assistant-implementation-plan.md (original CLI plan, preserved)
- research/ai-systems/codex-mcp-tools-implementation-plan.md (approved MCP-first plan)
- ideas/registry.json (updated with approved MCP tools proposal)

Architech Validation: APPROVED with pivot to MCP-first approach
Human Decision: Approved (pragmatic validation-driven development)

Next: Begin Phase 1 implementation (10-15 hours, 5 core MCP tools)

🤖 Generated with CODEX Research System

Co-Authored-By: The Archivist <archivist@codex.svrnty.io>
Co-Authored-By: The Architech <architech@codex.svrnty.io>
Co-Authored-By: Mathias Beaulieu-Duncan <mat@svrnty.io>
2025-10-22 21:00:34 -04:00

39 lines
1.6 KiB
C#

using OpenHarbor.MCP.Gateway.Core.Models;
namespace OpenHarbor.MCP.Gateway.Core.Interfaces;
/// <summary>
/// Defines the contract for health checking servers.
/// Supports both active (periodic) and on-demand health checks.
/// </summary>
public interface IHealthChecker
{
/// <summary>
/// Performs a single health check on the specified server.
/// </summary>
/// <param name="serverConfig">Server configuration to check</param>
/// <param name="cancellationToken">Cancellation token</param>
/// <returns>Health status of the server</returns>
Task<ServerHealthStatus> CheckHealthAsync(ServerConfig serverConfig, CancellationToken cancellationToken = default);
/// <summary>
/// Starts monitoring the specified servers with periodic health checks.
/// </summary>
/// <param name="serverConfigs">List of servers to monitor</param>
/// <param name="cancellationToken">Cancellation token</param>
Task StartMonitoringAsync(IEnumerable<ServerConfig> serverConfigs, CancellationToken cancellationToken = default);
/// <summary>
/// Stops all active health monitoring.
/// </summary>
/// <param name="cancellationToken">Cancellation token</param>
Task StopMonitoringAsync(CancellationToken cancellationToken = default);
/// <summary>
/// Gets the current health status of all monitored servers.
/// </summary>
/// <param name="cancellationToken">Cancellation token</param>
/// <returns>Collection of server health statuses</returns>
Task<IEnumerable<ServerHealthStatus>> GetCurrentHealthAsync(CancellationToken cancellationToken = default);
}