Quiet wallet or source problem?
No trades does not prove a healthy source. Quality observation is independent of the selected owner’s activity.
subscribed.sourceQuality is a snapshot of permitted sources at the cut. Later changes arrive as durable source.gap and capability.changed events. Process both; do not wait for an error frame.
Notices bind to sourceScope, network and contractScope. A quiet-wallet subscription still receives relevant notices. Private epochs and recovery state are excluded.
Responding to changes
On gap, mark the affected coverage degraded. Do not create a zero trade or assert the wallet did nothing. On ready, clear the current degradation while preserving the earlier gap. Unseen pending events cannot always be reconstructed from receipts.
hello.health.delivery describes the delivery path. Source quality describes source observation. A running gateway does not prove complete mempool coverage or durable client processing.
Saving quality state
Save scope state, change positions and gap history with the checkpoint. Do not reapply wallet filters to server quality notices. A snapshot belongs to its cut; applying it as an earlier replay checkpoint’s state would misstate history. At the cut reconcile it with replay using each scope’s lastPosition, so an older replay notice cannot overwrite newer quality state.
