package hostops import ( "context" "crypto/ed25519" "errors" "os" "github.com/carlosframework/platform/internal/release" ) func CheckCreateFreeze(ctx context.Context, s release.Store, pub ed25519.PublicKey) error { raw, _, err := s.Get(ctx, BackfillKey) if errors.Is(err, os.ErrNotExist) { return nil } if err != nil { return err } var plan BackfillPlan if release.VerifyRootEnvelope(pub, raw, &plan) != nil || plan.V != 1 || plan.ID == "" { return ErrIdentity } if plan.Phase != "done" { return ErrPending } return nil }