// -----------------------------------------------------------------------------
// RetentionPolicy.cs
// Sprint: SPRINT_20260118_017_Evidence_artifact_store_unification
// Task: AS-002 - Implement S3-backed ArtifactStore
// Description: Retention policy settings for artifacts
// -----------------------------------------------------------------------------
namespace StellaOps.Artifact.Infrastructure;
///
/// Retention policy for artifact types.
/// Sprint: SPRINT_20260118_017 (AS-002)
///
public sealed class RetentionPolicy
{
///
/// Number of days to retain artifacts.
///
public int RetentionDays { get; set; } = 365 * 5;
///
/// Whether to delete artifacts after expiry (true) or just mark expired (false).
///
public bool DeleteAfterExpiry { get; set; } = false;
///
/// Optional S3 storage class to transition to after specified days.
///
public string? TransitionStorageClass { get; set; }
///
/// Days after creation to transition to TransitionStorageClass.
///
public int? TransitionAfterDays { get; set; }
}