namespace ClaudeDo.Worker.Runner; /// The list handler's phase parameter, threaded from handoff_list_handler (External) /// through HubBroadcaster/WorkerHub down to InteractiveLaunchSpecService, which picks the next /// session's system prompt and model from it. Validated centrally here so an unknown value is /// rejected outright instead of silently falling back to a default. public static class MergeHelperPhase { public const string Wait = "wait"; public const string Merge = "merge"; public const string WaitFinal = "wait_final"; public const string MergeFinal = "merge_final"; public static readonly IReadOnlyList All = new[] { Wait, Merge, WaitFinal, MergeFinal }; public static void Validate(string phase) { if (!All.Contains(phase, StringComparer.Ordinal)) throw new ArgumentException($"Unknown list-handler phase '{phase}'. Allowed: {string.Join(", ", All)}."); } }