package park import "github.com/carlosframework/platform/internal/hostclaim" // HolderRegionView is for read-only generation selection. Never persist it // or use it to validate signed stop/loss evidence; those keep exact tuples. func HolderRegionView(h hostclaim.Holder, home, region string) hostclaim.Holder { if home == "" || !SameRegion(home, region, HomeRegion) { return h } h.Admissions = append([]hostclaim.AdmissionRecord(nil), h.Admissions...) for i := range h.Admissions { a := &h.Admissions[i] if SameRegion(home, a.Region, region) { a.Region = region } if SameRegion(home, a.PredecessorRegion, region) { a.PredecessorRegion = region } } return h } func HomeView(o hostclaim.Observed, home string) hostclaim.Observed { if home == "" || o.Claim == nil || o.Claim.Holder == nil { return o } c := *o.Claim h := HolderRegionView(*c.Holder, home, HomeRegion) c.Holder = &h o.Claim = &c return o }