namespace StellaOps.AdvisoryAI.Remediation;
///
/// Type of remediation to apply.
///
public enum RemediationType
{
///
/// Bump dependency to patched version.
///
Bump,
///
/// Upgrade base image to newer version.
///
Upgrade,
///
/// Apply configuration change to mitigate.
///
Config,
///
/// Apply backport patch.
///
Backport,
///
/// Auto-detect best remediation type.
///
Auto
}
///
/// Request for generating a remediation plan.
/// Sprint: SPRINT_20251226_016_AI_remedy_autopilot
/// Task: REMEDY-01
///
public sealed record RemediationPlanRequest
{
///
/// Finding ID to remediate.
///
public required string FindingId { get; init; }
///
/// Artifact digest for context.
///
public required string ArtifactDigest { get; init; }
///
/// Vulnerability ID (CVE, GHSA, etc.).
///
public required string VulnerabilityId { get; init; }
///
/// Affected component PURL.
///
public required string ComponentPurl { get; init; }
///
/// Type of remediation to apply.
///
public RemediationType RemediationType { get; init; } = RemediationType.Auto;
///
/// Repository URL for PR generation.
///
public string? RepositoryUrl { get; init; }
///
/// Target branch for PR (default: main).
///
public string TargetBranch { get; init; } = "main";
///
/// Whether to generate PR immediately.
///
public bool AutoCreatePr { get; init; }
///
/// Correlation ID for tracing.
///
public string? CorrelationId { get; init; }
}