using System.Text.Json; namespace GB5Shared.GEF; /// /// Canonical GEF (Guided Execution Framework) input — the situation being evaluated. Built by the /// calling module (SalesMind/Marketing/etc.) and passed to , /// which maps it onto a GB5Shared.DTO.Qualifier.QualifierExecutionContext internally so GEF /// reuses the existing Qualifier DAG rule engine rather than inventing a new one. /// public class ExecutionContextDTO { /// Owning functional domain, e.g. "SALESMIND", "MARKETING". public string Domain { get; set; } = string.Empty; /// Entity type code — matches MQUALIFIERENTITY.ENTITYCODE, e.g. "SALESMIND_DEAL". public string EntityCode { get; set; } = string.Empty; /// Primary key of the entity being evaluated. public int EntityId { get; set; } /// Execution stage — tinyint, matches MQUALIFIERENTITY.STAGE. public byte Stage { get; set; } /// Role of the actor requesting guidance (e.g. "SalesRep", "Marketer"). public string ActorRole { get; set; } = string.Empty; /// Optional AI/model identifier when guidance is requested on behalf of an AI-assisted flow. public string? ModelId { get; set; } /// /// Source facts to evaluate — same shape QualifierExecutionContext.Document expects. /// Qualifier rule conditions read field values from this document. /// public JsonDocument? Document { get; set; } }