After further debugging at my end, I've determined that the problem is with my code, not GPSD.
When connecting to port 2947, my code omitted the closing quote around "device":"tcp://localhost"46002"
Evidently the missing quote caused gpsd to send everything.
Now that I jhave inserted the missing quote all works as expected.
Sorry for the false alarm