OK, bottom line issue resolved. But definitely a strange trip...
Your advice to drop down to the CLI was helpful. That revealed an error:
>sfdx force:source:pull -f
ERROR: Cannot retrieve translation for object:ExternalServiceOutbound.
Even with the -f (force) argument the pull would not complete successfully.
ExternalServiceOutbound was the old name of one of the objects that I had changed declaratively.
So the question then became: why DX was stumbling on this object translation -- especially when I had not even enabled Translations.
Turns out this is a Platform Event Object (not regular Custom Object). So something had become "wonky" in my scratch org after manipulating this Event Object, and DX was simply not happy with things. Even a "forced" pull was not working.
With the help of my friend/co-worker (Mike Gill) we probed the SourceMember table, and found a dangling entry on that (now defunct) ExternalServiceOutbound Event Object. Removing that problematic entry by hand, and then DX pulls started working again.
At this point I'm back in business.
So this experience has left me with these thoughts:
- Platform Events is still relatively new (and has bugs)
- DX tooling will probably uncover issues like this because of operating at the metadata level (low tolerance for org inconsistencies)
- Would have been nice if the IC plug-in had made the sfdx pull error more visible (perhaps in the IC tab?)
Thanks as always Scott. Your commitment to your customer base is unparalleled.
-Dennis