namespace ClaudeDo.Data.Models; public sealed class ListConfigEntity { public required string ListId { get; init; } public string? Model { get; set; } public string? SystemPrompt { get; set; } public string? AgentPath { get; set; } public int? MaxTurns { get; set; } public string? SessionSkills { get; set; } public string? VerifyCommand { get; set; } // Null = inherit AppSettingsEntity.DefaultPermissionMode. One of PermissionModeRegistry.Modes. public string? PermissionMode { get; set; } // Id des Projekts im externen Ticketsystem, aus dem diese Liste Tickets importiert. // Null = nicht verknüpft. ⚠️ SetConfigAsync kopiert verbatim — jeder Writer muss dieses // Feld mitführen, sonst setzt es sich still zurück. public int? TicketProjectId { get; set; } // Per-Liste-Opt-in für PowerUse. Ein Handler-Run läuft nur unattended, wenn BEIDES gesetzt ist: // dieses Flag und AppSettingsEntity.PowerUseEnabled. Der globale Toggle bleibt damit gefahrlos // an — eine Liste, die hier nicht zugestimmt hat, behält das interaktive Verhalten. Default // false, also opt-in. ⚠️ Gleiche Falle wie TicketProjectId: SetConfigAsync kopiert verbatim. public bool PowerUseAllowed { get; set; } // Navigation property public ListEntity List { get; set; } = null!; }