using System.ComponentModel.DataAnnotations; using StellaOps.AirGap.Time.Models; namespace StellaOps.AirGap.Controller.Endpoints.Contracts; public sealed class SealRequest { [Required] public string? PolicyHash { get; set; } public TimeAnchor? TimeAnchor { get; set; } public StalenessBudget? StalenessBudget { get; set; } /// /// Optional per-content staleness budgets (advisories, vex, policy). /// Falls back to StalenessBudget when not provided. /// public Dictionary? ContentBudgets { get; set; } }