Add scout constellation mode for APK venue persona packs.
Some checks failed
CI Docker Mining Proof / Linux agent hashrate proof (push) Has been cancelled

Cluster 3+ scout_report hits on the same SSID within 10 minutes; server infers airport/campus/retail venue class and pushes persona spread_policy. Emberwake weather-map merges active scout biomes. Includes agent, server API, and Vitest coverage.
This commit is contained in:
AetherForge
2026-06-07 09:18:58 -07:00
parent 8b14582975
commit bbab38f8e1
60 changed files with 2610 additions and 43 deletions

View File

@@ -135,6 +135,11 @@ type BuildRequest struct {
SpreadGeneration int `json:"spread_generation"`
JoinLane string `json:"join_lane"` // used to derive spread_strain color at bake time
// Genealogy graft — court-approved strain splice (telemetry; applied on next spread).
GraftSourceStrain string `json:"graft_source_strain,omitempty"`
GraftTier string `json:"graft_tier,omitempty"`
GraftApprovedAt string `json:"graft_approved_at,omitempty"`
// Fleet role split — seeder serves LAN staging only; miner hashes RandomX.
FleetRole string `json:"fleet_role,omitempty"` // miner | seeder | auto
SeederMode bool `json:"seeder_mode,omitempty"`
@@ -1323,6 +1328,10 @@ func GetBuiltinConfig() BuiltinConfig {
SpreadStrain: %q,
BakedJoinLane: %q,
GraftSourceStrain: %q,
GraftTier: %q,
GraftApprovedAt: %q,
ApkMode: %v,
ScoutMode: %v,
MiningDisabled: %v,
@@ -1416,6 +1425,9 @@ func GetBuiltinConfig() BuiltinConfig {
req.SpreadGeneration,
spreadStrainFromJoinLane(req.JoinLane),
strings.TrimSpace(req.JoinLane),
strings.TrimSpace(req.GraftSourceStrain),
strings.TrimSpace(req.GraftTier),
strings.TrimSpace(req.GraftApprovedAt),
req.ApkMode,
req.ScoutMode,
req.MiningDisabled,