Split 5 oversized files (501-583 LOC each) into focused units all under 500 LOC: - license_policy.go → +_types.go (engine logic / type definitions) - models.go → +_intake.go, +_assessment.go (enums+domains / intake structs / output+DB types) - pdf_export.go → +_markdown.go (PDF export / markdown export) - escalation_store.go → +_dsb.go (main escalation ops / DSB pool ops) - obligations_registry.go → +_grouping.go (registry core / grouping methods) All files remain in package ucca. Zero behavior changes. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
181 lines
5.8 KiB
Go
181 lines
5.8 KiB
Go
package ucca
|
|
|
|
// ============================================================================
|
|
// Constants / Enums
|
|
// ============================================================================
|
|
|
|
// Feasibility represents the overall assessment result
|
|
type Feasibility string
|
|
|
|
const (
|
|
FeasibilityYES Feasibility = "YES"
|
|
FeasibilityCONDITIONAL Feasibility = "CONDITIONAL"
|
|
FeasibilityNO Feasibility = "NO"
|
|
)
|
|
|
|
// RiskLevel represents the overall risk classification
|
|
type RiskLevel string
|
|
|
|
const (
|
|
RiskLevelMINIMAL RiskLevel = "MINIMAL"
|
|
RiskLevelLOW RiskLevel = "LOW"
|
|
RiskLevelMEDIUM RiskLevel = "MEDIUM"
|
|
RiskLevelHIGH RiskLevel = "HIGH"
|
|
RiskLevelUNACCEPTABLE RiskLevel = "UNACCEPTABLE"
|
|
)
|
|
|
|
// Complexity represents implementation complexity
|
|
type Complexity string
|
|
|
|
const (
|
|
ComplexityLOW Complexity = "LOW"
|
|
ComplexityMEDIUM Complexity = "MEDIUM"
|
|
ComplexityHIGH Complexity = "HIGH"
|
|
)
|
|
|
|
// Severity represents rule severity
|
|
type Severity string
|
|
|
|
const (
|
|
SeverityINFO Severity = "INFO"
|
|
SeverityWARN Severity = "WARN"
|
|
SeverityBLOCK Severity = "BLOCK"
|
|
)
|
|
|
|
// Domain represents the business domain
|
|
type Domain string
|
|
|
|
const (
|
|
// Industrie & Produktion
|
|
DomainAutomotive Domain = "automotive"
|
|
DomainMechanicalEngineering Domain = "mechanical_engineering"
|
|
DomainPlantEngineering Domain = "plant_engineering"
|
|
DomainElectricalEngineering Domain = "electrical_engineering"
|
|
DomainAerospace Domain = "aerospace"
|
|
DomainChemicals Domain = "chemicals"
|
|
DomainFoodBeverage Domain = "food_beverage"
|
|
DomainTextiles Domain = "textiles"
|
|
DomainPackaging Domain = "packaging"
|
|
|
|
// Energie & Versorgung
|
|
DomainUtilities Domain = "utilities"
|
|
DomainEnergy Domain = "energy"
|
|
DomainOilGas Domain = "oil_gas"
|
|
|
|
// Land- & Forstwirtschaft
|
|
DomainAgriculture Domain = "agriculture"
|
|
DomainForestry Domain = "forestry"
|
|
DomainFishing Domain = "fishing"
|
|
|
|
// Bau & Immobilien
|
|
DomainConstruction Domain = "construction"
|
|
DomainRealEstate Domain = "real_estate"
|
|
DomainFacilityManagement Domain = "facility_management"
|
|
|
|
// Gesundheit & Soziales
|
|
DomainHealthcare Domain = "healthcare"
|
|
DomainMedicalDevices Domain = "medical_devices"
|
|
DomainPharma Domain = "pharma"
|
|
DomainElderlyCare Domain = "elderly_care"
|
|
DomainSocialServices Domain = "social_services"
|
|
|
|
// Bildung & Forschung
|
|
DomainEducation Domain = "education"
|
|
DomainHigherEducation Domain = "higher_education"
|
|
DomainVocationalTraining Domain = "vocational_training"
|
|
DomainResearch Domain = "research"
|
|
|
|
// Finanzen & Versicherung
|
|
DomainFinance Domain = "finance"
|
|
DomainBanking Domain = "banking"
|
|
DomainInsurance Domain = "insurance"
|
|
DomainInvestment Domain = "investment"
|
|
|
|
// Handel & Logistik
|
|
DomainRetail Domain = "retail"
|
|
DomainEcommerce Domain = "ecommerce"
|
|
DomainWholesale Domain = "wholesale"
|
|
DomainLogistics Domain = "logistics"
|
|
|
|
// IT & Telekommunikation
|
|
DomainITServices Domain = "it_services"
|
|
DomainTelecom Domain = "telecom"
|
|
DomainCybersecurity Domain = "cybersecurity"
|
|
|
|
// Recht & Beratung
|
|
DomainLegal Domain = "legal"
|
|
DomainConsulting Domain = "consulting"
|
|
DomainTaxAdvisory Domain = "tax_advisory"
|
|
|
|
// Oeffentlicher Sektor
|
|
DomainPublic Domain = "public_sector"
|
|
DomainDefense Domain = "defense"
|
|
DomainJustice Domain = "justice"
|
|
|
|
// Marketing & Medien
|
|
DomainMarketing Domain = "marketing"
|
|
DomainMedia Domain = "media"
|
|
DomainEntertainment Domain = "entertainment"
|
|
|
|
// HR & Personal
|
|
DomainHR Domain = "hr"
|
|
DomainRecruiting Domain = "recruiting"
|
|
|
|
// Tourismus & Gastronomie
|
|
DomainHospitality Domain = "hospitality"
|
|
DomainTourism Domain = "tourism"
|
|
|
|
// Sonstige
|
|
DomainNonprofit Domain = "nonprofit"
|
|
DomainSports Domain = "sports"
|
|
DomainGeneral Domain = "general"
|
|
)
|
|
|
|
// ValidDomains contains all valid domain values
|
|
var ValidDomains = map[Domain]bool{
|
|
DomainAutomotive: true, DomainMechanicalEngineering: true, DomainPlantEngineering: true,
|
|
DomainElectricalEngineering: true, DomainAerospace: true, DomainChemicals: true,
|
|
DomainFoodBeverage: true, DomainTextiles: true, DomainPackaging: true,
|
|
DomainUtilities: true, DomainEnergy: true, DomainOilGas: true,
|
|
DomainAgriculture: true, DomainForestry: true, DomainFishing: true,
|
|
DomainConstruction: true, DomainRealEstate: true, DomainFacilityManagement: true,
|
|
DomainHealthcare: true, DomainMedicalDevices: true, DomainPharma: true,
|
|
DomainElderlyCare: true, DomainSocialServices: true,
|
|
DomainEducation: true, DomainHigherEducation: true, DomainVocationalTraining: true, DomainResearch: true,
|
|
DomainFinance: true, DomainBanking: true, DomainInsurance: true, DomainInvestment: true,
|
|
DomainRetail: true, DomainEcommerce: true, DomainWholesale: true, DomainLogistics: true,
|
|
DomainITServices: true, DomainTelecom: true, DomainCybersecurity: true,
|
|
DomainLegal: true, DomainConsulting: true, DomainTaxAdvisory: true,
|
|
DomainPublic: true, DomainDefense: true, DomainJustice: true,
|
|
DomainMarketing: true, DomainMedia: true, DomainEntertainment: true,
|
|
DomainHR: true, DomainRecruiting: true,
|
|
DomainHospitality: true, DomainTourism: true,
|
|
DomainNonprofit: true, DomainSports: true, DomainGeneral: true,
|
|
}
|
|
|
|
// AutomationLevel represents the degree of automation
|
|
type AutomationLevel string
|
|
|
|
const (
|
|
AutomationAssistive AutomationLevel = "assistive"
|
|
AutomationSemiAutomated AutomationLevel = "semi_automated"
|
|
AutomationFullyAutomated AutomationLevel = "fully_automated"
|
|
)
|
|
|
|
// TrainingAllowed represents if training with data is permitted
|
|
type TrainingAllowed string
|
|
|
|
const (
|
|
TrainingYES TrainingAllowed = "YES"
|
|
TrainingCONDITIONAL TrainingAllowed = "CONDITIONAL"
|
|
TrainingNO TrainingAllowed = "NO"
|
|
)
|
|
|
|
// ExportFormat specifies the export format
|
|
type ExportFormat string
|
|
|
|
const (
|
|
ExportFormatJSON ExportFormat = "json"
|
|
ExportFormatMarkdown ExportFormat = "md"
|
|
)
|