Just some confusing user experience, it's confusing to need to do
josh-filter --file workflow/dotnet-filter not-a-filter refs/remotes/dotnet/main --update refs/heads/dotnet-subset-tmp
instead of
josh-filter --file workflow/dotnet-filter refs/remotes/dotnet/main --update refs/heads/dotnet-subset-tmp
This seems to stem from the filter being defined as a positional argument that is effectively ignored when a file is present.