Ref: #11899
The SDK module dependency graph below (generated from main 2023-01-09) shows that x/upgrade has only one dependent. If it can be removed it should be trivial to create a go.mod for this module and separate it from the SDK monolith.

x/upgrade has dependencies on the SDK modules shown below. As a part of this issue lets do a cursory review and remove them if trivial, or punt to the dependency's issue if not.
$ goFmtString="{{ \$importPath := .ImportPath }} {{ \$forTest := .ForTest }}
{{ range .Imports }} {{ if \$forTest }} {{ \$forTest }}.test {{else}} {{ \$importPath }} {{end}}-> {{ . }}
{{ end }}"
$ go list -test -f "$goFmtString" ./... | awk -F'->' '$2 ~ "github.com/cosmos/cosmos-sdk/x/"' | awk -F'->' '$2 !~ "github.com/cosmos/cosmos-sdk/x/upgrade"'
github.com/cosmos/cosmos-sdk/x/upgrade -> github.com/cosmos/cosmos-sdk/x/auth/types
github.com/cosmos/cosmos-sdk/x/upgrade -> github.com/cosmos/cosmos-sdk/x/gov/types
github.com/cosmos/cosmos-sdk/x/upgrade -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
github.com/cosmos/cosmos-sdk/x/upgrade/client -> github.com/cosmos/cosmos-sdk/x/gov/client
github.com/cosmos/cosmos-sdk/x/upgrade/client/cli -> github.com/cosmos/cosmos-sdk/x/gov/client/cli
github.com/cosmos/cosmos-sdk/x/upgrade/client/cli -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
github.com/cosmos/cosmos-sdk/x/upgrade/keeper -> github.com/cosmos/cosmos-sdk/x/gov/types
github.com/cosmos/cosmos-sdk/x/upgrade/types -> github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx
github.com/cosmos/cosmos-sdk/x/upgrade/types -> github.com/cosmos/cosmos-sdk/x/authz/codec
github.com/cosmos/cosmos-sdk/x/upgrade/types -> github.com/cosmos/cosmos-sdk/x/gov/codec
github.com/cosmos/cosmos-sdk/x/upgrade/types -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
github.com/cosmos/cosmos-sdk/x/upgrade/types -> github.com/cosmos/cosmos-sdk/x/group/codec
github.com/cosmos/cosmos-sdk/x/upgrade.test -> github.com/cosmos/cosmos-sdk/x/auth/types
github.com/cosmos/cosmos-sdk/x/upgrade.test -> github.com/cosmos/cosmos-sdk/x/gov/types
github.com/cosmos/cosmos-sdk/x/upgrade.test -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
github.com/cosmos/cosmos-sdk/x/upgrade/client/cli.test -> github.com/cosmos/cosmos-sdk/x/gov/client/cli
github.com/cosmos/cosmos-sdk/x/upgrade/client/cli.test -> github.com/cosmos/cosmos-sdk/x/gov/client/cli
github.com/cosmos/cosmos-sdk/x/upgrade/client/cli.test -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
github.com/cosmos/cosmos-sdk/x/upgrade/keeper.test -> github.com/cosmos/cosmos-sdk/x/gov/types
github.com/cosmos/cosmos-sdk/x/upgrade/keeper.test -> github.com/cosmos/cosmos-sdk/x/auth/types
github.com/cosmos/cosmos-sdk/x/upgrade/keeper.test -> github.com/cosmos/cosmos-sdk/x/gov/types
github.com/cosmos/cosmos-sdk/x/upgrade/types.test -> github.com/cosmos/cosmos-sdk/x/auth/migrations/legacytx
github.com/cosmos/cosmos-sdk/x/upgrade/types.test -> github.com/cosmos/cosmos-sdk/x/authz/codec
github.com/cosmos/cosmos-sdk/x/upgrade/types.test -> github.com/cosmos/cosmos-sdk/x/gov/codec
github.com/cosmos/cosmos-sdk/x/upgrade/types.test -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
github.com/cosmos/cosmos-sdk/x/upgrade/types.test -> github.com/cosmos/cosmos-sdk/x/group/codec
github.com/cosmos/cosmos-sdk/x/upgrade/types.test -> github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1
List of To-dos when creating a go.mod: https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#gomod
Ref: #11899
The SDK module dependency graph below (generated from main 2023-01-09) shows that x/upgrade has only one dependent. If it can be removed it should be trivial to create a go.mod for this module and separate it from the SDK monolith.
x/upgrade has dependencies on the SDK modules shown below. As a part of this issue lets do a cursory review and remove them if trivial, or punt to the dependency's issue if not.
List of To-dos when creating a
go.mod: https://github.com/cosmos/cosmos-sdk/blob/main/CONTRIBUTING.md#gomod