package hostops import ( "strings" "testing" "time" "github.com/carlosframework/platform/internal/hostclaim" ) func TestRetirementScopeKeepsOriginalEvidenceAndBothTargets(t *testing.T) { at := time.Date(2026, 10, 7, 0, 0, 0, 0, time.UTC) inc := strings.Repeat("a", 64) refs := map[string]hostclaim.RetirementEvidenceRef{"a": {Box: "a", EvidenceAt: at}, "b": {Box: "b", EvidenceAt: at.Add(time.Minute)}} for _, target := range []string{"instances/x.example/" + inc, "moves/x.example"} { first, err := retirementScope("x.example", inc, target, refs) if err != nil { t.Fatal(err) } retry, err := retirementScope("x.example", inc, target, refs) if err != nil { t.Fatal(err) } if first != retry || !retry.EvidenceAt.Equal(at.Add(time.Minute)) || retry.Location != target { t.Fatalf("scope changed: %+v / %+v", first, retry) } } }