pubv resolves the default branch from the local refs/remotes/origin/HEAD, which git fetch never updates, so a clone or default-branch change left it stale and pubv warned that main was not the default. Refresh it from the remote before pubv runs, and assert releases are cut from main explicitly.