OPC # 0001: Extract OPC into standalone repo

This commit is contained in:
amadzarak
2026-04-25 17:26:42 -04:00
commit 42383bdc03
170 changed files with 21365 additions and 0 deletions
@@ -0,0 +1,22 @@
namespace ControlPlane.Core.Models;
public enum PromotionStatus { Pending, Running, Succeeded, Failed }
/// <summary>
/// Represents a request to promote (merge) one environment branch into the next.
/// e.g. develop → staging, staging → uat, uat → main
/// </summary>
public class PromotionRequest
{
public string Id { get; set; } = Guid.NewGuid().ToString("N")[..8];
public string FromBranch { get; set; } = string.Empty;
public string ToBranch { get; set; } = string.Empty;
public string RequestedBy { get; set; } = "system";
public string? Note { get; set; }
public PromotionStatus Status { get; set; } = PromotionStatus.Pending;
public DateTimeOffset CreatedAt { get; set; } = DateTimeOffset.UtcNow;
public DateTimeOffset? CompletedAt { get; set; }
public List<string> Log { get; set; } = [];
public int CommitCount { get; set; } // commits in from that are not in to
public string[] CommitLines { get; set; } = []; // oneline summary of those commits
}