Clarify Pro Plus continuity feature contract

This commit is contained in:
rcourtman 2026-04-26 21:08:15 +01:00
parent 8363986c36
commit 430f0d3fa2
2 changed files with 12 additions and 1 deletions

View file

@ -301,7 +301,7 @@ var TierFeatures = map[Tier][]string{
TierFree: freeFeatures,
TierRelay: relayFeatures,
TierPro: proFeatures,
TierProPlus: proFeatures, // Same features as Pro, just higher host limit
TierProPlus: proFeatures, // Legacy compatibility tier; same runtime features as Pro
TierProAnnual: proFeatures, // Legacy: same features as Pro
TierLifetime: proFeatures, // Legacy: same features as Pro
TierCloud: proFeatures, // Cloud includes all Pro features + managed hosting

View file

@ -384,6 +384,17 @@ func TestTierFeatureInheritance(t *testing.T) {
}
}
// Pro+ is a legacy continuity tier, not a bigger self-hosted monitoring tier.
proPlusSet := asSet(TierFeatures[TierProPlus])
if len(proPlusSet) != len(proSet) {
t.Fatalf("Pro+ feature count = %d, want Pro feature count %d", len(proPlusSet), len(proSet))
}
for f := range proSet {
if !proPlusSet[f] {
t.Errorf("Pro+ tier missing Pro feature %q", f)
}
}
// MSP must include all Pro features.
mspSet := asSet(TierFeatures[TierMSP])
for f := range proSet {