namespace GB5Shared.DTO.Qualifier
{
// ============================================================
// Qualifier Engine Enumerations
// Integer values match the TINYINT columns in the DB schema.
// ============================================================
/// Qualifier execution mode — maps to MQUALIFIERMETHOD.EXECUTIONMODE.
public enum ExecutionMode : byte
{
NCalc = 1, // NCalc expression evaluated against FactBag
DataSource = 2, // GBQueryExecutor configured query
Service = 3 // IQualifierService registry dispatch
}
///
/// Output scope — maps to MQUALIFIEROUTPUT.OUTPUTSCOPE.
/// Determines which section of the QualifierFactBag the output is written to.
///
public enum OutputScope : byte
{
Document = 1,
Line = 2,
Group = 3
}
/// Finding severity — maps to MQUALIFIERRULECONDITION.SEVERITY.
public enum FindingSeverity : byte
{
Error = 1,
Warning = 2,
Info = 3
}
///
/// DAG execution level within a qualifier plan.
/// Qualifiers at the same level with CanRunParallel=true execute concurrently.
///
public enum ExecutionLevel : byte
{
Level1 = 1,
Level2 = 2,
Level3 = 3,
Level4 = 4,
Level5 = 5
}
/// Qualifier plan cache tier.
public enum CacheTier
{
/// Run-scoped Dictionary — cheapest, cleared after each execution.
RunScoped = 0,
/// IMemoryCache — survives across requests within the process lifetime.
Process = 1
}
/// Qualifier version lifecycle status — maps to MQUALIFIERVERSION.VERSIONSTATUS.
public enum VersionStatus : byte
{
Draft = 0,
Active = 1,
Archived = 2
}
}