TL;DR - I'm trying to build a migration - despite starting from scratch each time, the migrations from my D7 site are duplicated in the drush migrate-status output.

e.g.

d7_node:contact (in the 'default' group)

upgrade_d7_node_contact (in the 'migrate_drupal_7' group)

and sometimes even recursively:

upgrade_upgrade_d7_node_contact

This is repeated for every migration.

Questions:

Firstly, what's going on with the groups? There are no migrations listed under "default" in the UI, but an entire duplicate set when I use drush migrate-status. What's the default group for in this case? Can I ignore it?

That default group includes a bunch of d6_ migrations. Is that normal when you've generated migrations from a D7 legacy site? None are listed in migrate_drupal_7 or the 'Exporting x as y' output of migrate-upgrade, and obviously many will simply fail with an SQL error because the D6 table structure is different.

As well as resetting the DB before I start (I've verified there are no migrate_plus.migration config entries) and rebuilding the cache (memcached in this case) do I need to be resetting anything else? Does it point to a problem with the source DB?

Specifics:

I'm doing a D7-D8 upgrade, using migrate-upgrade to generate the configuration first so I can then use migrate-manifest to run selected migrations.

As is to be expected, this involves multiple attempts, so I have a clean DB (no content but the correct modules) which I reset to each time: